0

我正在尝试使用 Yosys 来实现连接的综合后操作。即,我想在合成过程完成后手动操作verilog模块之间的连接。

我试着研究了一段时间的代码,我发现我需要创建一个“Pass”结构的子类来实现我需要的确切功能。

我需要找出如何自己操纵连接。所以,我需要知道“设计”结构是否是包含用作工具输入的 Verilog 设计表示的结构。如果这是真的,我在哪里可以找到连接(哪些变量用于表示连接)?

此外,如果我需要自动化连接操作,我需要知道该工具如何为每个连接分配特定名称,以便我能够实现一种自动化算法,该算法可以自动选择要删除的特定连接或添加新连接,基于现有连接的名称。连接的名称是指 Yosys 显示的名称,以防 GraphViz 用于以图形方式呈现设计。

提前致谢。此致

4

1 回答 1

0

我在哪里可以找到连接(哪些变量用于表示连接)?

如果两个模块端口连接到同一个网络,或两个相互连接的网络 ( Module::connections()),则端口已连接。

SigMap 类可以帮助您处理电线相互连接的情况。

我需要知道该工具如何为每个连接分配特定名称

连接没有名称。

电线有名字。它们的名称要么来自 HDL 设计,要么是自动生成的(在大多数情况下通过使用 NEW_ID 宏)。

如果您需要猜测自动生成的电线的名称,那么您肯定做错了。不幸的是,你没有描述你到底想要做什么以及为什么你认为你必须猜测自动生成的电线的名称,所以我不能告诉你你做错了什么。

确保您已阅读并理解 CodingReadme 文件、中的示例examples/cxx-api/以及处理 Yosys API的演示幻灯片(在该幻灯片的末尾)。

于 2017-09-17T13:59:18.210 回答