[译]使用iStyle格式化Verilog代码
对博客平台有些失望,转语雀只当留档用了。
原文: Verilogでコード整形
安装
iStyle可以从GitHub上clone、make自行编译出可执行文件,也可以直接下载已编译好的可执行文件。这里都给出来。
Github
https://github.com/thomasruss...
可执行文件
https://github.com/HayasiKei/...
格式化选项
以下是一些格式化时常用的选项及效果示例。
待格式化代码
reg [3:0] cnt;
always @(posedge clk or posedge rst) begin
if(rst) begin
cnt<=4'h0;
end else begin
cnt<=cnt+4'h1;
end
end
--style
ANSI style
./iStyle --style=ansi test.v
reg [3:0] cnt;
always @(posedge clk or posedge rst)
begin
if(rst)
begin
cnt<=4'h0;
end
else
begin
cnt<=cnt+4'h1;
end
end
Kernighan&Ritchie style
./iStyle --style=kr test.v
reg [3:0] cnt;
always @(posedge clk or posedge rst) begin
if(rst) begin
cnt<=4'h0;
end
else begin
cnt<=cnt+4'h1;
end
end
GNU style
./iStyle --style=gnu test.v
reg [3:0] cnt;
always @(posedge clk or posedge rst)
begin
if(rst)
begin
cnt<=4'h0;
end
else
begin
cnt<=cnt+4'h1;
end
end
-s
./iStyle -s2 test.v
该选项指定缩进时的空格数量,-s2表示每次缩进使用2个空格(如果是-s4则表示每次用4个空格缩进)。
reg [3:0] cnt;
always @(posedge clk or posedge rst) begin
if(rst) begin
cnt<=4'h0;
end else begin
cnt<=cnt+4'h1;
end
end
-p
-p选项指定在运算符两侧插入空格。
reg [3: 0] cnt;
always @(posedge clk or posedge rst) begin
if (rst)
begin
cnt <= 4'h0;
end else
begin
cnt <= cnt + 4'h1;
end
end
-P
-P选项指定在运算符和括号周围插入空格。
reg [ 3: 0 ] cnt;
always @( posedge clk or posedge rst ) begin
if ( rst )
begin
cnt <= 4'h0;
end else
begin
cnt <= cnt + 4'h1;
end
end
小结
虽然文中没有写,module声明的缩进感觉并不是很好。verilog有各种各样的代码风格,因此有一个强大的格式化程序是很有用的。
来源:oschina
链接:https://my.oschina.net/u/2963604/blog/4321761