【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.q
- sti.qbar
- sti.set
- sti.reset
- sti.m1
- sti.m1. Q
- sti.m1.Qbar
- sti.m1.S
- sti.m1.R
- sti.n1
- sti.n2
其實就最后兩個看起來比較特別,并且是令人費解的,按理說不應該是
- sti.m1.n1
- sti.m1.n2
不應該是這樣才對嘛?為什么沒有m1?
先不要慌,我們先來解釋一下,為什么要使用層次命名,意義何在?
所以
- sti.n1
- sti.n2
這兩個層次名的原因也就得到了解釋,因為n1,n2在全局中是唯一的。
總結
以上是生活随笔為你收集整理的【Verilog HDL】命名的规则研究的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 古镜记有几个案件
- 下一篇: 【Verilog HDL】深入理解部分语