Verilog block diagram output using Graphviz and Yosys

從 Verilog code 轉 block diagram.

給 Windows 使用者的懶人包

Verilog to Diagram 懶人包 for Windows v1.0

如果使用懶人包,這篇下面都可以直接不看。 只要看懶人包解壓縮完裡面的 README.txt.

需要的工具

安裝方式如下:

Windows 使用者

下載 YosysGraphviz,並解壓縮。

有網路的 Ubuntu 使用者

$ sudo apt-get install yosys graphviz

Mac 使用者(沒有懶人包)

對,只有 windows 有,就是排擠 mac,幫QQ

如果沒裝過 Homebrew 的人可以用以下指令安裝:

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

接著安裝:

$ brew install yosys graphviz xdot

準備好 Verilog code

module.v

module mul(out, a, b);
  input [3:0] a, b;
  output [7:0] out;
  assign out = a*b;
endmodule

輸出 Block Diagram

Windows

cd 到有 verilog code 的資料夾。 記得把下面的 sample.v 替換成你的 verilog 檔案名稱。

> yosys -p "read_verilog sample.v; show"
> dot -Tpng show.dot -o block_diagram.png

如果 yosys 和 dot 沒有在 PATH 環境變數裡,請記得把 yosysdot 替換成解壓縮後資料夾裡面檔案的路徑。

路徑可能類似這樣: yosys-win32-mxebin-0.7\yosys, graphviz-2.38\release\bin\dot.

Ubuntu & Mac

cd 到有 verilog code 的資料夾。 記得把下面的 sample.v 替換成你的 verilog 檔案名稱。

$ yosys -p "read_verilog sample.v; show"
$ dot -Tpng ~/.yosys_show.dot -o block_diagram.png

檢視結果

block-diagram

最後親自檢查一遍,沒有錯誤就大功告成了。

References

  1. Yosys Screenshots
  2. Graphviz

Posted:

Comments