版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
西安郵電大學微電子系第三章
門級和數(shù)據(jù)流建模前言
Verilog模型可以是實際電路不同級別的抽象。這些抽象的級別和它們對應(yīng)的模型類型共有以下五種:
系統(tǒng)級(system)算法級(algorithmic)RTL級(RegisterTransferLevel):門級(gate-level):
開關(guān)級(switch-level)對于數(shù)字系統(tǒng)的邏輯設(shè)計工程師而言,熟練地掌握門級、RTL級、算法級、系統(tǒng)級是非常重要的。而對于電路基本部件(如門、緩沖器、驅(qū)動器等)庫的設(shè)計者而言,則需要掌握用戶自定義源語元件(UDP)和開關(guān)級的描述。本章我們將通過實際的VerilogHDL模塊的設(shè)計來學習如何從門級抽象的角度來設(shè)計數(shù)字電路。
3.1門級結(jié)構(gòu)描述門級建模:電路是用表示門的術(shù)語來描述的。一個邏輯網(wǎng)絡(luò)是由許多邏輯門和開關(guān)所組成,因此用邏輯門的模型來描述邏輯網(wǎng)絡(luò)是比較直觀方法。VerilogHDL提供預(yù)定義的一些門類型的關(guān)鍵字(原語),可以用于門級結(jié)構(gòu)建模。1.與非門、或門和反向器等及其說明語法VerilogHDL中有關(guān)門類型的關(guān)鍵字共有26個之多,我們只介紹最基本的八個。有關(guān)其它的門類型關(guān)鍵字,讀者可以通過翻閱VerilogHDL語言參考書,在設(shè)計的實踐中逐步掌握。下面列出了八個基本的門類型(GATETYPE)關(guān)鍵字和它們所表示的門的類型:
and 與門 nand 與非門 nor 或非門 or 或門 xor 異或門 xnor 異或非門 buf 緩沖器 not 非門
門的說明語法可以用標準的聲明語句格式和一個簡單的實例引用加以說明。
門聲明語句的格式如下:
<門的類型>[<驅(qū)動能力><延時>]<門實例1>,<門實例2>,…<門實例n>;
門的類型是門聲明語句所必需的,它可以是VerilogHDL語法規(guī)定的26種門類型中的任意一種。驅(qū)動能力和延時是可選項,可根據(jù)不同的情況選不同的值或不選。在verilog中通過“實例引用”這些邏輯門來構(gòu)造電路。具體的例子:
nand#10nd1(a,data,clock,clear);
這說明在模塊中引用了一個名為nd1的與非門(nand),輸入為data、clock和clear,輸出為a,輸出與輸入的延時為10個單位時間。2.門級結(jié)構(gòu)描述實例:D觸發(fā)器:
下例是用VerilogHDL語言描述的D型主從觸發(fā)器模塊
module
flop(data,clock,clear,q,qb);input data,clock,clear;output q,qb;
nand 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 nd3(c,a,d),nd7(q,e,qb);not iv1(ndata,data),iv2(nclock,clock);
endmodule門級多路選擇器:moduletwomux(out,a,b,sl);inputa,b,sl;outputout;notu1(nsl,sl);andu2(sela,a,nsl);andu3(selb,b,sl);oru4(out,sela,selb);endmodule
超前進位加法器和及進位輸出方程:若定義:
則:推出3.2數(shù)據(jù)流建模門級建模非常直觀。但是如果電路功能比較復(fù)雜,使用門級描述不但繁瑣而且容易出錯。需要設(shè)計者從更高的抽象層次進行電路設(shè)計。將設(shè)計的重點放在功能的實現(xiàn)上。在目前的數(shù)字設(shè)計領(lǐng)域,數(shù)據(jù)流建模是RTL級描述的重要的組成部分。數(shù)據(jù)流建模:指根據(jù)數(shù)據(jù)在寄存器之間的流動和處理過程對電路進行描述。連續(xù)賦值語句(assign)是verilog數(shù)據(jù)流建模的基本語句。assign[delay]LHS_net=RHS_expression;半加器的例子moduleHalfAdder(A,B,Sum,Carry);inputA,B;outputSum,Carry;assignSum=A^B;assignCarry=A&B;endmodule連續(xù)賦值語句的特點;1、assign語的左值必須是一個線網(wǎng)而不能是寄存器。2、assign語句總是處于激活狀態(tài),即:只要任意一個操作數(shù)發(fā)生變化,表達式就會被立即從新計算,并將結(jié)果賦給等號左邊的線網(wǎng)。3、操作數(shù)可以是線網(wǎng)型、寄存器型變量,也可以是函數(shù)調(diào)用。隱式連續(xù)賦值
//普通連續(xù)賦值wireout;assignout=in1&in2;//隱式賦值實現(xiàn)同樣功能
wireout=in1&in2;1、多路選擇器://用邏輯方程描述的多路選擇器moduletwomux(out,a,b,sl);inputa,b,sl;outputout;assignout=~sl&a|sl&b;endmodule數(shù)據(jù)流建模舉例//使用條件操作符描述的四選一多路選擇器
modulemux4_1(out,i0,i1,i2,i3,s0,s1);outputout;inputi0,i1,i2,i3;inputs0,s1;assignout=s1?(s0?i3:i2):(s0?i1:i0);endmodule2、四位全加器modulefulladder4(sum,cout,a,b,cin);output[3:0]sum;
outputcout;input[3:0]a,b;inputcin;assign{cout,sum}=a+b+cin;endmodule如何檢查上述例子其功能是否正確?需要有測試激勵信號輸入到被測模塊需要記錄被測模塊的輸出信號需要把用功能和行為描述的Verilog模塊轉(zhuǎn)換為門級電路互連的電路結(jié)構(gòu)(綜合)。需要對已經(jīng)轉(zhuǎn)換為門級電路結(jié)構(gòu)的邏輯進行測試(門級電路仿真)。需要對布局布線后的電路結(jié)構(gòu)進行測試。(布局布線后仿真)。
模塊的驗證被測模塊激勵和控制信號輸出響應(yīng)和驗證驗證程序一般是指描述一個設(shè)計確定的輸入序列和期望輸出的響應(yīng)的代碼的集合。Testbench是完全封閉的,沒有輸入也沒有輸出。驗證模塊常見的形式:`timescale時間單位/時間精度modulet;reg…;//聲明連接變量wire…;//聲明連接變量initialbegin…;…;…;end……//產(chǎn)生測試信號always#delaybegin…;end……//產(chǎn)生測試信號Testedmdm(.in1(ina),.in2(inb),.out1(outa),.out2(outb));//被測模塊的實例引用initialbegin….;….;….end//記錄輸出和響應(yīng)endmodule端口與外部信號的連接:1、順序端口連接連接到模塊實例的信號必須與模塊聲明時模塊端口列表中的位置保持一致。
modulefulladd4_tb;reg[3:0]A,B;
regC_IN;wire[3:0]SUM;wireC_OUT;fulladd4uut(SUM,C_OUT,A,B,C_IN);endmodulemodulefulladd4(sum,c_out,a,b,c_in);...endmodule2、命名端口連接:
在復(fù)雜的設(shè)計中,模塊可能具有很多個端口,在這種情況下,要記住列表中的順序是很困難的,而且容易出錯,verilog提供了另一種端口連接方式。
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 施工現(xiàn)場施工防生物安全事故制度
- 小學生心理健康教育的校本課程設(shè)計研究
- DB4404T 72-2024電梯維修保養(yǎng)服務(wù)安全規(guī)范
- 不服合作合同爭議仲裁起訴狀范本
- 個人股權(quán)轉(zhuǎn)讓合作合同模板
- 兩人合伙創(chuàng)業(yè)合同范本
- 個人股權(quán)轉(zhuǎn)讓合同簡單范文
- 二手房買賣合同簡易版
- 個人公寓租賃合同范本
- 產(chǎn)學研一體化碩士專班合作協(xié)議合同
- 行業(yè)會計比較(第三版)PPT完整全套教學課件
- 值機業(yè)務(wù)與行李運輸實務(wù)(第3版)高職PPT完整全套教學課件
- 高考英語語法填空專項訓(xùn)練(含解析)
- 42式太極劍劍譜及動作說明(吳阿敏)
- 部編版語文小學五年級下冊第一單元集體備課(教材解讀)
- GB/T 10095.1-2022圓柱齒輪ISO齒面公差分級制第1部分:齒面偏差的定義和允許值
- 仁愛英語九年級下冊單詞表(中英文)
- 危險化學品企業(yè)安全生產(chǎn)標準化課件
- 巨鹿二中骨干教師個人工作業(yè)績材料
- 《美的歷程》導(dǎo)讀課件
- 心電圖 (史上最完美)課件
評論
0/150
提交評論