手动操纵verilog连接

时间:2017-09-16 20:22:49

标签: yosys

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

我尝试了一段时间来调查代码,我发现我需要创建" Pass"的子类。实现我需要的确切功能的结构。

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

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

提前致谢。 最诚挚的问候

1 个答案:

答案 0 :(得分:0)

  

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

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

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

  

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

Connections没有名字。

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

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

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