[譯]使用iStyle格式化Verilog代碼

對博客平臺有些失望,轉語雀只當留檔用了。git

原文: Verilogでコード整形

安裝

iStyle能夠從GitHub上clone、make自行編譯出可執行文件,也能夠直接下載已編譯好的可執行文件。這裏都給出來。github

Githubcode

https://github.com/thomasruss...orm

可執行文件get

https://github.com/HayasiKei/...博客

格式化選項

如下是一些格式化時經常使用的選項及效果示例。it

待格式化代碼編譯

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 styleform

./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 styleclass

./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有各類各樣的代碼風格,所以有一個強大的格式化程序是頗有用的。

相關文章
相關標籤/搜索