网表中是否可以有两个实例具有相同的名称?

时间:2019-02-27 06:16:44

标签: verilog system-verilog vlsi netlist

网表中是否可以有两个拖鞋/任何其他实例具有相同的名称?

考虑到没有层次结构,比如说我设计了一个1000万个实例,并且存在一个名为foo的翻牌,是否可能另一个翻牌具有相同的名字'foo'?

3 个答案:

答案 0 :(得分:3)

不。在一个范围内,您不能将相同的标识符用于其他目的

答案 1 :(得分:1)

正如戴夫所说,不。但是,如果您有1000万个实例,则无需手动编码,逻辑合成器就可以。而且它不会输出非法网表。

答案 2 :(得分:1)

您的问题唯一有意义的方法是考虑一个大的Verilog文件-显然,这里不能有一个以上的名称为foo的reg / logic。这是Verilog范围界定规则的基础。

如果设计中存在任何迭代或任何形式的局部范围,那么详细过程将构造一种层次结构形式来处理此迭代。如果将生成的网表展平(默认或设计为默认),则每个元素将获得一个抽象的唯一标识符(n1,n2,n3 ...),或者使用某些分层信息(gen_1_foo,gen_2_foo)进行固定。 )。

网表生成之后,在verilog中将特定的翻牌与其句法来源相关联并不是一件容易的事-但由于设计中缺少层次结构和结构,因此使您自己承担了责任。