EDA及FPGA,Verilog第一章_第1頁
EDA及FPGA,Verilog第一章_第2頁
EDA及FPGA,Verilog第一章_第3頁
EDA及FPGA,Verilog第一章_第4頁
EDA及FPGA,Verilog第一章_第5頁
已閱讀5頁,還剩51頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、硬件描述語言及硬件描述語言及FPGA設計設計主講教師:杜娟主講教師:杜娟 第一章第一章 Verilog HDL設計初步設計初步 n學習本章要重點關注并歸納總結以下幾個學習本章要重點關注并歸納總結以下幾個方面的問題:方面的問題:n已掌握了哪些已掌握了哪些VerilogVerilog語句結構、語法規則、語言語句結構、語法規則、語言要素和數據表示方法?要素和數據表示方法?n對于既定功能的電路模塊有多少種描述方法?各對于既定功能的電路模塊有多少種描述方法?各有何優缺點?有何優缺點?n怎樣理解怎樣理解VerilogVerilog語句的并行特征和順序特征?語句的并行特征和順序特征?nVerilogVeri

2、log硬件描述語言與硬件描述語言與C C或者匯編語言等軟件語言或者匯編語言等軟件語言在表述和驗證設計者的編程意圖(功能的表達、在表述和驗證設計者的編程意圖(功能的表達、驗證)時有什么本質區別?驗證)時有什么本質區別?1.1 組合電路的組合電路的Verilog HDL描述描述1.1.1 4選選1多路選擇器及其多路選擇器及其Verilog HDL描述描述1圖圖1-1 4選選1多路選擇器(多路選擇器(MUX41a)1.1 組合電路的組合電路的Verilog HDL描述描述1.1.1 4選選1多路選擇器及其多路選擇器及其Verilog HDL描述描述1圖圖1-2 MUX41a電路的時序波形電路的時序波

3、形1.1.1 4選選1多路選擇器及其多路選擇器及其Verilog HDL描述描述1【例例1-1】1.1.1 4選選1多路選擇器及其多路選擇器及其Verilog HDL描述描述1此電路的此電路的Verilog描述由描述由4個部分組成:個部分組成:u以以Verilog語言的關鍵詞語言的關鍵詞module-endmodule引導的引導的完整電路模塊描述。(模塊聲明)完整電路模塊描述。(模塊聲明)u以以input、output等關鍵詞引導的對模塊外部端口描等關鍵詞引導的對模塊外部端口描述的語句。(端口定義)述的語句。(端口定義)u以以reg等關鍵詞說明模塊內部將出現的相關信號的特等關鍵詞說明模塊內部將

4、出現的相關信號的特性和數據類型。(數據類型聲明)性和數據類型。(數據類型聲明)u以以always等關鍵詞引導的對模塊邏輯功能描述的語句。等關鍵詞引導的對模塊邏輯功能描述的語句。1.1.1 4選選1多路選擇器及其多路選擇器及其Verilog HDL描述描述1圖圖1-3 由由Quartus綜合后的綜合后的4 4選選1 1多路選擇器的門級電路圖多路選擇器的門級電路圖1.1.1 4選選1多路選擇器及其多路選擇器及其Verilog HDL描述描述1相關語法知識:相關語法知識:1.模塊表達模塊表達module 模塊名(模塊端口名列表);模塊名(模塊端口名列表);端口定義端口定義數據類型聲明數據類型聲明邏輯

5、功能描述邏輯功能描述endmodule2.端口定義端口定義input 端口名端口名1,端口名,端口名2,;output 端口名端口名1,端口名,端口名2,;inout 端口名端口名1,端口名,端口名2,;input msb:lsb 端口名端口名1,端口名,端口名2,;1.1.1 4選選1多路選擇器及其多路選擇器及其Verilog HDL描述描述13.reg型變量定義型變量定義reg 變量名變量名1,變量名,變量名2,;reg msb:lsb 變量名變量名1,變量名,變量名2,;4.過程語句過程語句always (敏感信號及敏感信號列表及表達式敏感信號及敏感信號列表及表達式) 包括塊語句的各類順

6、序語句包括塊語句的各類順序語句1.1.1 4選選1多路選擇器及其多路選擇器及其Verilog HDL描述描述15.塊語句塊語句begin-endbegin :塊名:塊名 語句語句1;語句;語句2;語句語句n;end6.case條件語句和條件語句和4種邏輯狀態種邏輯狀態case (表達式表達式) 值值1:語句:語句1; 值值2:語句:語句2; default:語句語句n;endcase1.1.1 4選選1多路選擇器及其多路選擇器及其Verilog HDL描述描述1u0:二進制數二進制數0,低電平,邏輯,低電平,邏輯0,事件為假,事件為假u1:二進制數:二進制數1,高電平,邏輯,高電平,邏輯1,事

7、件為真,事件為真uz或者或者Z:高阻態,不區分大小寫,還可以用:高阻態,不區分大小寫,還可以用“?”來表示來表示ux或者或者X:不確定或者未知的邏輯狀態,不區分大小寫:不確定或者未知的邏輯狀態,不區分大小寫7.并位操作和數字表達并位操作和數字表達并位操作:并位操作: 二進制數的一般格式:二進制數的一般格式:1.1 組合電路的組合電路的Verilog HDL描述描述1.1.2 4選選1多路選擇器及其多路選擇器及其Verilog HDL描述描述2【例例1-2】1.1.2 4選選1多路選擇器及其多路選擇器及其Verilog HDL描述描述21按位邏輯操作符按位邏輯操作符 A=1b0; B=1b1;

8、C3:0=4b1100; D3:0=4b1011; E5:0=6b010110;表表1-1 邏輯操作符邏輯操作符相關語法:相關語法:1.1.2 4選選1多路選擇器及其多路選擇器及其Verilog HDL描述描述22等式操作符等式操作符A=4b1011; B=4b0010; C=4b0z10; D=4b0z10; 表表1-2 等式操作符等式操作符1.1.2 4選選1多路選擇器及其多路選擇器及其Verilog HDL描述描述23assign連續賦值語句連續賦值語句 assign 目標變量名目標變量名 = 驅動表達式驅動表達式; assign DOUT = a & b; assign DOU

9、T = a & b | c ; assign DOUT = e & f | d ;1.1.2 4選選1多路選擇器及其多路選擇器及其Verilog HDL描述描述24wire定義網線型變量定義網線型變量wire 變量名變量名1,變量名,變量名2,. . . ;wire msb:lsb 變量名變量名1,變量名,變量名2,. . . ;wire 7:0 a ; wire Y = tmp1 tmp2; wire tmp1,tmp2; assign Y = tmp1 tmp2;1.1 組合電路的組合電路的Verilog HDL描述描述1.1.3 4選選1多路選擇器及其多路選擇器及其Ver

10、ilog HDL描述描述3 【例例1-3】1.1 組合電路的組合電路的Verilog HDL描述描述1.1.3 4選選1多路選擇器及其多路選擇器及其Verilog HDL描述描述3 1if_else條件語句條件語句if (S) Y=A; else begin Y=B; Z=C; Q=1b0; end(1)阻塞式賦值。)阻塞式賦值。 “=” 2過程賦值語句過程賦值語句(2)非阻塞式賦值。)非阻塞式賦值。 3數據表示方式數據表示方式1.1 組合電路的組合電路的Verilog HDL描述描述1.1.4 4選選1多路選擇器及其多路選擇器及其Verilog HDL描述描述4 【例例7-4】1.1 組合電

11、路的組合電路的Verilog HDL描述描述1.1.5 簡單加法器及其簡單加法器及其Verilog HDL描述描述 1. 半加器描述半加器描述圖圖1-4全加器電路圖及其實體模塊全加器電路圖及其實體模塊1.1 組合電路的組合電路的Verilog HDL描述描述1.1.5 簡單加法器及其簡單加法器及其Verilog HDL描述描述 1. 半加器描述半加器描述圖圖1-5 半加器電路圖及其真值表半加器電路圖及其真值表1.1 組合電路的組合電路的Verilog HDL描述描述1.1.5 簡單加法器及其簡單加法器及其Verilog HDL描述描述 1. 半加器描述半加器描述【例例1-5】1.1 組合電路的

12、組合電路的Verilog HDL描述描述1.1.5 簡單加法器及其簡單加法器及其Verilog HDL描述描述 1. 半加器描述半加器描述【例例1-6】1.1 組合電路的組合電路的Verilog HDL描述描述1.1.5 簡單加法器及其簡單加法器及其Verilog HDL描述描述 1. 半加器描述半加器描述【例例1-7】常用的算術運算符包括:常用的算術運算符包括:+加加-減減*乘乘/除除%求模求模1.1 組合電路的組合電路的Verilog HDL描述描述1.1.5 簡單加法器及其簡單加法器及其Verilog HDL描述描述 1. 半加器描述半加器描述【例例1-8】1.1 組合電路的組合電路的V

13、erilog HDL描述描述2. 全加器頂層文件設計全加器頂層文件設計【例例1-9】圖圖1-6 1位全加器仿真時序位全加器仿真時序1.1 組合電路的組合電路的Verilog HDL描述描述u所謂的元件例化就是引入一種連接關系,將預先設計好所謂的元件例化就是引入一種連接關系,將預先設計好的模塊定義為一個元件,然后利用特定的語句將此元件與的模塊定義為一個元件,然后利用特定的語句將此元件與當前設計實體中指定的端口相連接,從而為當前實體引入當前設計實體中指定的端口相連接,從而為當前實體引入一個新的、低一級的設計層次。在這里,當前設計實體模一個新的、低一級的設計層次。在這里,當前設計實體模塊相當于一個較

14、大的電路系統(比如說全加器),所定義塊相當于一個較大的電路系統(比如說全加器),所定義的例化元件相當于一個要插在這個電路系統板上的芯片(比的例化元件相當于一個要插在這個電路系統板上的芯片(比如半加器和或門),而當前設計實體模塊中指定的端口則如半加器和或門),而當前設計實體模塊中指定的端口則相當于這塊電路板上準備接受此芯片的一個插座。相當于這塊電路板上準備接受此芯片的一個插座。1.1 組合電路的組合電路的Verilog HDL描述描述2. 全加器頂層文件設計全加器頂層文件設計Verilog中元件例化語句的結構比較簡單,一般格式如下:中元件例化語句的結構比較簡單,一般格式如下: ( .例化元件端口

15、(例化元件外接端口名)例化元件端口(例化元件外接端口名),.);1.1 組合電路的組合電路的Verilog HDL描述描述3. 8位加法器描述位加法器描述 【例例1-10】【例例1-11】1.1 組合電路的組合電路的Verilog HDL描述描述3. 8位加法器描述位加法器描述 圖圖1-7 8位加法器仿真波形位加法器仿真波形圖圖1-8 8位加法器位加法器Quartus綜合之綜合之RTLRTL電路電路1.2 時序電路的時序電路的Verilog HDL描述描述 1.2.1 邊沿觸發型邊沿觸發型D觸發器及其觸發器及其Verilog描述描述圖圖1-9 D觸發器觸發器DFF1圖圖1-10 D觸發器時序波

16、形觸發器時序波形1.2 時序電路的時序電路的Verilog HDL描述描述 1.2.1 邊沿觸發型邊沿觸發型D觸發器及其觸發器及其Verilog描述描述【例例1-12】1.2 時序電路的時序電路的Verilog HDL描述描述 1.2.2 電平觸發型鎖存器及其電平觸發型鎖存器及其Verilog描述描述 圖圖1-11 鎖存器鎖存器LATCH1模塊及其邏輯電路模塊及其邏輯電路1.2 時序電路的時序電路的Verilog HDL描述描述 1.2.2 電平觸發型鎖存器及其電平觸發型鎖存器及其Verilog描述描述 【例例1-13】圖圖1-12 例例4-13的鎖存器時序波形的鎖存器時序波形1.2 時序電路

17、的時序電路的Verilog HDL描述描述 1.2.3 含異步清含異步清0和時鐘使能結構的和時鐘使能結構的D觸發器及其觸發器及其Verilog描述描述圖圖1-13 含使能和復位的觸發器含使能和復位的觸發器圖圖1-14 含異步清含異步清0和時鐘使能型和時鐘使能型D觸發器的時序圖觸發器的時序圖1.2 時序電路的時序電路的Verilog HDL描述描述 1.2.3 含異步清含異步清0和時鐘使能結構的和時鐘使能結構的D觸發器及其觸發器及其Verilog描述描述【例例1-14】1.2 時序電路的時序電路的Verilog HDL描述描述 1.2.4 含同步清含同步清0結構的結構的D觸發器及其觸發器及其Ve

18、rilog描述描述【例例1-15】1.2 時序電路的時序電路的Verilog HDL描述描述 1.2.4 含同步清含同步清0結構的結構的D觸發器及其觸發器及其Verilog描述描述圖圖1-15 含同步清零的含同步清零的D觸發器觸發器圖圖1-16 含同步清零的含同步清零的D觸發器的仿真波形觸發器的仿真波形1.2 時序電路的時序電路的Verilog HDL描述描述 1.2.5 含異步清含異步清0的鎖存器及其的鎖存器及其Verilog描述描述 圖圖1-17 含異步清零的鎖存器含異步清零的鎖存器圖圖1-18 含異步清零的的鎖存器含異步清零的的鎖存器RTL視圖視圖圖圖1-19 含異步清零的鎖存器仿真波形

19、含異步清零的鎖存器仿真波形1.2 時序電路的時序電路的Verilog HDL描述描述 1.2.5 含異步清含異步清0的鎖存器及其的鎖存器及其Verilog描述描述 【例例1-16】由連續賦值語句描述的異步由連續賦值語句描述的異步清零鎖存器清零鎖存器【例例1-17】含異步清零的鎖存器含異步清零的鎖存器1.2 時序電路的時序電路的Verilog HDL描述描述 1.2.6 Verilog的時鐘過程描述注意點的時鐘過程描述注意點 【例例1-18】1.2 時序電路的時序電路的Verilog HDL描述描述 1.2.6 Verilog的時鐘過程描述注意點的時鐘過程描述注意點 圖圖1-20 含異步清零的的

20、鎖存含異步清零的的鎖存1.2 時序電路的時序電路的Verilog HDL描述描述 1.2.7 異步時序電路異步時序電路圖圖1-21 異步時序電路異步時序電路1.2 時序電路的時序電路的Verilog HDL描述描述 1.2.7 異步時序電路異步時序電路【例例1-19】1.3 計數器的計數器的Verilog HDL設計設計1.3.1 4位二進制加法計數器及其位二進制加法計數器及其Verilog描述描述 圖圖1-22 四位加法計數器的工作時序四位加法計數器的工作時序1.3 計數器的計數器的Verilog HDL設計設計1.3.1 4位二進制加法計數器及其位二進制加法計數器及其Verilog描述描述

21、 【例例1-20】1.3 計數器的計數器的Verilog HDL設計設計1.3.1 4位二進制加法計數器及其位二進制加法計數器及其Verilog描述描述 圖圖1-23 4位加法計數器位加法計數器RTL電路電路1.3.2 功能更全面的計數器設計功能更全面的計數器設計【例例1-21】含有異步清零同步時鐘使能和同步數據加載功能的十進制計數器含有異步清零同步時鐘使能和同步數據加載功能的十進制計數器1.3 計數器的計數器的Verilog HDL設計設計1.3.2 功能更全面的計數器設計功能更全面的計數器設計表表1-4 關系運算符關系運算符圖圖1-24 例例1-12的仿真波形的仿真波形1.3 計數器的計數

22、器的Verilog HDL設計設計1.3.2 功能更全面的計數器設計功能更全面的計數器設計圖圖1-25 Quartus對例對例1-211-21綜合后得到的綜合后得到的RTLRTL圖圖習習 題題 1-1 舉例說明,舉例說明,Verilog HDL的操作符中,哪些操作符的運算結果總是一位的。的操作符中,哪些操作符的運算結果總是一位的。1-2 wire型變量與型變量與reg型變量有什么本質區別,它們可用于什么類型語句中?型變量有什么本質區別,它們可用于什么類型語句中?1-3 阻塞賦值和非阻塞賦值有何區別?阻塞賦值和非阻塞賦值有何區別?1-4 舉例說明,為什么使用條件敘述不完整的條件句能導致產生時序模

23、塊的綜合舉例說明,為什么使用條件敘述不完整的條件句能導致產生時序模塊的綜合結果?結果?1-5 用用Verilog設計一個設計一個3-8譯碼器,要求分別用譯碼器,要求分別用case語句和語句和if_else語句。比較這語句。比較這兩種方式。兩種方式。1-6圖圖4-27所示的是雙所示的是雙2選選1多路多路選擇器構成的電路選擇器構成的電路MUXK。對于其。對于其中中MUX21A,當,當s=0和和s=1時,時,分別有分別有y=a和和y=b。試在一個模塊。試在一個模塊結構中用兩個過程來表達此電路。結構中用兩個過程來表達此電路。習習 題題 1-7 給出給出1位全減器的位全減器的VHDL描述。要求:描述。要

24、求:(1)首先設計)首先設計1位半減器,然后用例化語句將它們連接起來,圖位半減器,然后用例化語句將它們連接起來,圖4-28中中h_suber是半減器,是半減器,diff是輸出差,是輸出差,s_out是借位輸出,是借位輸出,sub_in是借位輸入。是借位輸入。(2)根據圖)根據圖4-28設計設計1位全減器。位全減器。(3)以)以1位全減器為基本硬件,構成串行借位的位全減器為基本硬件,構成串行借位的8位減法器,要求用例化語句來位減法器,要求用例化語句來完成此項設計。完成此項設計。 1-8 給出一個給出一個4選選1多路選擇器的多路選擇器的Verilog描述。此器件與圖描述。此器件與圖4-1類似,但選通控制類似,但選通控制端有端有4個輸入:個輸入:S0、S1、S2、S3。當且僅當。當且僅當S0=0時:時:Y=A;S1=0時:時:Y=B;S2=0

溫馨提示

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

評論

0/150

提交評論