问题标签 [netlist]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1246 浏览

vhdl - 如何将多个 Xilinx NGC 网表合并到一个新网表

我正在使用 XST(Xilinx ISE 14.7 套件中的综合工具)将 VHDL 源文件编译为网表(*.ngc 文件)。

我的代码使用多个 Xilinx IP 内核(如 ChipScope ILA)进行调试,它们也被预先合成为 ngc 文件。我只想向我们的客户发送一个 ngc 文件。这是概念设计的证明,所以他应该看到一个简单的界面:
- 我们的 IPCore + VHDL 组件
- 他的 ChipScope ICON IP 核/网表,为我们的 IP 核提供了 5 个开放端口

如何将这些 ngc 文件信息合并为一个 ngc 文件?

ISE 设计流程使用“翻译”将所有网表合并在一起并发出一个ngd文件,该文件是“映射”步骤的输入。

0 投票
1 回答
1047 浏览

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

我有一个带有层次结构的节奏示意图。我能够在命令行以批处理模式运行 si 网表以生成分层的 verilog 网表。我想知道是否有人知道是否有可能产生一个平面的verilog网表。我尝试了各种选择,但似乎无法让它发挥作用。谷歌上的搜索似乎对这是否可能给出了不同的意见。

我用于分层运行的 si.env 文件如下:

老实说,我不知道其中许多选项的作用。我可能已经定义了我不需要的东西。我真的只是想把它列入网表......不需要任何模拟设置。

谷歌搜索显示我需要在某些地方设置 fnl* 而不是 hnl*,但对于让这个平面网表正常工作的方法并没有真正具体说明。

想知道是否有人有这方面的经验并且能够使平面verilog网表正常工作。

谢谢!

0 投票
2 回答
1054 浏览

vhdl - 在 vhdl case 语句中,如何处理 4 值逻辑?

我是 vhdl 的新手,我正在为一个项目工作。

但最近有些事情阻止了我:

RTL 模拟:

起初,我删除了最后一行,但是modelsim告诉我81个中只有4个case语句。我的上帝,我研究了1位包含9个值。也许最后一行是用来纠正错误的?也许当 prstate 是“0x”或“xx”时,这条线把它带到 00?好吧,也许。

通过synopsys DC综合后,有一个警告(关于案例):无法到达案例的默认分支。哈!我不知道为什么,我不在乎。

仿真后(使用相同的测试台和网表):

在我设置并释放复位输入后,modelsim 显示另一个模块给 wd_link 一个“x”,这导致了一个大错误=> prstate<="xx" and xx,and xx,end to xx...even wd_link 恢复到 0 或 1。

我猜:DC 不同意 4 值逻辑(01xz)或 9 值逻辑。所以最后一行被杀死了。但我能做什么?

请帮助我,你是我的上帝。谢谢!真挚地。

0 投票
1 回答
552 浏览

python - Cocotb 在门级模拟中使用泛型/参数

我已经成功地为我的设计设置了一个 Cocotb 验证环境,我很高兴它适用于 RTL(在我的例子中是 VHDL)的工作方式。

我的设计使用泛型,我在 python 代码的几个位置(主要在 run_test 和模型中)检索这些泛型的值,遵循模板:
my_generic = dut.GEN_NAME.value

不幸的是,这在门级仿真的情况下不起作用,因为我的综合设计不再具有泛型,因此 dut.GEN_NAME.value 不存在。

我是否应该朝着从模拟流程(Cocotb 的 makefile)中获取参数/泛型值的方向前进?

如果是这样,最干净的方法是什么?使用环境变量?

(顺便说一句,我使用 Questa,即使我不希望这方面依赖于模拟器......)

感谢您的帮助和建议...

0 投票
2 回答
70 浏览

verilog - 从在verilog中定义为结构网表的电路中导出部分电路

我有一个设计的门级结构网表,在 verilog 中有 40,000 个门和 5000 个触发器。它是一个扁平的网表,内部没有子电路。我想通过删除一些触发器和逻辑门从这个大网表中提取另一个网表。导出的网表也应该在 verilog 中。我想知道现有工具是否可以做到这一点。

0 投票
1 回答
477 浏览

perl - 使用perl逐行从网表中提取数据

我的问题是关于从 Perl 文件中提取数据。附件中有标准格式的网表。运行程序后,我将元素放入一个数组中@name_gate,但是当我尝试print @name_gate[0]而不是第一个元素时,我得到了整个第一列,类似地@name_gate[1],第二列。

所以问题是我又得到了一个字符串@name_gate[0],我想在其中逐个访问元素。

上面的代码打印整列 1 2 3 4 到 14。如何提取单个元素,如 1 或 2 或 14 等。这是当前输出

0 投票
1 回答
561 浏览

limit - 活动网表数量超出限制

最近,当我尝试综合我的设计时,我遇到了来自 Vivado 的相同错误:

[常见 17-70] 应用异常:活动网表数量超过限制 (255)

有人知道这个“限制”是什么意思吗?是软件的限制,还是指FPGA的容量?有什么方法可以避免它,还是我必须更改所有设计才能减少网表?

0 投票
1 回答
542 浏览

fpga - 如何在 Vivado 中合并综合结果

我有一个带有嵌入式 Block Design 的 Vivado 设计。它创建大约 150 次上下文运行(合成)和最终合成运行。不幸的是,最终的综合运行只包含一个顶级包装器和黑盒。

我想将最终的顶级 DCP 和所有脱离上下文运行的 DCP 合并到一个大 DCP 中。然后可以将其用作在我的 CI 环境中运行的独立实现的输入。

如何将所有这些 DCP 合并为一个大 DCP?


DCP = 设计检查点

0 投票
1 回答
130 浏览

embedded - 如何为网表综合定义自定义单元?

我目前正在研究一种 CPU 设计,我想在其中比较不同的微架构的功率、速度和面积。这些微架构的区别仅在于不同组件的实例化,例如不同实现的 ALU 或寄存器文件。其中一些组件相当复杂,我无法以 HDL 代码的形式使用。所以想法是将它们实例化为 HDL 代码中的黑盒,并让综合工具(Synopsys 设计编译器)将它们映射到自定义单元以获取网表。

现在,问题是:我如何自定义细胞以用于合成?当然,我有一个可用的标准单元库,所以我只需要将那几个额外的单元“添加”到链接库中。我找不到在 DC shell 中定义它们的方法。所以我想我必须编写一个额外的自由文件来加载和链接。

有没有办法定义一个自由文件,我不必担心头文件,例如过程参数,只需要定义所需的单元格并将它们“添加”到现有库中,以便它自动假定所有标准单元库中指定的过程参数?

我认为在没有计划流片的情况下,出于模拟目的而这样做并不少见。我只是在网上或用户指南中找不到任何有用的信息。如果有人能指出我正确的方向,我会很高兴。

0 投票
1 回答
172 浏览

terminal - 使用 Xyce 通过网表进行香料模拟没有输出

我正在尝试将 Xyce 用于一个项目并且遇到了这个问题。我正在将第 39 页 Xyce 用户指南中的 DC 扫描网表示例复制到记事本,并将其保存为 test2c.cir。然后我将它复制到 Xyce 目录并运行 Xyce 终端并运行模拟命令,但无法生成任何输出。我是否缺少能够运行二极管限幅器电路直流扫描文件的步骤?我是否将 cir 文件保存在正确的目录中?似乎电路“正确加载”并且语法很好,但我没有得到我期望的数字输出。我相信问题可能是我的电脑无法打开 prn 文件,在这种情况下,我该如何解决?

错误信息

这是目录...

目录

更新:

我更改了分析命令以将文件保存为不同的格式(csv、raw、dat),但它仍然给我同样的错误。中止,因为它无法打开 test.cir.___。问题可能与程序目录所在的位置有关吗?