我想编写自己的 Yosys 合成脚本。什么是一个好的模板开始?手册和网页包含各种示例,但没有“权威”的 hello world 示例。
问问题
2098 次
2 回答
6
该synth
命令为通用综合任务运行推荐的脚本。请参阅help synth
此元命令调用的命令的完整列表。
您的脚本应该借用synth
或简单地调用synth
以完成通用目的。许多脚本调用synth -run coarse
合成的粗粒度部分,然后继续使用自定义命令序列进行细粒度合成。参见例如synth_xilinx
。
对于自由格式的库的 ASIC 综合,使用以下脚本作为起点:
# read design
read_verilog mydesign.v
# generic synthesis
synth -top mytop
# mapping to mycells.lib
dfflibmap -liberty mycells.lib
abc -liberty mycells.lib
clean
# write synthesized design
write_verilog synth.v
对于进行形式验证的脚本,通常需要一组不太激进的优化。在这种情况下,以下命令序列通常是形式验证流程的“综合”部分的良好起点:
hierarchy [-check -top <top-module>]
proc; opt; memory [-nomap]; opt -fast; check -assert
于 2015-07-15T15:16:28.340 回答
2
不要忘记将 mycells.lib 和 mycells.v 文件放在调用 yosys 的目录中。一个很好的例子是在 yosys 的 GitHub 站点上的“examples/cmos”目录下,他们在其中放置了 cmos_cell.lib 和 cmos_cell.v 文件的示例。
read_verilog counter.v
read_verilog -lib cmos_cells.v
proc;; memory;; techmap;;
dfflibmap -liberty cmos_cells.lib
abc -liberty cmos_cells.lib;;
write_verilog synth.v
(此外,如果您想要更易于阅读的综合输出,您可以修改 .lib 和 .v 文件以将 NAND 和 NOR 门更改为 AND 和 OR 门。)
于 2017-08-16T16:33:48.830 回答