歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > PPT文檔下載  

Verilog數(shù)據(jù)類型與表達(dá)式.ppt

  • 資源ID:11497947       資源大?。?span id="ffzddtp" class="font-tahoma">367KB        全文頁數(shù):43頁
  • 資源格式: PPT        下載積分:9.9積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要9.9積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機(jī)號,方便查詢和重復(fù)下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認(rèn)打開,此種情況可以點擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請知曉。

Verilog數(shù)據(jù)類型與表達(dá)式.ppt

第4講數(shù)據(jù)類型與表達(dá)式,VerilogHDL提供了豐富的數(shù)據(jù)類型,本講把VerilogHDL的數(shù)據(jù)分為常量和變量兩類,并分別介紹其特點和使用方法。表達(dá)式是操作符、操作數(shù)和標(biāo)點符號序列,其目的是用來說明一個計算過程。程序中的大部分語句是由表達(dá)式構(gòu)成的。本講將給出操作符和操作數(shù)的種類及正確用法。,主要內(nèi)容,(一)常量在程序運行過程中,其值不能被改變的量稱為常量。VerilogHDL有整型、實數(shù)型、字符串型3種常量。在整型或?qū)崝?shù)型常量的任意位置可以隨意插入下劃線“_”(但是不能當(dāng)作首符號),這些下劃線對數(shù)本身并沒有意義,但是當(dāng)數(shù)字很長時使用下劃線可以提高可讀性。,一、數(shù)據(jù)類型,VerilogHDL有4種基本的邏輯狀態(tài):0表示邏輯0或“假”;1表示邏輯1或“真”;x表示未知;z表示高阻。注意:x值和z值都是不分大小寫的,如:值0 x1z與值0X1Z相同。VerilogHDL的常量是由以上這4種基本值組成的。,VerilogHDL的整數(shù)有兩種書寫格式:十進(jìn)制數(shù)格式;基數(shù)格式。(1)十進(jìn)制數(shù)格式是一個可以帶正負(fù)號的數(shù)字序列,代表一個有符號數(shù),如下例:32/十進(jìn)制數(shù)32-15/十進(jìn)制數(shù)-15,1整型常量(整數(shù)),(2)基數(shù)格式的數(shù)通常是無符號數(shù),形式如下:sizebasevaluesize定義常量的位數(shù)(長度),這是可選項;base是基數(shù),規(guī)定這個數(shù)據(jù)的進(jìn)制,可以是o或O(表示八進(jìn)制),b或B(表示二進(jìn)制),d或D(表示十進(jìn)制),h或H(表示十六進(jìn)制)之一;value是一個數(shù)字序列,其形式應(yīng)與base定義的形式相符。這個數(shù)字序列中出現(xiàn)的值x和z以及十六進(jìn)制中的af不區(qū)分大小寫,“?”字符可以代替值z。,下面給出一些典型書寫方法,有正確的也有錯誤的。5O37/5位八進(jìn)制數(shù)4D2/4位十進(jìn)制數(shù)4B1x_01/4位二進(jìn)制數(shù)7Hx/7位x(擴(kuò)展的x),即xxxxxxx4hZ/4位z(擴(kuò)展的z),即zzzz2h1?/2位十六進(jìn)制數(shù),與2h1z相同8h2A/在位數(shù)和字符之間,以及基數(shù)和數(shù)值之間允許出現(xiàn)空格4d-4/非法:數(shù)值不能為負(fù)3b001/非法:和基數(shù)b之間不允許出現(xiàn)空格(2+3)b10/非法:位數(shù)不能夠為表達(dá)式,如果沒有定義常量的位數(shù),那么這個數(shù)的長度就是相應(yīng)值的位數(shù),例如:o721/9位八進(jìn)制數(shù)hAF/8位十六進(jìn)制數(shù)如果定義的長度大于數(shù)字序列的實際長度,通常在數(shù)據(jù)序列的高位(左側(cè))補0。但是如果這個數(shù)字序列最左邊一位為x或z,就用x或z在左邊補位,例如:10b10/左邊補0,000000001010bx0 x1/左邊補x,xxxxxxx0 x1如果定義的長度小于數(shù)字序列的實際長度,這個數(shù)字序列最左邊超出的位將被截斷,例如:3b1001_0011/與3b011相等5H0FFF/與5H1F相等,實數(shù)的定義方式有兩種:(1)十進(jìn)制格式,由數(shù)字和小數(shù)點組成(必須有小數(shù)點),例如:2.05.67811572.120.12./非法:小數(shù)點右側(cè)必須有數(shù)字,2實數(shù)型常量(浮點數(shù)),2)指數(shù)格式,由數(shù)字和字符e(E)組成例:23_5.1e2/其值為23510.0,忽略下劃線3.6E2/其值為360.0(e與E相同)5E4/其值為0.0005e的前面必須要有數(shù)字而且后面必須為整數(shù),3字符串型常量,字符串常量是由一對雙引號括起來的字符序列。例:"INTERNALERROR"“REACHED>HERE”/空格出現(xiàn)在/雙引號內(nèi),所以是字符串的組成部分"12345_6789_0"/下劃線出現(xiàn)在/雙引號內(nèi),所以是字符串的組成部分,實際上,字符都會被轉(zhuǎn)換成二進(jìn)制數(shù),而且這種二進(jìn)制數(shù)是按特定規(guī)則編碼的。現(xiàn)在普遍都采用ASCII碼,這種代碼把每個字符用一個字節(jié)(8位)的二進(jìn)制數(shù)表示。所以字符串實際就是若干個8位ASCII碼的序列。例如字符串“INTERNALERROR”共有14個字符,存儲這個字符串的變量就需要8*14位的存儲空間,如下:reg1:8*14Message;/定義變量Message并分配存儲空Message="INTERNALERROR"/給變量Message賦值為字符串常量,參數(shù),在Verilog語言中,用參數(shù)parameter來定義符號常量。參數(shù)常用來定義時延和變量的寬度。其定義格式如下:parameter參數(shù)名1=表達(dá)式1,參數(shù)名2=表達(dá)式2,參數(shù)名3=表達(dá)式3,;例:parametersel=8,code=8ha3;,VerilogHDL有線網(wǎng)net和寄存器兩種類型的變量,每種類型都有其在電路中的實際意義。1線網(wǎng)型變量Net型數(shù)據(jù)相當(dāng)于硬件電路中的各種物理連接,其特點是輸出的值緊跟輸入值的變化而變化。對net型有兩種驅(qū)動方式,一種方式是在結(jié)構(gòu)描述中將其連接到一個門元件或模塊的輸出端;另一種方式是用持續(xù)賦值語句assign對其進(jìn)行賦值。wire是最常用的Net型變量。,(二)變量,wire型變量的定義格式如下:wire數(shù)據(jù)名1,數(shù)據(jù)名2,數(shù)據(jù)名n;例如:wirea,b;/定義了兩個wire型變量a和b,2寄存器型變量,寄存器表示一個抽象的數(shù)據(jù)存儲單元,可以通過賦值語句改變寄存器內(nèi)存儲的值。寄存器只能在always和initial過程語句中賦值,在未被賦值時,寄存器的缺省值為x。VerilogHDL共有5種寄存器類型:Reg(最常用的寄存器型),integer,time,real,realtimeReg定義格式如下:reg數(shù)據(jù)名1,數(shù)據(jù)名2,數(shù)據(jù)名n;例:rega,b;/定義了兩個reg型變量a,breg7:0q;/定義q為8位寬的reg型向量,用reg聲明存儲器,在VerilogHDL中不能直接聲明存儲器,存儲器是通過寄存器數(shù)組聲明的,即用reg聲明。存儲器聲明形式如下:regmsb:lsbmemory1upper1:lower1,memory2upper2:lower2,.;其中msb、lsb定義了存儲器中單個寄存器的位寬;memory1和memory2是存儲器名;upper1、lower1和upper2、lower2分別定義了這兩個存儲器的大?。ㄓ卸嗌賯€寄存器)。下面是兩個存儲器聲明實例:,reg0:3MyMem0:63/MyMem是由64個4位寄存器組成的存儲器regBog1:5/Bog是由5個1位寄存器組成的數(shù)組,注意:可以只用一條賦值語句就完成對一個寄存器的賦值,但是不能只用一條賦值語句就完成對整個存儲器的賦值,應(yīng)當(dāng)對存儲器中的每個寄存器單獨賦值。,對存儲器賦值的正確方法如下:reg0:3Xrom1:4/Xrom是由4個4位寄存器組成的存儲器對存儲器賦值方法一:Xrom1=4hA;/對其中一個寄存器賦值Xrom2=4h8;/對其中一個寄存器賦值Xrom3=4hF;/對其中一個寄存器賦值Xrom4=4h2;/對其中一個寄存器賦值,對存儲器賦值方法二:使用$readmemb系統(tǒng)任務(wù)從指定的文本文件中讀取數(shù)據(jù)并加載到存儲器。例:reg1:4RomB1:7;$readmemb("ram.patt",RomB);RomB是存儲器名,ram.patt是包含數(shù)據(jù)的文本文件,ram.patt必須包含二進(jìn)制值,也可以包含空白和注釋。,1操作數(shù)操作數(shù)就是運算對象,位于操作符左右兩側(cè)。操作數(shù)有如下8種類型:常數(shù)參數(shù)(parameter定義的數(shù))線網(wǎng)(wire定義的數(shù))寄存器(Reg定義的數(shù))位選擇(線網(wǎng)或寄存器的某個位)部分選擇(線網(wǎng)或寄存器的部分連續(xù)位)存儲器單元函數(shù)調(diào)用,二、表達(dá)式,VerilogHDL的操作符有如下9種類型:算術(shù)操作符關(guān)系操作符相等操作符邏輯操作符按位操作符歸約操作符(縮位操作符)移位操作符條件操作符連接和復(fù)制操作符其中,除條件操作符從右向左關(guān)聯(lián)外,其余所有操作符均自左向右關(guān)聯(lián)。,2操作符,(1)算術(shù)運算符(Arithmeticoperators)常用的算術(shù)運算符包括:+加-減*乘/除%求模,注意:整數(shù)除法將截斷所有小數(shù)部分,如7/4結(jié)果為1;模操作符將求出與第一個操作數(shù)符號相同的余數(shù),如7%4結(jié)果為3,而-7%4結(jié)果為-3;如果算術(shù)操作符的操作數(shù)中出現(xiàn)x或z,那么整個算術(shù)操作的運算結(jié)果為x。例如:b10 x1+b01111的結(jié)果為不確定數(shù)bxxxxx。,(2)關(guān)系操作符關(guān)系操作符是對兩個操作數(shù)進(jìn)行比較,如果比較結(jié)果為真則結(jié)果為1,如果比較結(jié)果為假則結(jié)果為0,關(guān)系操作符多用于條件判斷。關(guān)系操作符有如下4種:>(大于)=(不小于)45/結(jié)果為假(0)52=b01110等價于:b01000>=b01110/結(jié)果為假(0),(3)相等操作符與關(guān)系操作符類似,相等操作符也是對兩個操作數(shù)進(jìn)行比較,如果比較結(jié)果為假,則結(jié)果為0,否則結(jié)果為1。相等操作符有如下4種:=(邏輯相等)!=(邏輯不等)=(全等)!=(非全等),其中,“=”和“!=”是把兩個操作數(shù)的邏輯值做比較,由于操作數(shù)中某些位可能是x或z,所以比較結(jié)果也有可能是x。而“=”和“!=”是按位進(jìn)行比較,即便在兩個操作數(shù)中某些位出現(xiàn)了x或z,只要它們出現(xiàn)在相同的位,那么就認(rèn)為二者是相同的,比較結(jié)果為1,否則為0,而不會出現(xiàn)結(jié)果為x的情況。,(4)邏輯操作符邏輯操作符是對操作數(shù)做與、或、非運算,操作結(jié)果為0或1。邏輯操作符有3種:/Crd是邏輯0Dgs=b1;/Dgs是邏輯1那么:CrdB=b0100;那么:A|B/結(jié)果為0110AB=b0100;那么:|B/結(jié)果為1,因為B中有1MyReg/結(jié)果為x,說明操作數(shù)MyReg中包含x,(7)移位操作符移位操作符是把操作數(shù)向左或向右移位若干位。移位操作符有2種:>(右移),(8)條件運算符(conditionaloperators)?:三目運算符,其定義方式如下:信號=條件?表達(dá)式1:表達(dá)式2;當(dāng)條件成立時,信號取表達(dá)式1的值,反之取表達(dá)式2的值。,(9)位拼接運算符(concatenationoperators)該運算符將兩個或多個信號的某些位拼接起來。如:信號1的某幾位,信號2的某幾位,信號n的某幾位,運算符的優(yōu)先級,在書寫程序時建議用括號()來控制運算的優(yōu)先級,(10)復(fù)制操作符復(fù)制操作符是通過指定重復(fù)次數(shù)來多次執(zhí)行連接操作。例:Abus=34b1011;/做3次連接操作,Abus的值是12b1011_1011_1011,Abus=4Dbus7,Dbus;/結(jié)果與Dbus7,Dbus7,Dbus7,Dbus7,Dbus相同31b1/結(jié)果為1113Ack/結(jié)果與Ack,Ack,Ack相同。,習(xí)題,5-5下列數(shù)字的表示是否正確?6d18,Bx0,5b0 x110,da30,10d2,hzF,習(xí)題,5-6定義如下的變量和常量:(1)定義一個名為count的整數(shù);(2)定義一個名為ABUS的8位wire總線;(3)定義一個名為address的16位reg型變量,并將該變量的值賦為十進(jìn)制數(shù)128;(4)定義參數(shù)Delay_time,參數(shù)值為8;(5)定義一個名為DELAY的時間變量;(6)定義一個32位的寄存器MYREG;(7)定義一個容量為128,字長為32位的存儲器MYMEM;,

注意事項

本文(Verilog數(shù)據(jù)類型與表達(dá)式.ppt)為本站會員(tia****nde)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因為網(wǎng)速或其他原因下載失敗請重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!