【问题标题】:How to get .bench file from verilog file如何从verilog文件中获取.bench文件
【发布时间】:2022-03-27 02:10:31
【问题描述】:

Test.v 在这里:

module test(input A, B, C, D, E, output Y);
    assign Y = ((A^B)&C)^(D&E);
endmodule

首先,我通过 yosys 获得 .blif 文件(我使用 mycells.lib,因为我只想要 bench 文件中的简单门):

read_verilog test.v
hierarchy -check -top test
proc; opt; memory; opt;
techmap; opt
dfflibmap -liberty ../yosys/manual/PRESENTATION_Intro/mycells.lib 
abc -liberty ../yosys/manual/PRESENTATION_Intro/mycells.lib
write_blif test.blif

我得到以下 test.blif 文件:

# Generated by Yosys 0.9+3746 (git sha1 ec410c9b, gcc 9.3.0-17ubuntu1~20.04 -fPIC -Os)

.model test
.inputs A B C D E
.outputs Y
.names $false
.names $true
1
.names $undef
.subckt NAND A=D B=E Y=$abc$80$new_n7_
.subckt NOR A=A B=B Y=$abc$80$new_n8_
.subckt NAND A=A B=B Y=$abc$80$new_n9_
.subckt NAND A=C B=$abc$80$new_n9_ Y=$abc$80$new_n10_
.subckt NOR A=$abc$80$new_n8_ B=$abc$80$new_n10_ Y=$abc$80$new_n11_
.subckt NAND A=$abc$80$new_n7_ B=$abc$80$new_n11_ Y=$abc$80$new_n12_
.subckt NOR A=$abc$80$new_n7_ B=$abc$80$new_n11_ Y=$abc$80$new_n13_
.subckt NOT A=$abc$80$new_n13_ Y=$abc$80$new_n14_
.subckt NAND A=$abc$80$new_n12_ B=$abc$80$new_n14_ Y=Y
.end

退出“yosys”,输入“yosys-abc”生成.bench文件。但是我得到了下面的模型错误:

abc 01> read_blif test.blif 
Line 10: Cannot find the model for subcircuit NAND.
Reading network from file has failed.
abc 01> 

如何获取 test.bench 文件?谢谢..

【问题讨论】:

    标签: yosys


    【解决方案1】:

    它与您的库(mycells.lib)和生成 blif 文件有关。您的 blif 文件应该有“.gate”而不是“.subckt”。 你可以使用这个命令:

    write_blif -gates test.blif

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-22
      • 2014-01-18
      • 2017-05-17
      • 2021-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多