当前位置:首页 >> 跨学科知识体系 >> 【Verilog HDL】命名的规则研究,越狱第四季全集下载

【Verilog HDL】命名的规则研究,越狱第四季全集下载

cpugpu芯片开发光刻机 跨学科知识体系 3
文件名:【Verilog HDL】命名的规则研究,越狱第四季全集下载 【Verilog HDL】命名的规则研究

Verilog命名规范参考资料

1. 什么可以被命名? 模块的名称模块实例的名称各种数据类型的名称

这些名称我们称之为标识符,标识符的命名规则不再强调,与C语言类似,字母、数字、下划线(_)和美元符号($),开头只能是字母或者下划线。

2. 命名的方式是怎样的? 模块的名称 见名知义符合命名规范 模块实例的名称 通常情况下,可能会多次使用模块的实例,命名的时候通常类似于: ff0,ff1,ff2,ff3,ff4……各种数据类型的名称 没什么好说的,见名知义,符合命名规范即可 3. 标识符的范围

就目前的知识结构来说,我对于范围的理解是这样的

模块与模块实例的名称是全局的,全局的名称都不能重复数据类型的名称是局部的,不同的模块内可以重复,并且对于同一个信号源,不同子模块内建议使用一样的命名一个模块内,所有标识符的名字,都不允许相同 4. 层次命名

先举一个例子,对于如下层次结构

根层 stim1 模块SR_latch的实例变量q,qbar,set,resetn1 模块nand的实例n2 模块nand的实例信号 Q,Qbar,S,R

标识符的层次名为:

sti sti.qsti.qbarsti.setsti.resetsti.m1 sti.m1. Qsti.m1.Qbarsti.m1.Ssti.m1.R sti.n1sti.n2

其实就最后两个看起来比较特别,并且是令人费解的,按理说不应该是

sti.m1.n1sti.m1.n2

不应该是这样才对嘛?为什么没有m1?

先不要慌,我们先来解释一下,为什么要使用层次命名,意义何在?

层次命名是为了在访问设计中的某个标识符的时候,能够唯一地识别这个标识符。对于具备全局属性的标识符——模块和模块实例的名称来说,显然不是使用层次名的原因。对于具备局部属性,可以在不同子模块中重复命名的标识符——变量或者信号的名称来说,在全局设计中,它不具备唯一性,因此访问的时候可能会出现问题,所以引入了层次名的概念,以便于能够在全局设计的任意位置中,能够唯一地访问这些标识符。

所以

sti.n1sti.n2

这两个层次名的原因也就得到了解释,因为n1,n2在全局中是唯一的。

协助本站SEO优化一下,谢谢!
关键词不能为空
同类推荐
«    2025年12月    »
1234567
891011121314
15161718192021
22232425262728
293031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
文章归档
网站收藏
友情链接