在我使用 Yosys 编译的其中一个设计中,我看到我们可以拥有私有电线(具有私有名称的电线)。例如,$0_s0[127:0]。所以,我对他们有几个问题:
为什么我们在 Yosys 中有私人电线(什么场景)?
它是否总是被转换为唯一的名称。例如,当我转储整个设计(使用 write_verilog)时,它给我的名称是否与我仅转储包含该私有线路的模块时相同?
在我使用 Yosys 编译的其中一个设计中,我看到我们可以拥有私有电线(具有私有名称的电线)。例如,$0_s0[127:0]。所以,我对他们有几个问题:
为什么我们在 Yosys 中有私人电线(什么场景)?
它是否总是被转换为唯一的名称。例如,当我转储整个设计(使用 write_verilog)时,它给我的名称是否与我仅转储包含该私有线路的模块时相同?
为什么我们在 Yosys 中有私人电线(什么场景)?
因为我们需要一种机制来为中间线创建名称。在类似这样的表达式assign x = (a+b)+c;
中,会有一根线保存 的结果(a+b)
,并且该线需要一个名称。
最好做对并为这些名称创建一个命名空间并将它们与用户定义的名称分开。因此,合成流程中的后续传递将始终知道要保留哪些名称以及可以丢弃哪些名称。
它是否总是被转换为唯一的名称。例如,当我转储整个设计(使用 write_verilog)时,它给我的名称是否与我仅转储包含该私有线路的模块时相同?
不。
rename -enumerate
如果您关心不同输出文件之间的这种一致性,请使用类似实际为该线路提供公共名称的命令。