首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >两个实例在网表中可能有相同名称吗?

问两个实例在网表中可能有相同名称吗?
EN

Stack Overflow用户
提问于 2019-02-27 14:16:44
回答 3查看 284关注 0票数 0

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

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

EN

回答 3

Stack Overflow用户

发布于 2019-02-27 16:11:25

不是的。在单个作用域中,您不能将同一标识符重用于其他目的。

票数 3
EN

Stack Overflow用户

发布于 2019-02-27 16:16:58

就像戴夫说的,不是。但如果你有10M个实例,你就不会手动编写代码,你的逻辑合成器就会有。而且它不会输出非法的网表。

票数 1
EN

Stack Overflow用户

发布于 2019-02-27 17:22:38

你的问题唯一有意义的方法是考虑一个大的verilog文件-显然,这里不能有多个名为foo的reg/logic。这是verilog作用域规则的基础。

如果您的设计中有任何迭代或任何形式的局部范围,精化过程将构建一个继承性的形式来处理此迭代。如果你展平得到的网表(默认或设计),那么每个元素将获得一个抽象的唯一标识符(n1,n2,n3...),或者使用一些层级信息(gen_1_foo,gen_2_foo...)进行前/后修复。

在网表生成之后,在verilog中将一个特定的flop与它的语法源联系起来可能不是一件微不足道的事情--但这是由于设计中缺乏层级和结构而导致的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54899186

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档