




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、精品好資料學習推薦Verilog期末復習v 考試內容: 凡是課堂講過的內容都有可能考 重點是對基本語法的掌握能力和實際應用能力 本課件非考試大綱,切勿僅僅據此復習v 試題類型: 填空題:10空 20分 簡答題:6道 36分 程序設計題:4道 44分復習內容(一)v 各種數據類型及變量常量v 門級描述v 行為描述(包含多種分支語句)v 數據流級描述v 任務和函數的編寫v 系統(tǒng)任務的使用語法v 用戶自定義原語v 狀態(tài)機建模v 層次化建模及語法v 簡單的Verilog HDL模塊編寫和測試Verilog HDL的級別劃分 系統(tǒng)級(system): 用高級語言結構實現設計模塊的外部性能的模 算法級(a
2、lgorithmic): 用高級語言結構實現設計算法的模型。 RTL級(Register Transfer Level): 描述數據在寄存器之間流動和如何處理這些數據的模型。 門級(gate-level): 描述邏輯門以及邏輯門之間的連接的模型。 開關級(switch-level): 描述器件中三極管和儲存節(jié)點以及它們之間連接的模型。合法和非法標識符合法的:非法的:shift_reg_a 34net bus263 2_m_pmos /不能用數字開頭_a_bus a*b_net /不能含有非字母符號* n263 /不能含有非字母符號Verilog 是大小寫敏感的。所謂標識別符就是用戶為程序描述中
3、的Verilog 對象所起的名字。標識符必須以英語字母(a-z, A-Z)起頭,或者用下橫線符( _ )起頭。其中可以包含數字、$符和下橫線符。特別標識符是用 “”符開始,以空格符結束的標識符。它可以包含任何可打印的ASCII字符。例如v 以下不正確的標識符名稱是 Sad_66 32100 _a_bus initial /data_out Module 2_m_pmos存儲器 memory型變量存儲器 memory型用一個寄存器數組來對存儲器建模。格式: reg msb:lsb 存儲器名 upper1:lower1;如: reg 3:0 MyMem 63:0; / 64個四位寄存器組v 如果要
4、聲明一個存儲器變量,存儲單元大小為8位,一共2048個存儲單元,存儲單元名稱為mem,代碼描述為: reg 7:0 mem2047:0 舉例說明數據類型的選擇module TADD(A, B, Sum1, Sum2, C,Sum3 ); iuput A, B, C; output Sum1, Sum2; inout Sum3;reg Sum1, Sum2; .endmodule module testbench;TADD T1(D1,D2,D3,D4,D5,D6);v D1:wire/reg 線網或寄存器型D2: wire/reg線網或寄存器型v D3:wire線網型D4: wire線網型v
5、D5: wire/reg 線網或寄存器型v D6: wire線網型運算符(操作符)及表達式v Verilog HDL中的運算符可以分為下述類型: 算術運算符:返回運算結果 關系運算符:返回邏輯值真假 相等運算符:返回真假,=和!=只識別1和0,=和!=能嚴格識別01xz 邏輯運算符:邏輯與或非,& | !返回真假 按位運算符:按位運算,返回結果長度與運算前相同 縮減(歸約)運算符:從左至右依次運算,直至最后一位結果,所以最后結果為1位 移位運算符:左移擴位,右移長度不變 條件運算符:?:條件滿足輸出冒號前的式子,不滿足輸出冒號后的式子 拼接運算符: 注意其中各位必須指明寬度三類時延值v 對于每
6、個時延定義,總共能夠指定三類時延值: 上升時延 下降時延 關閉時延assign # (rise, fall, turn-off) LHS = RHS_expr ;v 如果右端從非0向量變化到0向量,那么就使用下降時延。如果右端值到達z,那么使用下降時延;否則使用上升時延。 assign #4 Ask = Quiet | | Late; / One delay value. assign # (4,8) Ask = Quick ; / Two delay values. assign # (4,8,6) Arb = & DataBus; / Three delay values. Arb變?yōu)?的
7、時延是8; Arb變?yōu)?的時延是4。timescale使用舉例 timescale 1ns/100ps module AndFunc(Z,A,B); output Z; input A,B; and #(5.22,6.17) Al(Z,A,B);/規(guī)定了上升及下降時延值。 endmodulev 編譯器指令定義時延以ns為單位,并且時延精度為1/10ns(100ps)。過程性賦值v 過程性賦值分兩類: 阻塞性過程賦值=、非阻塞性過程賦值=v 過程性賦值是僅僅在initial語句或always語句內的賦值,它只能對寄存器數據類型的變量賦值。表達式的右端可以是任何表達式。 . . . 連續(xù)性賦值與過
8、程性賦值比較過程賦值v 在always語句或initial語句內出現,執(zhí)行與周圍其它語句有關v 驅動寄存器regv 使用“=”或“=”賦值符號v 無assign關鍵詞連續(xù)賦值v 在一個模塊內出現v 與其它語句并行執(zhí)行;在右端操作數的值發(fā)生變化時執(zhí)行v 驅動線網wirev 使用“=”賦值符號v 有assign關鍵詞函數與任務的區(qū)別v (1)函數只能與主模塊共用同一個仿真時間單位,而任務可以定義自己的仿真時間單位。v (2)函數不能啟動任務,而任務能啟動其他任務和函數。v (3)函數至少要有一個輸入變量,而任務可以沒有或有多個任何類型的變量。v (4)函數返回一個值,而任務則不返回值v 函數的關鍵
9、詞是function;任務的關鍵詞是taskVerilog HDL中的循環(huán)語句和塊語句forever循環(huán)repeat循環(huán)while循環(huán)for 循環(huán)順序塊與并行塊運行后下列變量A,B,C, D的二進制值v reg 7:0 A, B,C;v wire D;v initialv B = 3hff;v initialv A= 8bz0; . A=zzzzzzz0,B=00000111,C=xxxxxxxx,D=z賦值時右式左式位數不匹配時:若左多右少,按低位配齊,高位補零處理,若賦值的最高位為x或z,則向前補齊若右多左少,按低位配齊,高位舍去處理課堂練習v 用門級結構建模的方式描述下圖所示電路參考解答
10、module arch_model(D,A,B,C,Eout);input A,B,C,D;output Eout;wire A,B,C,D,Abar,Bbar,T1,T2,T3;not iv1(Abar,A), iv2(Bbar,B);and ad(T1,D,Abar);nor nr(T3,C,Bbar);xor xr(T2,A,Bbar);xnor xn(Eout,T1,T2,T3,C); endmodule 練習:運用數據流建模描述下圖電路module FA _Df (A, B, Cin, Sum, Cout ) ;input A,B,Cin;output Sum,Cout;wire A
11、,B,c,d,e,f,Cin,Sum,Cout;assign c=AB;assign d=A&Cin;assign e=B&Cin;assign f=c&Cin;assign Sum=cCin;assign Cout=e|d|f;endmodule有限狀態(tài)機的分類v Moore FSM(摩爾有限狀態(tài)機) 特點:Moore FSM的輸出只與當前狀態(tài)有關 Moore FSM的描述方法:采用一個沿觸發(fā)的always語句及case語句。v Mealy FSM(米里有限狀態(tài)機) 特點:Mealy FSM的輸出與當前狀態(tài)和輸入有關。 其中Mealy有限狀態(tài)機又可分為同步Mealy狀態(tài)機和異步Mealy狀態(tài)
12、機千萬注意寫法!讀程序用國際圖形符號繪出門級結構示意圖moduleflop(data,clock,clear,q,qb);input data,clock,clear;output q , qb;wire a,b,c,d,e,f,nclock,ndata;nand #10 nd1(a,data,clock,clear), nd2(b,ndata,clock), nd4(d,c,b,clear),nd5(e,c,nclock), nd6(f,d,nclock),nd8(qb,q,f,clear);nand#9nd3(c,a,d), nd7(q,e,qb);not #10 iv1(ndata,da
13、ta), iv2(nclock,clock);endmodule1在代碼timescale 1ns/100ps中,定義的仿真時間精度是_2 寫出在VLSI設計流程中,常用的一種Verilog語言仿真軟件的名稱3 assign#(4,6,8)Due=&DataBus;語句中,Due變?yōu)?的時延是_,Due變?yōu)?的時延是_4 十進制數33用8位二進制基數表示為_;用十六進制基數表示為_5 模塊的端口有3中類型,分別是_6 如果要聲明一個儲存器變量,存儲單元大小為16位,一共4096個存儲單元,存儲單元名稱為ram_data,其代碼描述為:_7 VerilogHDL的規(guī)定中,內置的多輸出門有兩種,分
14、別是_8 Verilog中,可以使用門時延定義內置門中從任何輸入到其輸出的信號傳輸時延,一共有三類時延,分別是_9 常用的有限狀態(tài)機建模有兩種,分別是_10 在行為建模的always語句中,有兩種過程性賦值方式分別是(寫出名稱和符號)_11、調用模塊(實例化)有兩種端口連接方式,方法分別為_。12、常用的建模級別有_。13、行為級建模中使用_語句作為主要的建模語句。14、按語句的執(zhí)行順序來區(qū)分,Verilog HDL語句中有_兩種類語句塊。15、順序塊和并行塊使用兩種類型的塊語句。順序塊使用關鍵字_,而并行塊使用關鍵字_來表示。16、Verilog設計中可以把在多個地方都使用的部分程序編寫成_
15、,在需要的地方調用這些程序,以避免重復編碼。讀代碼timescale 1ns/10psModule Phase(Master_Clk, Slave_Clk);Output Master_Clk, Slave_Clk;reg Master_Clk;wire Slave_Clk;parameter ON=2, tOFF=3, tPHASE_DELAY=1;alwaysbegin #tON Master_Clk = 0; #tOFF Master_Clk = 1;EndAssing #tPHASE_DELAY Slave_Clk = Master_Clk;Endmodule結構建模Module SADD(A,B,Sum1,Sum2
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 入股經營合作合同范例
- 住宅開荒保潔合同范例
- 三方貨物合同范例
- 個人按揭房屋合同范例
- 物聯(lián)網在智慧建筑設計和施工中的應用
- 騰訊會議授課培訓
- 2025年小學水滸傳基礎試題及答案
- 2025年石油筆試題庫及答案
- 公司貸款經銷合同范例
- 移動應用的用戶獲取技巧
- GB/T 5778-1986膨脹合金氣密性試驗方法
- GB/T 5455-2014紡織品燃燒性能垂直方向損毀長度、陰燃和續(xù)燃時間的測定
- GB/T 5117-2012非合金鋼及細晶粒鋼焊條
- GB/T 3782-2006乙炔炭黑
- 大國醫(yī)魂:800年滋陰派與600年大德昌課件
- 真核生物的轉錄
- 《電商企業(yè)財務風險管理-以蘇寧易購為例開題報告》
- 公司組織架構圖(可編輯模版)
- 中小學綜合實踐活動課程指導綱要
- 清淤工程施工記錄表
- 黃河上游歷史大洪水市公開課金獎市賽課一等獎課件
評論
0/150
提交評論