verilog實(shí)驗(yàn)報(bào)告---程超_第1頁(yè)
verilog實(shí)驗(yàn)報(bào)告---程超_第2頁(yè)
verilog實(shí)驗(yàn)報(bào)告---程超_第3頁(yè)
verilog實(shí)驗(yàn)報(bào)告---程超_第4頁(yè)
verilog實(shí)驗(yàn)報(bào)告---程超_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上西 安 郵 電 學(xué) 院基于Verilog的數(shù)字電路模擬實(shí)驗(yàn)系部名稱(chēng):通信與信息工程學(xué)院學(xué)生姓名:張宏揚(yáng)專(zhuān)業(yè)名稱(chēng):通信工程班 級(jí):通工0809學(xué)號(hào):(01)時(shí)間:2010年12月20號(hào)實(shí)驗(yàn)題目 門(mén)級(jí)建模仿真實(shí)驗(yàn)一、實(shí)驗(yàn)內(nèi)容 設(shè)計(jì)的一個(gè)帶有清零的順序輸出結(jié)果的計(jì)數(shù)器,q從0計(jì)數(shù)到15二、技術(shù)規(guī)范1、 輸入引腳:reset,clk;輸出引腳:q。2、 功能:這時(shí)也個(gè)具有清零的計(jì)數(shù)器,從0到15輸出的。在其中用到了T觸發(fā)器和D觸發(fā)器來(lái)實(shí)現(xiàn)它的功能。三、實(shí)驗(yàn)步驟1、在modulesim軟件中對(duì)設(shè)計(jì)模塊和驗(yàn)證模塊進(jìn)行書(shū)寫(xiě)和編譯;2、對(duì)編譯好的模塊進(jìn)行仿真。四、源代碼:/脈動(dòng)進(jìn)位計(jì)

2、數(shù)器頂層模塊module ripple_carry_counter(q,clk,reset);output 3:0q;input clk,reset;/生成了4個(gè)T觸發(fā)器(T_FF)的實(shí)例,每個(gè)都有自己的名字T_FF tff0(q0,clk,reset);T_FF tff1(q1,q0,reset);T_FF tff2(q2,q1,reset);T_FF tff3(q3,q2,reset);endmodule/觸發(fā)器T_FFmodule T_FF(q,clk,reset);output q;input clk,reset;wire d;D_FF dff0(q,d,clk,reset);not

3、n1(d,q); /非門(mén)(not)是Verilog語(yǔ)言的內(nèi)置原語(yǔ)部件(primitive)endmodule/D觸發(fā)器(D_FF)/帶異步復(fù)位的D觸發(fā)器(D_FF)module D_FF(q,d,clk,reset);output q;input d,clk,reset;reg q;/可以有許多種新結(jié)構(gòu),不考慮這些結(jié)構(gòu)的功能,只需要注意設(shè)計(jì)塊是如何以自頂向下的方式編寫(xiě)的always (posedge reset or negedge clk)if (reset) q= 1b0;else q= d;endmodulemodule stimulus;reg clk;reg reset;wire 3

4、:0q;/引用已經(jīng)設(shè)計(jì)好的模塊實(shí)例ripple_carry_counter r1(q,clk,reset);/控制驅(qū)動(dòng)設(shè)計(jì)塊的時(shí)鐘信號(hào),時(shí)鐘周期為10個(gè)時(shí)間單位initialclk = 1b0; /把clk設(shè)置為0always #5 clk = clk; /每5個(gè)時(shí)間單位時(shí)鐘翻轉(zhuǎn)一次/控制驅(qū)動(dòng)設(shè)計(jì)塊的reset信號(hào)initialbegin reset = 1b1; #15 reset = 1b0; #180 reset = 1b1; #10 reset = 1b0; #20 $finish; /終止仿真end/監(jiān)視輸出initial $monitor($time, Output q = %d,

5、q);endmodule五、仿真結(jié)果及分析ClkReset013241501201q3:0仿真輸出結(jié)果: 0 Output q = 0 20 Output q = 1 30 Output q = 2 40 Output q = 3 50 Output q = 4 60 Output q = 5 70 Output q = 6 80 Output q = 7 90 Output q = 8 100 Output q = 9 110 Output q = 10 120 Output q = 11 130 Output q =12 140 Output q = 13 150 Output q =14

6、 160 Output q =15 170 Output q = 0 180 Output q = 1190 Output q = 2195 Output q = 0210 Output q = 1220 Output q = 2實(shí)驗(yàn)題目 RS鎖存器一、實(shí)驗(yàn)內(nèi)容帶有延遲的RS鎖存器,寫(xiě)出其帶有延遲的Verilog門(mén)級(jí)描述。編寫(xiě)其激勵(lì)模塊,根據(jù)下面的輸入-輸出關(guān)系表對(duì)其功能進(jìn)行驗(yàn)證。setresetQn+100Qn01010111?在設(shè)計(jì)完成后,寫(xiě)出激勵(lì)模塊對(duì)其進(jìn)行仿真。二、技術(shù)規(guī)范1、 輸入引腳:reset,set;輸出引腳: q,qbar,out。2、 功能:這是具有延遲的RS鎖存器。Res

7、et為置位端,set為置零端。三、實(shí)驗(yàn)步驟1、在modulesim軟件中對(duì)設(shè)計(jì)模塊和驗(yàn)證模塊進(jìn)行書(shū)寫(xiě)和編譯;2、對(duì)編譯好的模塊進(jìn)行仿真。四、源代碼:RS鎖存器1. 設(shè)計(jì)模塊:module SR_lach(q,qbar,reset,set); output q,qbar; input reset,set; nand #1(q,reset,qbar); nand #1(qbar,set,q);endmodule 2. 驗(yàn)證模塊:module Top; wire Q,Qbar; reg Reset,Set; SR_latch (.reset(Reset),.q(Q),.qbar(Qbar),.set

8、(Set); initial begin $monitor($time,Set=%b,Reset=%b,Q=%bn,Set,Reset,Q); Set=0;Reset=0; #5 Reset=1; #5 Reset=0; #5 Set=1; #5 $finish; endendmodule五、仿真結(jié)果及分析RS鎖存器實(shí)驗(yàn)題目: 兩個(gè)四位二進(jìn)制的比較器一、實(shí)驗(yàn)內(nèi)容大小比較器的功能是比較兩個(gè)數(shù)之間的關(guān)系:大于、小于或等于。一個(gè)四位大小比較器的輸入是兩個(gè)四位數(shù)A和B。我們可以將它們寫(xiě)成下面的形式,最左邊的位為最高有效位:A =A(3) A(2) A(1) A(0)B =B(3) B(2) B(1)

9、B(0)兩個(gè)數(shù)的比較可以從最高有效位開(kāi)始,逐位進(jìn)行。如果兩個(gè)位不相等,則該位值為0的數(shù)為較小的數(shù)。為了用邏輯等式實(shí)現(xiàn)這個(gè)功能,我們需要定義一個(gè)中間變量x。注意下面實(shí)現(xiàn)的是同或(xnor)的功能。x (i) = A(i) B (i) + A (i) B (i) 大小比較器的三個(gè)輸出為:A_gt_B,A_lt_B和A_eq_B。其計(jì)算公式為:A_gt_B = A(3) B(3) + x(3) A(2) B(2) + x(3) x(2) A(1) B(1) + x(3) x(2) x(1) A(0) B(0)A_lt_B = A(3) B(3) + x(3) A(2) B(2) + x(3) x(2

10、) A(1) B(1) + x(3) x(2) x(1) A(0) B(0)A_eq_B = x (3) x (2) x (1) x (0)寫(xiě)出模塊magnitude_comparator的Verilog描述。寫(xiě)出激勵(lì)模塊并在模塊中實(shí)例引用magnitude_ comparator模塊。選擇A和B的幾種組合,對(duì)模塊的功能進(jìn)行測(cè)試。二、實(shí)驗(yàn)步驟1、在modulesim軟件中對(duì)設(shè)計(jì)模塊和驗(yàn)證模塊進(jìn)行書(shū)寫(xiě)和編譯;2、對(duì)編譯好的模塊進(jìn)行仿真。三、源代碼:module stimulus;reg 3:0 A_out,B_out;wire F1,F2,F3;magnitude_comparator sti(

11、A_out,B_out,F1,F2,F3);initialbegin # 0 A_out=4d0; B_out=4d1; # 10 A_out=4d2; B_out=4d2; # 10 A_out=4d5; B_out=4d1; # 10 A_out=4d15; B_out=4d10; # 10 A_out=4d10; B_out=4d3; # 10 A_out=4d6; B_out=4d6; # 10 A_out=4d8; B_out=4d14; # 10 A_out=4d12; B_out=4d12; # 20 $finish;endinitial begin $monitor($time

12、,A=%b,B=%b,A_gt_B=%d,A_it_B=%d,A_eq_B=%d,A_out,B_out,F1,F2,F3); endendmodule激勵(lì)塊:module magnitude_comparator(A,B,A_gt_B,A_it_B,A_eq_B);input 3:0 A,B;output A_gt_B,A_it_B,A_eq_B;wire 3:0 X;assign X0=(A0&B0) | (A0&B0), X1=(A1&B1) | (A1&B1), X2=(A2&B2) | (A2&B2), X3=(A3&B3) | (A3&B3);assign A_gt_B=(A3&B

13、3) | (X3&A2&B2) | (X3&X2&A1&B1) | (X3&X2&X1&A0&B0), A_it_B=(A3&B3) | (X3&A2&B2) | (X3&X2&A1&B1) | (X3&X2&X1&A0&B0), A_eq_B=X3&X2&X1&X0;endmodule四、仿真結(jié)果及分析實(shí)驗(yàn)題目:使用JK觸發(fā)器設(shè)計(jì)一個(gè)計(jì)數(shù)器一、 實(shí)驗(yàn)內(nèi)容:一個(gè)同步計(jì)數(shù)器可以使用主從JK觸發(fā)器來(lái)設(shè)計(jì)。設(shè)計(jì)一個(gè)同步計(jì)數(shù)器,其邏輯圖和JK觸發(fā)器的邏輯圖如書(shū)中圖所示。清零信號(hào)clear低電平有效,輸入數(shù)據(jù)在時(shí)鐘信號(hào)clock的上升沿被鎖存,觸發(fā)器在clock的下降沿輸出;當(dāng)count_enable信

14、號(hào)為低電平時(shí)停止計(jì)數(shù)。寫(xiě)出同步計(jì)數(shù)器的Verilog描述和激勵(lì)模塊,在激勵(lì)模塊中使用clear和count_enable對(duì)計(jì)數(shù)器進(jìn)行測(cè)試,并顯示輸出計(jì)數(shù)Q3:0。二、 技術(shù)規(guī)范:本次試驗(yàn)中共有三個(gè)模塊,分別是JK主從觸發(fā)器設(shè)計(jì)模塊,計(jì)數(shù)器設(shè)計(jì)模塊及激勵(lì)模塊。對(duì)于JK觸發(fā)器,共有四個(gè)輸入端(j,k,clear,clock),兩個(gè)輸出端(q,qbar),根據(jù)其實(shí)際電路結(jié)構(gòu)做出相應(yīng)的設(shè)計(jì);對(duì)于計(jì)數(shù)器模塊,有三個(gè)輸入端(clear,clock,counter_clock),四個(gè)輸出(Q3:0),使用的是四個(gè)JK觸發(fā)器和門(mén)電路組合,采用同步清零和同步脈沖構(gòu)成四位同步計(jì)數(shù)器;激勵(lì)模塊中根據(jù)技術(shù)模塊輸入端口

15、進(jìn)行相關(guān)賦值以便進(jìn)行仿真觀察;三、實(shí)驗(yàn)步驟:1在modulesim軟件中使用數(shù)據(jù)流建模進(jìn)行四位計(jì)數(shù)器設(shè)計(jì)及輸入;2.進(jìn)行編譯及仿真。四、 源代碼:JK觸發(fā)器模塊:module m_c_jkff(q,qbar,J,K,clear,clock);output q,qbar;input J,K,clear,clock;wire a,b,c,d,y,ybar,cbar;assign cbar=clock;assign #1 a=(J & qbar & clock & clear), b=(K & q & clock), y=(a & ybar), ybar=(y & b & clear), c=(y

16、& cbar), d=(ybar & cbar);assign #1 q=(c & qbar);assign #1 qbar=(d & clear & q); endmodule計(jì)數(shù)器模塊:module four_count_ff(Q,clear,clock,count_enable);output 3:0 Q;input clear,clock,count_enable;wire a1,a2,a3;assign a1=count_enable & Q0, a2=a1&Q1, a3=a2&Q2; m_c_jkff m1(Q0,count_enable,count_enable,clear,clock); m_c_jkff m2(Q1,a1,a1,clear,clock); m_c_jkff m3(Q2,a2,a2,clear,clock); m_c_jkff m4(Q3,a3,a3,clear,clock); endmodule激勵(lì)模塊:module stimulus;reg clock,clear,count_enable; wire 3:0 Q; initial $monitor($time,Count Q = %b Clear = %b,Q3:0,clear); four_count_ff f1(Q,clear,clock,count_enable);i

溫馨提示

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

評(píng)論

0/150

提交評(píng)論