如何生成原理图¶
在线预览原理图¶
可以在 https://digitaljs.tilk.eu/ 网站上填入 .v
代码,直接生成原理图。
如果你希望在本地生成原理图,可以继续往下看:
使用 yosys
工具生成原理图¶
安装依赖¶
在 Ubuntu 20.04 上测试:
安装 yosys
sudo apt-get install yosys
# 需要先安装 npm
sudo apt-get install npm
# 安装 netlistsvg
npm install -g netlistsvg
综合¶
使用 yosys
对 Verilog 代码文件进行综合。命令行输入 yosys
,进入 yosys
交互式命令行,然后依次输入 read_verilog
读取 .v
、synth
综合和 write_json
输出 .json
的命令
yosys> read_verilog YOUR_MODULE.v
yosys> synth -top YOUR_TOP_MODULE
# 在使用 yosys 仿真之后,需要先生成 json 文件
yosys> write_json YOUR_JSON.json
生成原理图¶
使用 netlistsvg
生成原理图
最后生成的图片是 SVG 格式,可以用火狐浏览器、Edge 浏览器打开。注意 SVG 文件可能很大,会造成浏览器卡顿。
示例¶
在 alu.v
所在文件的目录输入 yosys
,如图所示。
在 yosys 的 shell 中输入 read_verilog alu.v
读取 alu.v 文件
输入 synth
开始综合
导出综合后的文件为 .json
文件
按 Ctrl + D 退出 yosys
终端,输入命令 netlistsvg alu.json -o alu.svg
可以看到生成了 ALU 的原理图
然后可以使用浏览器或者别的工具打开 SVG 图片。