Sto provando a fare rientrare la verilog mode tutto usando 2 spazi eccetto decl e sempre. Questo è quello che ho aggiunto ai miei .emacs:Modifica rientranza della modalità verilog
;; `define are not indented
(setq verilog-indent-level-directive 0)
;; always, initial etc not indented
(setq verilog-indent-level-module 0)
;; logic declarations are not indented
(setq verilog-indent-level-declaration 0)
;;2 space indent
(setq verilog-indent-level 2)
;; no indent on list and no indent when on multiple lines
(setq verilog-indent-lists nil)
(setq verilog-cexp-indent 0)
Questi è il risultato su un modulo di test
`ifndef MY_MODULE_SV
`define MY_MODULE_SV
module my_module #(
parameter MyPar1 = 16,
parameter MyPar2 = 32
) (
input logic clk,
input logic reset,
//comment indented weirdly
output logic [3:0] result
);
logic [3:0] count;
always @(posedge clk) begin
//comment indented ok
if (reset) begin
count <= 0;
result <= 0;
end
else begin
result <= count;
count <= count+1;
end
end
endmodule; // my_module
`endif
La parte che non è corretto è la lista di porta e il parametro. Anche la dichiarazione di count
viene allineata alle dichiarazioni di porta, il che è strano. Vorrei che questo per assomigliare:
module my_module #(
parameter MyPar1 = 16,
parameter MyPar2 = 32
) (
input logic clk,
input logic reset,
//result signal
output logic [3:0] result
);
Sto usando emacs 24.3.1 io non sono sicuro di come tweak questo utilizzando solo le variabili previste dalla modalità di Verilog, qualsiasi suggerimento?
cosa c'è nel vostro .emacs ? – igon