數(shù)字系統(tǒng)設(shè)計(jì)與verilogHDL第6章.ppt_第1頁(yè)
數(shù)字系統(tǒng)設(shè)計(jì)與verilogHDL第6章.ppt_第2頁(yè)
數(shù)字系統(tǒng)設(shè)計(jì)與verilogHDL第6章.ppt_第3頁(yè)
數(shù)字系統(tǒng)設(shè)計(jì)與verilogHDL第6章.ppt_第4頁(yè)
數(shù)字系統(tǒng)設(shè)計(jì)與verilogHDL第6章.ppt_第5頁(yè)
已閱讀5頁(yè),還剩27頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第6章Verilog HDL語(yǔ)法和要素、主要內(nèi)容、6.1 Verilog語(yǔ)言要素6.2常數(shù)6.3數(shù)據(jù)類型6.4殘奧儀表6.5矢量6.6運(yùn)算符、6.1 Verilog語(yǔ)言要素、Verilog程序由符號(hào)流構(gòu)成。 符號(hào)包含“空白空間”(White space )“注釋”(Comments )“操作符”(Operators )“數(shù)字”(Numbers )“字符串”(Strings )“標(biāo)識(shí)符”(Identifiers )關(guān)鍵字() 合并時(shí)將忽略空白字符。 注釋(Comment )以單行注釋: /開(kāi)頭,多行注釋不能繼續(xù)。 多行注釋以“/*”開(kāi)頭,以“*/”結(jié)尾,以“標(biāo)識(shí)符”結(jié)尾,并且標(biāo)識(shí)符區(qū)分大小寫(xiě)。E

2、xamples:計(jì)數(shù)計(jì)數(shù)/計(jì)數(shù)與計(jì)數(shù)不同,以_A1_d2 /下劃線開(kāi)頭的R56_68 FIVE、關(guān)鍵字(Keywords )、verive關(guān)鍵字都是小寫(xiě)字母。整數(shù)實(shí)數(shù)字符串、6.2常量、程序執(zhí)行中值不能變更的量稱為常量(constants ),Verilog中的常量主要有以下3種:/- size是對(duì)應(yīng)的二進(jìn)制的寬度,base是二進(jìn)制,value是基于二進(jìn)制的數(shù)值序列二進(jìn)制有四個(gè)表示形式:二進(jìn)制(b或b )十進(jìn)制(d或d或默認(rèn))十六進(jìn)制(h或h )八進(jìn)制(o或o )、整數(shù)(integer )和examples :8 b 110http:/www.B /小毛毛/4hZ /4位z,即

3、zzzz 8h2A /*可以在位寬之間以及進(jìn)制數(shù)字之間加空格,但不能在進(jìn)制數(shù)字之間加空格。 例如,8h2A、8h2A等格式是非法的寫(xiě)法*/、整數(shù)(internal )十進(jìn)制表示。 例如,2.0.1/以上2例是合法的實(shí)數(shù)表現(xiàn)形式2. /不正當(dāng):小數(shù)點(diǎn)的兩側(cè)需要數(shù)字科學(xué)修正數(shù)法。 例如: 43_5.1e2 /其值為43510.0 9.6E2 /960.0 (e與e相同)5E-4 /0.0005,實(shí)數(shù)(Real )、字符串(stringgle )字符串不能分為多行寫(xiě)入。 例如,INTERNAL ERROR字符串的作用主要是在模擬時(shí)顯示相關(guān)信息,并指定顯示的格式。 6.3數(shù)據(jù)類型和Verilog有四種

4、基本邏輯狀態(tài): 0 :低電平、邏輯0或邏輯非1 :高電平、邏輯1或真x或x :不確定或未知的邏輯狀態(tài)z或z :高阻抗?fàn)顟B(tài)Verilog的所有數(shù)據(jù)類型在上述4種邏輯狀態(tài)下取值。 其中x和z不區(qū)分大小寫(xiě)。 也就是說(shuō),值0 x1z和值,“數(shù)據(jù)類型”(Data Type )用于表示數(shù)字電路中的物理連接、數(shù)據(jù)存儲(chǔ)和傳輸單元等的物理量。 數(shù)據(jù)類型、Verilog中的變量是net型variable型net型中經(jīng)常使用的wire、tri; variable型有reg、integer等。 注意:在Verilog-1995標(biāo)準(zhǔn)中,variable變量在Verilog-2001標(biāo)準(zhǔn)(稱為register類型)中將r

5、egister改為variable,以防止初學(xué)者混淆register和硬件中的寄存器概念。 net型、net型數(shù)據(jù)相當(dāng)于硬件電路中的各種物理連接,其特征是輸出值隨著輸入值的變化而變化。 連接類型有兩種驅(qū)動(dòng)方式。 一種方法是在結(jié)構(gòu)描述中連接到一個(gè)門元件或模塊的輸出端子。另一種方法是使用持續(xù)賦值語(yǔ)句assign進(jìn)行賦值。 wire是最常見(jiàn)的Net類型變量。 wire型變量的定義格式為: wire數(shù)據(jù)名1、數(shù)據(jù)名2、數(shù)據(jù)名n; 例如: wire a、b;/定義了兩個(gè)wire類型變量a和b、Examples:和wire 733600數(shù)據(jù)庫(kù)。 /databus的寬度為8位wire19:0 addrbus

6、; /addrbus的寬度為20位,net需要連續(xù)驅(qū)動(dòng),驅(qū)動(dòng)的是門和模塊。 如果net驅(qū)動(dòng)程序的值發(fā)生變化,Verilog會(huì)自動(dòng)將新值傳輸?shù)絥et。 在示例中,線網(wǎng)格out由or門驅(qū)動(dòng)。 or門的輸入信號(hào)變化時(shí),傳送到線路網(wǎng)絡(luò)net。Variable和Variable類型變量放置在過(guò)程語(yǔ)句(initial、always等)中,并且必須用過(guò)程賦值語(yǔ)句賦值。在過(guò)程塊(如always、initial等)中賦值的信號(hào)也不定義為Variable類型注: variable類型變量不一定表示與硬件上的觸發(fā)器或寄存器等存儲(chǔ)元件對(duì)應(yīng)。 集成時(shí),variable類型變量根據(jù)具體情況決定是映射到連接,還是映射到觸發(fā)

7、器或寄存器。 reg型變量是最常見(jiàn)的variable型變量。 定義形式為reg數(shù)據(jù)名1、數(shù)據(jù)名2、數(shù)據(jù)名n; 例如: reg a、b;/定義了兩個(gè)reg類型變量a,b,Examples:reg7:0 qout。 qout定義8比特寬的reg型向量reg8:1 qout。 另外,發(fā)送器類型保存原始值直到給出新值的發(fā)送器類型常常應(yīng)用于行為模型描述或激勵(lì)描述。 在下面的示例中,reg_a、reg_b和reg_sel是用來(lái)給2:1復(fù)用器提供激活的。 使用行為描述結(jié)構(gòu)為寄存器類型分配值。 為reg類型分配值是在過(guò)程塊中。6.4殘奧儀表(參數(shù))。 verilog語(yǔ)言使用殘奧參數(shù)定義符號(hào)常數(shù)。 也就是說(shuō),使

8、用parameter定義表示常量的標(biāo)志。 殘奧儀表常用來(lái)定義延遲和變量的寬度。parameter殘奧儀表名稱1=式1、殘奧儀表名稱2=式2、殘奧儀表名稱3=式3,例如: parameter sel=8、代碼=8ha 3; /分別定義殘奧儀表sel將常數(shù)8(10進(jìn)制)、殘奧儀表code將常數(shù)a3(16進(jìn)制)、6.5向量、1標(biāo)量和向量寬度為1比特的變量稱為標(biāo)量,如果變量宣言沒(méi)有指定比特寬度,則缺省為標(biāo)量(1比特)。 例如: wire a; /a是標(biāo)量reg clk; /clk將標(biāo)量reg型變量的線寬大于1比特的變量(包含net型和variable型)稱為向量(vector )。 矢量的寬度為msb

9、 : lsb例如wire3:0 bus; /4比特總線、2比特選擇和域選擇式可以任意選擇的向量中的1比特或相鄰的比特。 分別稱為位選擇和域選擇。 例如,A=mybyte6 /位選擇B=mybyte5:2; /域選擇重復(fù)示例: reg7:0 a、b; reg3:0 c; 紅綠色; d=a7 /場(chǎng)選擇,6.6運(yùn)算符,1算術(shù)運(yùn)算符典型的算術(shù)運(yùn)算符是加法-減法*乘法/除法%求出模塊,2邏輯運(yùn)算符。表達(dá)式1:表達(dá)式2條件成立例如: wire Result=Addr? 代碼a :代碼b; 當(dāng)Addr為1時(shí),當(dāng)result=codeaaddr為0時(shí),Result=CodeB,9位拼接操作將兩個(gè)或兩個(gè)以上信號(hào)的一部分拼接到一起。 使用信號(hào)1的幾個(gè)、信號(hào)2的幾個(gè)、信號(hào)n的幾個(gè)、普通的交換機(jī)a、b3:0、w、3b101 - a、b3、b2、b1、b0、w、3b101的assign Dbus=Dbus3:0,Dbus7:4,內(nèi)等于或小于運(yùn)算符的Cout,8sum,a*b,_data,wait,initial,$latch 6.2的數(shù)字是否正確? 6d18、bx 0、5 b0x 110、da30、10 d 2、hzF

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論