微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何从 verilog 文件中获取 .bench 文件

如何解决如何从 verilog 文件中获取 .bench 文件

Test.v 在这里

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

首先我通过 yosys 得到 .bif 文件(我使用 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.bif 文件

# 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 文件?谢谢..

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。