如何编辑和测试verilog网表

Posted

技术标签:

【中文标题】如何编辑和测试verilog网表【英文标题】:How to edit and test a verilog netlist 【发布时间】:2020-03-25 11:45:32 【问题描述】:

我使用设计编译器为简单的串行加法器生成网表。

我想在设计中添加水印,这需要我在设计中添加一些门和触发器。

如何在编辑后测试代码(我不确定如何编译门级代码,通常使用 ModelSim)以确保其工作,以及如何编译新的网表。

P.S 我是菜鸟,抱歉,任何指向基本教程和内容的链接都可以提供帮助,谢谢 :)

【问题讨论】:

输出是verilog。您可以简单地在 Modelsim 中对其进行编译,就像您使用行为风格的 Verilog RTL 进行编译一样,您已合成该 RTL 以创建此网表。 @ArunD'souza 你也需要组件的库模型。 @oldfart 我使用的是 0.35 um AMS 技术库,您有什么建议如何使用它进行模拟吗?如果我尝试使用 modelsim 运行正常的测试平台,我会收到一堆“模块 '___' 未定义”错误。 您需要 AMS 的仿真库。 【参考方案1】:

您可以像任何其他 verilog 设计文件一样编译和仿真网表。您需要将您合成的技术的库文件包含在编译文件列表中

【讨论】:

【参考方案2】:

尽管 RTL .v 和门级网表 .v 之间的“编码风格”确实不同,但它们之间没有本质区别。分层 HDL 设计是具有嵌套模块的设计。综合后,从 RTL 中的& 推断出的 AND 门成为新创建的子模块。如果没有定义此类门单元的 .v,您的仿真工具将不知道 AND 门具有什么功能,并且会报告“未定义模块 'AND'”错误。此类文件称为标准库仿真模型,主要位于库路径的frontend 部分内。尝试搜索“*.v”或“*.src”,并将它们包含在您的文件列表中。

【讨论】:

以上是关于如何编辑和测试verilog网表的主要内容,如果未能解决你的问题,请参考以下文章

如何能将自己的verilog模块封装成像altera的IP核一样的呢?

cadence netlister si 可以生成扁平的verilog 网表吗?

如何将自己写的verilog模块封装成IP核

Formality形式验证教程

verilog hdl中啥是综合?啥是模拟?

明德扬至简设计法--verilog综合器和仿真器