Yosys synthesys - 这是最好的吗?

Posted

技术标签:

【中文标题】Yosys synthesys - 这是最好的吗?【英文标题】:Yosys synthesys - is this opimum? 【发布时间】:2021-04-13 13:29:44 【问题描述】:

我正在使用 yosys 来合成简单的电路,并展示结果如何随单元库而变化。 但是,看起来结果没有得到很好的优化。 我正在使用从以下位置下载的库 vsclib013.lib:http://www.vlsitechnology.org/synopsys/vsclib013.lib

例如我合成了一个由 4 个全加器组成的加法器。由于我不使用 Carry_in 和 Carry_out,我确实希望为 LSB 加法器合成一个半加法器(与两个输入进行异或)。 综合结果如下。

Number of cells                 12
 cgi2v0x05                       4
 iv1v0x05                        4
 xor3v1x05                       4

它使用 4 个具有三个输入的 XOR 单元。 这从电路图上也很清楚:graph obtained using the yosys command 'show' 该电路简单地由四个相同的全加器组成,对于Carry_in等于'0'和Carry_out不连接没有优化。

我用来合成的脚本是:

ghdl TOP_ENTITY
hierarchy -check -top TOP_ENTITY
proc; opt; memory; opt; fsm; opt
techmap; opt
read_liberty -lib vsclib013.lib
dfflibmap -liberty vsclib013.lib
abc -liberty vsclib013.lib -D 1000 -constr constraint_file_vsclib013.txt
splitnets -ports; opt
clean
write_verilog TOP_ENTITY.v
flatten
show -stretch -format pdf -lib TOP_ENTITY.v 

感谢您对改进合成器的任何建议。

【问题讨论】:

我也试过opt -fine -full 但没有运气 每个 Yosys 文档 -full-fine 的别名,所以这似乎是多余的。也许您可以尝试使用其他选项来选择,例如-share_all-purge,第一次尝试合并到由相同信号驱动的单元格,此选项被转发到opt_merge-purge 选项清除命名的剩余或未连接的网络,此选项再次隐式传递给 opt_clean。此外,您可以添加opt_demorgan 以减少门数。 【参考方案1】:

谢谢你的回答。

经过一些尝试和错误,我通过简单地使用 flatten 获得了良好的结果。 我还在 opt 命令中添加了 -full,以便(希望)采取良好措施。 现在,我的工作脚本是这样的:

ghdl TOP_ENTITY
hierarchy -check -top TOP_ENTITY
flatten
proc; opt -full; memory; opt -full; fsm; opt -full 
techmap; opt -full
read_liberty -lib vsclib013.lib
dfflibmap -liberty vsclib013.lib
abc -liberty vsclib013.lib -D 1000 -constr constraint_file_vsclib013.txt
splitnets -ports; opt -full
clean -purge
write_verilog TOP_ENTITY.v
flatten
show -stretch -format pdf -lib TOP_ENTITY.v 

我还在 clean 命令中添加了 -purge 选项以获得更好的打印原理图。

【讨论】:

以上是关于Yosys synthesys - 这是最好的吗?的主要内容,如果未能解决你的问题,请参考以下文章

YOSYS 模拟具有特定输入的组合电路

分段错误:使用 yosys 编译时出现 11

使用带有 CircuitTikZ 的 Latex 从 yosys 中绘制原理图并将其转换为 PDF?

fpga后仿真怎么做

MySQL - 链接多个表的建议 - 这是对的吗?

论文阅读:NeRF Representing Scenes as Neural Radiance Fields for View Synthesis