关于 Yosys 中私有名称电线的一些问题
Some questions about wires with private name in Yosys
在我使用 Yosys 编译的其中一个设计中,我看到我们可以使用私有线路(具有私有名称的线路)。例如,$0_s0[127:0]。所以,我对他们的问题很少:
为什么我们在Yosys中有专线(什么场景)?
它是否总是转换为唯一名称。例如,当我转储整个设计时(使用 write_verilog),它给我的名称是否与我仅转储包含该专用线路的模块时的名称相同?
why do we have private wires in Yosys (what scenarios)?
因为我们需要一种机制来为中间连线创建名称。在像 assign x = (a+b)+c;
这样的表达式中,将有一条线保存 (a+b)
的结果,并且该线需要一个名称。
最好做对,为这些名称创建一个命名空间,并将它们与用户定义的名称分开。因此,合成流程中的后续通道将始终知道要保留哪些名称以及可以丢弃哪些名称。
does it always get converted to a unique name. For example, when I dump the whole design (using write_verilog), does it give me identical name as when I dump just the module that contains that private wire?
没有
如果您关心不同输出文件之间的这种一致性,请使用 rename -enumerate
之类的命令实际为这些连线命名 public。
在我使用 Yosys 编译的其中一个设计中,我看到我们可以使用私有线路(具有私有名称的线路)。例如,$0_s0[127:0]。所以,我对他们的问题很少:
为什么我们在Yosys中有专线(什么场景)?
它是否总是转换为唯一名称。例如,当我转储整个设计时(使用 write_verilog),它给我的名称是否与我仅转储包含该专用线路的模块时的名称相同?
why do we have private wires in Yosys (what scenarios)?
因为我们需要一种机制来为中间连线创建名称。在像 assign x = (a+b)+c;
这样的表达式中,将有一条线保存 (a+b)
的结果,并且该线需要一个名称。
最好做对,为这些名称创建一个命名空间,并将它们与用户定义的名称分开。因此,合成流程中的后续通道将始终知道要保留哪些名称以及可以丢弃哪些名称。
does it always get converted to a unique name. For example, when I dump the whole design (using write_verilog), does it give me identical name as when I dump just the module that contains that private wire?
没有
如果您关心不同输出文件之间的这种一致性,请使用 rename -enumerate
之类的命令实际为这些连线命名 public。