【发布时间】:2015-06-22 17:29:35
【问题描述】:
我试图让 verilog 模式使用 2 个空格缩进除 decls 之外的所有内容,并且总是。这是我添加到我的 .emacs 中的内容:
;; `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)
这是一个测试模块的结果
`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
不正确的部分是端口和参数列表。
count 的声明也与端口声明对齐,这很奇怪。
我希望它看起来像:
module my_module #(
parameter MyPar1 = 16,
parameter MyPar2 = 32
) (
input logic clk,
input logic reset,
//result signal
output logic [3:0] result
);
我使用的是 emacs 24.3.1 我不确定如何仅使用 verilog 模式提供的变量来调整它,有什么建议吗?
【问题讨论】:
标签: emacs verilog indentation system-verilog emacs24