0

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

考虑到没有层次结构,假设我有一个 10M 实例的设计并且存在一个名为 foo 的翻牌,是否有可能另一个翻牌具有相同的名称“foo”?

4

3 回答 3

3

不可以。在单个范围内,您不能将相同的标识符重新用于其他目的,

于 2019-02-27T08:11:25.303 回答
1

你的问题有意义的唯一方法是考虑一个大的verilog文件 - 显然,这里不能有超过一个名称的reg/logic foo。这是verilog 范围规则的基础。

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

在网表生成之后,将特定的触发器与它在 verilog 中的句法源相关联可能并非易事 - 但由于设计中缺乏层次结构和结构,您自己带来了这一点。

于 2019-02-27T09:22:38.120 回答
1

正如戴夫所说,不。但是如果你有 10M 的实例,你就不会手动编码,你的逻辑合成器就会有。并且不会输出非法网表。

于 2019-02-27T08:16:57.943 回答