使用 Yosys 将 verilog 转换为 aiger

问题描述

我有几个 verilog 文件,我想使用 Yosys 将它们转换为 aiger 格式,我在 yosys 中使用以下命令:

read_verilog gclk_reg.v nld_and.v my_ff_W_8_.v gated_netlist.v

synth_xilinx -flatten -top gclk_reg

aigmap

write_aiger -ascii my.aag

当我使用 aigmap 命令时,它显示如下单元格:

VCC LUT2 GND LDCE

无法替换。

不出所料,write_aiger 命令失败,表明:

错误不支持的单元格类型:VCC (VCC)”。

那么如何将这些单元格映射到 write_aiger 的允许单元格?(我也使用了 abc -g AND 命令,但它仍然失败)

非常感谢!!

解决方法

使用 synth 而不是 synth_xilinx。这将映射到 aigmap 理解的一组 Yosys 内部门,而不是一组 Xilinx 原语。