【Verilog HDL】第三章 reg和net及其一组类型的区别——充分运用实验思维
0 確定問題的討論層級與范圍
本文討論的層次是
- 數(shù)字邏輯與Verilog HDL語言
討論的范圍是:
- 數(shù)據(jù)存儲(chǔ)而不是討論邏輯
1 線網(wǎng)類型
1.1 wire類型
這個(gè)暫時(shí)沒什么好說的,一般常用的就是wire類型,需要注意的是:
- 默認(rèn)是標(biāo)量,相當(dāng)于一個(gè)二進(jìn)制位
- 不能隨意存儲(chǔ)數(shù)據(jù),只能流通數(shù)據(jù)
- 可以使用向量和數(shù)組修飾進(jìn)行拓展
2 寄存器類型
2.1 reg類型
2.1.1 關(guān)于無符號(hào)數(shù)的問題
先接受一個(gè)事實(shí),聲明為reg類型的寄存器為無符號(hào)數(shù),integer和real類型為有符號(hào)數(shù),請先接受這個(gè)事實(shí),不要懷疑它,接下來我將通過實(shí)驗(yàn)為你驗(yàn)證它的確如此!
reg a = -4‘d9; reg b = -4'sd9;輸出均為 7 也就是負(fù)數(shù)的補(bǔ)碼對應(yīng)的十進(jìn)制數(shù)字
2.1.2 關(guān)于越界的問題——數(shù)據(jù)存儲(chǔ)的通用法則
這與邏輯運(yùn)算不同,不是非0即為1,遵循的規(guī)則是:
越界丟失
事實(shí)上,這條規(guī)則對于所有的需要使用數(shù)值的數(shù)據(jù)類型都適用,對于reg和net一類類型都一樣的
簡而言之,不能吃太飽,要是撐破了,多出來的部分就會(huì)歸零。
例如:
reg a = 112; $display ("a = %b\n",a);輸出為:
a = 0;因?yàn)閍是一位,112的二進(jìn)制為111 0000,故前幾位丟失,只保留最后一位0
因此,如果a = 113那么將會(huì)被儲(chǔ)存為1
得到輸出結(jié)果:
擴(kuò)展:多角度分析數(shù)值越界問題
2.1.3 關(guān)于補(bǔ)碼的問題
計(jì)算機(jī)只要知道這是個(gè)補(bǔ)碼,肯定會(huì)正確翻譯出來一個(gè)負(fù)數(shù),但是,得用正確的數(shù)據(jù)類型才行,否則依然不能正確翻譯出來,比如對于負(fù)數(shù),不能使用reg類型, 只能用integer或者real這種支持有符號(hào)數(shù)的數(shù)據(jù)類型!
2.2 integer類型
用來表示整數(shù),可以有正負(fù)號(hào)
最小32位,輕易不用管它,不用指定位寬,按照默認(rèn)就好,說了最小32位就是32位,指定31位也會(huì)變成32位,這種規(guī)則不要挑戰(zhàn),沒有用的。
2.3 real類型
用來表示實(shí)數(shù),即可以表述帶小數(shù)點(diǎn)的數(shù),可以有正負(fù)號(hào)
2.4 time類型
最小64位,與具體實(shí)現(xiàn)有關(guān),用來表示時(shí)間,通常與$time配合使用
time sim_time = $time; // 存儲(chǔ)當(dāng)前仿真時(shí)間2.5 小結(jié)
| reg | 一般通用 | 默認(rèn)為1 | 無符號(hào)數(shù) | %b %B |
| integer | 整數(shù) | 最小32位 | 有符號(hào)數(shù) | %d %D |
| real | 實(shí)數(shù) | 最小32位 | 有符號(hào)數(shù) | %f %F |
| time | 仿真時(shí)間 | 最小64位 | 表示仿真時(shí)間 | %t %T |
注意:
- 以上4個(gè)類型中,只有reg類型能加向量修飾,以便于進(jìn)行位寬的拓展integer和real類型與主機(jī)字的位數(shù)一致,與具體實(shí)現(xiàn)有關(guān)
- time位數(shù)與具體實(shí)現(xiàn)有關(guān)
- 字符串的顯示看具體需求,無強(qiáng)制要求,上述只是列舉了針對性對應(yīng)的字符串
補(bǔ)充概念:計(jì)算機(jī)的字的位數(shù)
計(jì)算機(jī)位,字,字節(jié),字長詳解
總結(jié)
以上是生活随笔為你收集整理的【Verilog HDL】第三章 reg和net及其一组类型的区别——充分运用实验思维的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【数字逻辑】第四章 组合逻辑电路:端口
- 下一篇: 【数字逻辑 Verilog】全面剖析数