版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、3Verilog1.VerilogHDL是一種硬件描述語言硬件描述語言,用于從算法級算法級、RTL級、門級門級到開關(guān)級開關(guān)級的多種抽象設(shè)計層次抽象設(shè)計層次的數(shù)字系統(tǒng)建模數(shù)字系統(tǒng)建模。?行為級描述:行為級描述:數(shù)據(jù)結(jié)構(gòu)和過程類似類似C;用于描述算法級算法級和RTL級的Verilog模型。?結(jié)構(gòu)級描述:結(jié)構(gòu)級描述:用于描述門級門級和開關(guān)級開關(guān)級電路;特點:支持門級延時門級延時信息和驅(qū)動能力驅(qū)動能力等的描述。VHDL側(cè)重于系統(tǒng)級描述側(cè)重于系統(tǒng)
2、級描述,從而更多的為系統(tǒng)級系統(tǒng)級設(shè)計人員所采用;Verilog側(cè)重于電路級描述側(cè)重于電路級描述,從而更多的為電路級電路級設(shè)計人員所采用。2.VerilogHDL設(shè)計入門設(shè)計入門模塊(模塊(module)模塊是Verilog的基本描述單位基本描述單位模塊的定義定義從關(guān)鍵詞module開始開始,到關(guān)鍵詞endmodule結(jié)束結(jié)束每條VerilogHDL語句以分號“;”作為結(jié)束語句以分號“;”作為結(jié)束模塊的基本結(jié)構(gòu)模塊的基本結(jié)構(gòu)⑴、模塊、模塊
3、定義行定義行以module開頭開頭接著給出所定義模塊的模塊名模塊名括號內(nèi)給出端口名列表端口名列表(端口名等價于硬件中的外接引腳外接引腳,模塊通過這些端口與外界發(fā)生聯(lián)系通過這些端口與外界發(fā)生聯(lián)系)以分號結(jié)束分號結(jié)束⑵、端口類型端口類型說明說明端口類型端口類型只有input、output、inout三種⑶、數(shù)據(jù)類型數(shù)據(jù)類型說明說明支持的數(shù)據(jù)類型數(shù)據(jù)類型有連線類連線類(wire)和寄存器寄存器(reg)類兩個大類一位寬的一位寬的wire類可被
4、缺省外類可被缺省外,其它凡將在后面的描述中出現(xiàn)的變量都應給出相應的數(shù)據(jù)類型說明在后面的描述中出現(xiàn)的變量都應給出相應的數(shù)據(jù)類型說明⑷、描述體部、描述體部具體具體展開對模塊的描述描述⑸、結(jié)束行、結(jié)束行用關(guān)鍵詞endmodule標志標志模塊定義的結(jié)束結(jié)束它的后面沒有分號后面沒有分號行為描述與結(jié)構(gòu)描述行為描述與結(jié)構(gòu)描述?行為描述行為描述(Behavi)描述行為行為或功能功能特性?結(jié)構(gòu)描述結(jié)構(gòu)描述(Structure)描述通過什么樣的結(jié)構(gòu)方式將不
5、同的實體連接起來結(jié)構(gòu)方式將不同的實體連接起來用以實現(xiàn)所要求的行為或功能行為或功能。測試與仿真測試與仿真?測試平臺(測試平臺(TestBench):):在輸入端口加入測試信號,從輸出端口檢測其輸出結(jié)果是否正確。?通常將需要測試的對象通常將需要測試的對象稱之為DUT(DeviceUnderTest)。?測試模塊:測試模塊:要調(diào)用DUT;包含用于測試的激勵信號源激勵信號源;能夠?qū)嵤敵鲂盘柕臋z測對輸出信號的檢測,并報告檢測的結(jié)果報告檢測的結(jié)
6、果。過程語句過程語句?Initial:只順序順序地執(zhí)行一次執(zhí)行一次;沒有觸發(fā)條件沒有觸發(fā)條件。?Always:當順序執(zhí)行到最后一條語句后執(zhí)行到最后一條語句后,會自動返回自動返回到第一條語句重新開始執(zhí)行重新開始執(zhí)行,是一條沒有窮盡的循環(huán)語句沒有窮盡的循環(huán)語句往往帶有觸發(fā)條件有觸發(fā)條件3.VerilogHDL基礎(chǔ)知識基礎(chǔ)知識基本詞法定義基本詞法定義?空白符空白符?空白符是以下幾種幾種字符與控制符的總稱:字符與控制符的總稱:①空格、②TAB鍵
7、、③換行符、④換頁符。?空白符起分隔符的作用:空白符起分隔符的作用:允許允許在一行內(nèi)寫多條一行內(nèi)寫多條VerilogHDL語句語句?注釋行注釋行?單行注釋:單行注釋:以“”開始到行末結(jié)束,不允許續(xù)行不允許續(xù)行?多行注釋:多行注釋:以“”開始,到“”結(jié)束,可以跨越多行跨越多行,但不允許嵌套不允許嵌套?以$開頭開頭的標識符標識符用以代表系統(tǒng)命令以代表系統(tǒng)命令(系統(tǒng)任務系統(tǒng)任務與系統(tǒng)函數(shù)系統(tǒng)函數(shù))?$display?$monit?$finis
8、h?關(guān)鍵詞關(guān)鍵詞?VerilogHDL語言內(nèi)部已經(jīng)使用的詞內(nèi)部已經(jīng)使用的詞稱為關(guān)鍵詞或保留詞關(guān)鍵詞或保留詞,應避免使用?所有的關(guān)鍵詞都是小寫關(guān)鍵詞都是小寫?always,,assign,attribute,begin,buf,case,default,else…………數(shù)據(jù)類型數(shù)據(jù)類型?連線類型和寄存器類型連線類型和寄存器類型?驅(qū)動方式驅(qū)動方式(或賦值方式賦值方式)不同?保持方式保持方式不同?對應硬件實現(xiàn)硬件實現(xiàn)不同?wire連線類型連線
9、類型?對應硬件電路中硬件電路中的物理信號連接物理信號連接?驅(qū)動有兩種方式驅(qū)動有兩種方式:在結(jié)構(gòu)描述中把它連接到一個門或模塊的輸出端把它連接到一個門或模塊的輸出端用連續(xù)賦值語句連續(xù)賦值語句assign對其進行賦值對其進行賦值?沒有電荷保持作用沒有電荷保持作用,當沒有被驅(qū)動沒有被驅(qū)動時,將處于高阻態(tài)處于高阻態(tài)z?連線主要出現(xiàn)在出現(xiàn)在模塊的結(jié)構(gòu)描述中結(jié)構(gòu)描述中,對應硬件電路中物理信號連接。?在對連線進行描述時,必須用連線類型定義語句進行說明用
10、連線類型定義語句進行說明,當說明被缺省時被缺省時,表示的是位寬為位寬為1bit的wire型連線。Wire是標準的,不附帶其它邏輯功能的連線。?Tri與wire的功能是完全一致的完全一致的。?Wire與w以及以及w三者之間的差別差別體現(xiàn)在有多重驅(qū)動時有多重驅(qū)動時連線所具有的不同邏輯特性具有的不同邏輯特性?reg寄存器類型寄存器類型?對應的是具有狀態(tài)保持作用有狀態(tài)保持作用的硬件電路元件,如觸發(fā)器、鎖存器等?驅(qū)動可以通過過程賦值語句實現(xiàn)過程賦
11、值語句實現(xiàn)?過程賦值在接受下一次的過程賦值之前,將保持原值不保持原值不變?當寄存器類型沒有被賦值前沒有被賦值前,將處于不定態(tài)處于不定態(tài)X?所有寄存器類的量寄存器類的量,都有“寄存”性,即在接受下一次賦值前接受下一次賦值前,將保持原值不變保持原值不變。?所有寄存器類都必須給出類型說明必須給出類型說明(無缺省狀態(tài))。?寄存器類的量,必須通過過程賦值語過程賦值語句進行賦值。?Integer、real、time都是純數(shù)學的抽象描述純數(shù)學的抽象描
12、述,不對應于任何具體的硬件電路實現(xiàn)。?標量與矢量標量與矢量?線寬只有一條的連線,以及位數(shù)只有一位的寄存器稱之為標量。?線寬大于一條的連線,或位數(shù)大于一位的寄存器稱之為矢量。?矢量的說明矢量的說明:矢量的范圍由括在方括號中的一對數(shù)字表示,中間一個冒號相隔。形式為:[msb:lsb]。參數(shù)定義語句參數(shù)定義語句parameter?用于對延時延時、線寬線寬、寄存器位數(shù)寄存器位數(shù)等物理量物理量的定義?用一個文字參數(shù)文字參數(shù)來代替一個數(shù)字量代替一個
13、數(shù)字量?優(yōu)點優(yōu)點:增加描述的可讀性可讀性;為以后的修改帶來方便修改帶來方便。?形式描述:參數(shù)定義表項形式描述:參數(shù)定義表項給出具體的各個參數(shù)與數(shù)字量之間所謂對應關(guān)系具體的各個參數(shù)與數(shù)字量之間所謂對應關(guān)系,相互間用逗號逗號“”相隔”相隔宏替換宏替換`define?宏替換的形式描述形式描述:`define?宏替換是在編譯時告知編譯器,用宏替換定義中的文本內(nèi)容來直接替代模塊描述文件中出現(xiàn)的宏名用宏替換定義中的文本內(nèi)容來直接替代模塊描述文件中出
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論