數(shù)字電子技術(shù)基礎(chǔ) 課件 第5章 Verilog 硬件描述語言和 Quartus軟件_第1頁
數(shù)字電子技術(shù)基礎(chǔ) 課件 第5章 Verilog 硬件描述語言和 Quartus軟件_第2頁
數(shù)字電子技術(shù)基礎(chǔ) 課件 第5章 Verilog 硬件描述語言和 Quartus軟件_第3頁
數(shù)字電子技術(shù)基礎(chǔ) 課件 第5章 Verilog 硬件描述語言和 Quartus軟件_第4頁
數(shù)字電子技術(shù)基礎(chǔ) 課件 第5章 Verilog 硬件描述語言和 Quartus軟件_第5頁
已閱讀5頁,還剩63頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

數(shù)字電子技術(shù)基礎(chǔ)第5章Verilog硬件描述語言和Quartus軟件5.1

Verilog的基本結(jié)構(gòu)1)模塊定義:用module關(guān)鍵字開始定義,后面緊跟著模塊名和端口聲明列表。2)端口聲明:用input、output等關(guān)鍵字聲明,分別代表電路的輸入和輸出。3)內(nèi)部信號聲明:模塊中可以定義內(nèi)部信號,用于存儲計算過程中的中間結(jié)果或狀態(tài)。4)功能描述部分:用于描述模塊的功能行為,包括組合邏輯和時序邏輯。5.1.1模塊聲明5.1.2輸入和輸出端口聲明5.1

Verilog的基本結(jié)構(gòu)5.1.3信號類型聲明5.1

Verilog的基本結(jié)構(gòu)5.1.4功能描述(1)結(jié)構(gòu)描述結(jié)構(gòu)描述主要用于描述電路中的各種邏輯門電路、寄存器等結(jié)構(gòu)。(2)數(shù)據(jù)流描述數(shù)據(jù)流描述是一種基于行級的描述方式,常用于組合電路的描述。5.1

Verilog的基本結(jié)構(gòu)(3)行描述行為描述是一種描述電路行為的方式,相對于數(shù)據(jù)流描述。5.1.5模塊的實例化5.1

Verilog的基本結(jié)構(gòu)5.2

Verilog語法知識5.2.1詞法1.分隔符1)空格和制表符:用來分隔不同的關(guān)鍵字、運算符、標(biāo)識符等。空格和制表符在Verilog中被視力相同的分隔符。2)逗號:用來分隔參數(shù)、端口、變量等列表中的不同元素。3)分號:用來表示語句的結(jié)束,通常在模塊實例化、過程塊結(jié)束等語句后使用。4)括號:用來表示不同的語句塊、表達(dá)式等,包括圓括號、方括號、大括號等。5.2

Verilog語法知識2.標(biāo)識符1)模塊名:用于標(biāo)識模塊,可以包含字母、數(shù)字和下畫線。模塊名是唯一的,不能重復(fù)。2)端口名:用于標(biāo)識模塊的輸入輸出端口,可以包含字母、數(shù)字和下畫線。5.2

Verilog語法知識3)信號名:用于標(biāo)識各種數(shù)據(jù)類型的變量,包括wire、reg、integer、parameter等。4)參數(shù)名:用于標(biāo)識模塊的參數(shù)。3.關(guān)鍵字4.注釋5.2

Verilog語法知識5.2.2常量1.邏輯值常量2.整數(shù)(1)十進(jìn)制整數(shù)表示十進(jìn)制整數(shù)可以使用數(shù)字0~9表示,不帶前綴,可以用負(fù)號表示負(fù)數(shù),例如-10表示負(fù)十,100表正一百。(2)二進(jìn)制整數(shù)表示二進(jìn)制整數(shù)使用數(shù)字0和1表示,必須以“b”或“B”作為前綴,例如8'b10110101表示二進(jìn)制數(shù)10110101,長度力8位。(3)八進(jìn)制整數(shù)表示八進(jìn)制整數(shù)使用數(shù)字0~7表示,必須以“o”或“O”作前綴,例如16‘047表示八進(jìn)制數(shù)47,長度16位。(4)十六進(jìn)制整數(shù)表示十六進(jìn)制整數(shù)使用數(shù)字0~9和字母A~F(大小寫均可)表示,必須以“h”或“H”作為前綴,例如32‘h1A2B3C4D表示十六進(jìn)制數(shù)1A2B3C.4D,長度32位。5.2

Verilog語法知識3.買數(shù)5.2

Verilog語法知識4.字符串5.參數(shù)常量5.2

Verilog語法知識5.2.3變量1.wire型5.2

Verilog語法知識2.reg型3.數(shù)字型5.3運算符5.3.1算術(shù)運算符5.3.1算術(shù)運算符1)邏輯非(!):用于取反操作,例如!a。2)邏輯與(&):用于執(zhí)行按位邏輯與操作,例如a&b。3)邏輯或(I):用于執(zhí)行按位邏輯或操作,例如alb。5.3運算符4)邏輯異或(^):用于執(zhí)行按位邏輯異或操作,例如a^b。5)邏輯同或(~^):用于執(zhí)行按位邏輯同或操作,例如a~b。5.3.3位運算符1)按位與(&):對兩個操作數(shù)的每個二進(jìn)制位執(zhí)行邏輯與操作,結(jié)果是一個具有相同位數(shù)的新數(shù)。2)按位或(I):對兩個操作數(shù)的每個二進(jìn)制位執(zhí)行邏輯或操作,結(jié)果是一個具有相同位數(shù)的新數(shù)。3)按位異或(^):對兩個操作數(shù)的每個二進(jìn)制位執(zhí)行邏輯異或操作,結(jié)果是一個具有相同位數(shù)的新數(shù)。4)按位取反(~):對操作數(shù)的每個二進(jìn)制位執(zhí)行邏輯取反操作,結(jié)果是一個具有相同位數(shù)的新數(shù)。5.3運算符5.3.4關(guān)系運算符(1)大于(>)如果左操作數(shù)大于右操作數(shù),則該運算符返回1,否則返回0。(2)小于(<)如果左操作數(shù)小于右操作數(shù),則該運算符返回1,否則返回0。(3)大于或等于(>=)如果左操作數(shù)大于或等于右操作數(shù),則該運算符返回1,否則返回0。(4)小于或等于(<=)如果左操作數(shù)小于或等于右操作數(shù),則該運算符返回1,否則返回0。5.3.5等式運算符(1)相等運算符(==)當(dāng)兩個操作數(shù)相等時,返回1,否則返回0。(2)不等運算符(!=)當(dāng)兩個操作數(shù)不等時,返回1,否則返回0。5.3運算符5.3運算符5.3.6移位運算符5.3.6移位運算符5.3.7條件運算符5.3運算符5.3.8位拼接運算符(1)1}運算符用于將兩個或多個值拼接在一起,形成一個向量。(2){n{|}運算符用于將一個值重復(fù)n次并形成一個向量。(3){,}|運算符用于將一個向量分成幾個部分,并且每個部分的位數(shù)可以是不同的。5.4語句5.4.1塊語句5.4.2賦值語句5.4語句5.4.3結(jié)構(gòu)聲明語句5.4.4任務(wù)語句和函數(shù)語句1.任務(wù)語句5.4語句5.4語句2.函數(shù)語句5.4語句5.4.5條件語句(1)if語句i語句用于在滿足某個條件時執(zhí)行特定的操作,其基本語法如下:5.4語句5.4語句(2)case語句case語句用于根據(jù)一個選擇變量的不同取值,執(zhí)行不同的操作,其基本語法如下:5.4語句5.4.6循環(huán)語句1.for循環(huán)5.4語句2.while循環(huán)5.4語句3.forever語句5.4語句4.repeat語句5.4.7編譯預(yù)處理1)'define:用于定義宏,例如defineWIDTH32。2)'ifde/ifndef/else/endif:用于條件編譯,例如'ifdefDEBUG…'endif。3)'include:用于包含文件,例如'include"myfile.v"。5.4語句5.4語句5.4.8系統(tǒng)任務(wù)(1)$display/Swrite用于在仿真時顯示消息。(2)$monitor用于在仿真時監(jiān)視信號的變化。(3)Stime用于獲取當(dāng)前仿真的時間。(4)$random用于生成偽隨機數(shù)。(5)$stop/$finish用于停止仿真。(6)$fatal/$error/$warning用于生成致命錯誤、一般錯誤和警告信息。5.5

Quartus軟件的基本操作與使用5.5.1Quartus簡介5.5.2QuartusPrime17.1軟件安裝5.5

Quartus軟件的基本操作與使用1)將下載的文件解壓到同一個文件下,如圖5-2所示,不改變文件夾下文件的位置。2)雙擊“QuartusLiteSetup-17.1.0.590-windows.exe”文件,進(jìn)入安裝界面,如圖5-3所示。3)單擊“Next”按鈕,進(jìn)入“LicenseAgreement”界面,選擇“Iaccepttheagreement”選項,如圖5-4所示。4)單擊“Next”按鈕,進(jìn)入“Installationdirectory”界面,選擇安裝路徑,如圖5-5所示。5.5

Quartus軟件的基本操作與使用5.5

Quartus軟件的基本操作與使用5.5

Quartus軟件的基本操作與使用5)單擊“Next”按鈕,進(jìn)入“SelectComponents”界面,選擇對應(yīng)的器件庫,并選擇仿真軟件ModelSim,如圖5-6所示。5.5

Quartus軟件的基本操作與使用6)單擊“Next”按鈕,進(jìn)入“ReadytoInstall”界面,在此界面確認(rèn)上述幾步操作設(shè)定的安裝信息,如圖5-7所示。5.5

Quartus軟件的基本操作與使用7)單擊“Next”按鈕,進(jìn)入“Installing”界面,顯示安裝的進(jìn)度信息,如圖5-8所示。5.5

Quartus軟件的基本操作與使用8)安裝完成后,進(jìn)入安裝完成界面,顯示軟件安裝成功后的勾選框信息,如圖5-9所示。9)單擊“Finish”按鈕,完成QuartusPrime軟件、選擇的元器件及ModelSim軟件的安裝。5.5

Quartus軟件的基本操作與使用5.5.3QuartusPrime17.1的基本操作1)単由“始”→所有程序”→“Allera”→QuartusPrime17.1”,或者雙擊桌面上的QuartusPrime快捷方式圖標(biāo),運行QuartusPrime17.1軟件,出現(xiàn)圖5-10所不界面。5.5

Quartus軟件的基本操作與使用2)單擊“File”?“NewProjectWizard”,新建一個工程,如圖5-11所示。5.5

Quartus軟件的基本操作與使用2)單擊“File”“NewProjectWizard”,新建一個工程,如圖5-11所示。5.5

Quartus軟件的基本操作與使用3)單擊圖5-11中的“Next”按鈕進(jìn)入工程名稱設(shè)定對話框,如圖5-12所示。5.5

Quartus軟件的基本操作與使用4)單擊“Next”按鈕,進(jìn)入工程類型選擇界面,此處可以選擇新建一個空的工程(Emptyproject)或者工程模板(Projecttemplate),如圖5-13所示。5.5

Quartus軟件的基本操作與使用5)單擊“Next”按鈕,進(jìn)入添加設(shè)計文件界面,如圖5-14所示。5.5

Quartus軟件的基本操作與使用6)單擊“Next”按鈕,進(jìn)入器件選擇界面,在此選擇合適的PLD/FPGA芯片型號,如圖5-15所示。5.5

Quartus軟件的基本操作與使用7)單擊“Next”按鈕,進(jìn)入EDA工具設(shè)置界面,在此選擇EDA綜合、仿真、時序分析工具,如圖5-16所示。8)單擊“Next”按鈕,出現(xiàn)新工程的所有設(shè)定信息,如圖5-17所示,單擊“Finish”按鈕完成新工程的建立。9)單擊“File”?“New”,彈出新建對話框,在“DesignFiles”選項下選擇“VerilogHDLFile”,如圖5-18所示。5.5

Quartus軟件的基本操作與使用5.5

Quartus軟件的基本操作與使用10)建立了VerilogHIDL文件后,則自動打開VerilogHDL編程界面,如圖5-19所示。5.5

Quartus軟件的基本操作與使用11)在編程界面中進(jìn)行程序的編寫。12)代碼輸入結(jié)束后,單擊“Processing”“StartCompilation”對編寫的代碼進(jìn)行編譯,直到編譯通過。13)編譯通過后才能在工程中進(jìn)行仿真,可以仿真整個設(shè)計,也可以只仿真設(shè)計的一部分。5.5

Quartus軟件的基本操作與使用14)單擊“OK”按鈕,彈出圖5-22所示的信號仿真界面,在“Name”區(qū)域雙擊以添加觀察信號,彈出圖5-23所示對話框。5.5

Quartus軟件的基本操作與使用15)單擊“NodeFinder”按鈕,彈出圖5-24所示的對話框。5.5

Quartus軟件的基本操作與使用16)信號選擇確認(rèn)后,回到信號仿真界面,如圖5-26所示,所選擇的信號已經(jīng)添加到信號仿真界面。5.5

Quartus軟件的基本操作與使用5.5

Quartus軟件的基本操作與使用17)添加信號后,還需要選擇和調(diào)整相應(yīng)的激勵輸入信號。5.5

Quartus軟件的基本操作與使用18)單擊“Simulation”>“RunFunctionalSimulation”,系統(tǒng)開始仿真。19)仿真結(jié)束后,顯示界面如圖5-29所示,圖中cout、sum的波形為仿真得到的波形,可查看此仿真結(jié)果是否符合電路設(shè)計要求。5.6可編程邏輯器件5.6.1可編程邏輯器件的種類1.CPLD(1)可預(yù)測的計時特性由于CPLD的結(jié)構(gòu)固定,因此其計時特性是可預(yù)測的,這便得它在需要嚴(yán)格計時控制的設(shè)計中非常有用。(2)非易失性CPLD使用閃存或抗熔絲技術(shù)進(jìn)行編程,因此它是非易失性的。(3)低功耗相比于FPGA,CPL.D通常具有較低的靜態(tài)和動態(tài)功耗。5.6可編程邏輯器件2.FPGA(1)高度靈活性FPGA的可編程邏輯塊和可編程的路由資源提供了極高的設(shè)計靈活性,使得它能夠?qū)崿F(xiàn)各種復(fù)雜的數(shù)字設(shè)計。(2)高門密度FPGA通常提供了極高的門密度,這使得它能夠?qū)崿F(xiàn)非常復(fù)雜的設(shè)計。(3)易失性FPGA通常使用SRAM進(jìn)行編程,因此它是易失性的。(4)高性能FPGA通常提供了非常高的性能,尤其是在處理并行計算和信號處理任務(wù)時。3.CPLD和FPGA的適用場景5.6可編程邏輯器件5.6.2基于可編程邏輯器件的設(shè)計流程1.設(shè)計輸入2.邏輯綜合3.適配4.編程5.仿真測試5.6可編程邏輯器件5.6.3可編程邏輯器件的優(yōu)缺點1.PLD的優(yōu)點(1)靈活性PLD(如FPGA和CPLD)的最大優(yōu)點就是其靈活性。(2)可重配置性FPGA和CPLD都是可重配置的,這意味著設(shè)計人員可以在設(shè)備工作過程中或者之后修改其硬件配置。(3)并行處理能力PLD可以并行執(zhí)行多個操作,這使得它在處理并行計算和信號處理任務(wù)時具有較高的效率。(4)快速原型設(shè)計使用PL.D,設(shè)計人員可以快速地進(jìn)行原型設(shè)計和驗證,大大縮短了產(chǎn)品的開發(fā)周期。2.PLD的缺點(1)功耗盡管現(xiàn)代的PLD已經(jīng)作了許多功耗優(yōu)化,但是相比于定制的ASIC芯片,F(xiàn)PGA和CPLD5.6可編程邏輯器件通常仍然具有較高的功耗。(2)成本在大規(guī)模生產(chǎn)時,PLD的成本通常高于定制的ASIC芯片。(3)性能由于FPGA和CPLD的資源是通用和可編程的,因此它們的性能通常無法達(dá)到定制的ASIC芯片的水平。(4)易失性許多FPGA使用SRAM進(jìn)行編程,因此它是易失性的,即當(dāng)電源關(guān)閉后,其配置信息將會丟失,需要在每次上電時重新配置。3.與傳統(tǒng)的數(shù)字電路設(shè)計方法進(jìn)行比較(1)復(fù)雜性和可擴展性基本的數(shù)字電路器件通常用于實現(xiàn)簡單的邏輯功能,而且當(dāng)設(shè)計的復(fù)雜性增加時,使用這些基本器件的難度也會隨之增加。(2)靈活性和重用性使用基本的數(shù)字電路器件實現(xiàn)的設(shè)計通常是固定的,一旦硬件被實現(xiàn),就很難修改或更新。(3)開發(fā)周期和成本使用基本的數(shù)字電路器件實現(xiàn)設(shè)計通常需要較長的開發(fā)周期和較高的成本,5.6可編程邏輯器件因為這可能需要進(jìn)行物理的硬件設(shè)計、制造和測試。5.6.4可編程邏輯器件在現(xiàn)代電子系統(tǒng)設(shè)計中的應(yīng)用(1)嵌入式系統(tǒng)設(shè)計PLD,尤其是FPGA,由于其在處理并行運算和實時任務(wù)方面的優(yōu)勢,常被用于嵌入式系統(tǒng)設(shè)計。(2)高性能計算在高性能計算領(lǐng)域,F(xiàn)PGA通常用作計算加速器。(3)數(shù)字信號處理(DSP)在音頻和視頻處理領(lǐng)域,F(xiàn)PGA可以用來實現(xiàn)各種復(fù)雜的數(shù)字信號處理算法。(4)通信系統(tǒng)設(shè)計在無線通信領(lǐng)域,F(xiàn)PGA可以用來實現(xiàn)各種先進(jìn)的通信協(xié)議。(5)系統(tǒng)測試和驗證FPGA的可重配置性使其可以用于電子系統(tǒng)的測試和驗證。(6)原型設(shè)計

溫馨提示

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

評論

0/150

提交評論