




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、集成電路與Verilog語言 實(shí)驗(yàn)1:分別用門級(jí)建模、數(shù)據(jù)流級(jí)建模、和行為級(jí)建模實(shí)現(xiàn)一個(gè)2選1的MUX,兩個(gè)輸入端分別為A和B,當(dāng)選擇端SEL=0時(shí),輸出F選擇A;當(dāng)選擇端SEL=1時(shí),輸出F選擇B。ABSEL門級(jí)建模:源代碼:/MUX2to1 gatelevelmodule MUX_gate(a,b,sel,f); input a; input b; input sel; output f; reg f;wire nsel,y1,y2;not unot(nsel,sel);and u1and(y1,a,nsel);and u2and(y2,b,sel);or uor(f,y1,y2);end
2、module綜合結(jié)果:TB代碼:module tb_MUX_gate;/ Inputsreg a;reg b;reg sel;/ Outputswire f;/ Instantiate the Unit Under Test (UUT)MUX_gate uut (.a(a), .b(b), .sel(sel), .f(f);initial begin/ Initialize Inputsa = 0;b = 0;sel = 0;/ Wait 100 ns for global reset to finish#10/ Add stimulus herea=1;b=0;sel=0;#10; a=1;
3、b=0;sel=1;#10;#10$finish;endendmodule仿真結(jié)果:數(shù)據(jù)流級(jí)建模:源代碼:/MUX2to1 datapromodule MUX_datapro(a,b,sel,f); input a; input b; input sel; output f;reg f;wire nsel,y1,y2;assign nsel=sel;assign y1=a&nsel;assign y2=b&sel;assign f=y1|y2; endmodule綜合結(jié)果:TB代碼:module tb_MUX_datarpro;/ Inputsreg a;reg b;reg sel;/ Out
4、putswire f;/ Instantiate the Unit Under Test (UUT)MUX_datapro uut (.a(a), .b(b), .sel(sel), .f(f);initial begin/ Initialize Inputsa = 0;b = 0;sel = 0;/ Wait 100 ns for global reset to finish#10; / Add stimulus herea=1;b=0;sel=0;#10; a=1;b=0;sel=1;#10;#10$finish;enendmodule仿真結(jié)果:行為級(jí)建模:源代碼:/MUX2to1 beh
5、avmodule MUX_behav(f,a,b,sel);input a,b,sel;output f;reg f;reg y1,y2,nsel;always (a or b or sel)begin nsel =sel; y1 = a&nsel; y2 = b&sel; f = y1|y2; endendmodule綜合結(jié)果:TB代碼:module tb_MUX_behav;/ Inputsreg a;reg b;reg sel;/ Outputswire f;/ Instantiate the Unit Under Test (UUT)MUX_behav uut (.a(a), .b(b
6、), .sel(sel), .f(f);initial begin/ Initialize Inputsa = 0;b = 0;sel = 0;/ Wait 100 ns for global reset to finish#10; / Add stimulus herea=1;b=0;sel=0;#10; a=1;b=0;sel=1;#10;#10$finish;end endmodule仿真結(jié)果:實(shí)驗(yàn)2題目:實(shí)現(xiàn)一個(gè)計(jì)數(shù)器,計(jì)數(shù)時(shí)計(jì)數(shù)器可從0計(jì)到10。源代碼:module counter(din,up1_down0,clk,nrst,sta1_pau0,load,counter); inp
7、ut3:0 din; input up1_down0; input clk; input nrst; input sta1_pau0; input load; output 3:0 counter; reg 3:0 counter;always (posedge clk or negedge nrst)begin if(nrst) counter = 4b0000; else if(load) counter = din; else begin if(sta1_pau0) counter = counter; else if(up1_down0) if (counter = 10) count
8、er = 4b0000; else counter = counter + 1;else if (counter = 0) counter = 4b1010; else counter = counter - 1; end endendmodule綜合結(jié)果:TB代碼:module tb2;/ Inputsreg 3:0 din;reg up1_down0;reg clk;reg nrst;reg sta1_pau0;reg load;/ Outputswire 3:0 counter;/ Instantiate the Unit Under Test (UUT)counter uut (.di
9、n(din), .up1_down0(up1_down0), .clk(clk), .nrst(nrst), .sta1_pau0(sta1_pau0), .load(load), .counter(counter); initial clk = 1b0; always #5 clk = clk;initial begin/ Initialize Inputsdin = 0;up1_down0 = 0;nrst = 0; sta1_pau0 = 0;load = 0;/ Wait 100 ns for global reset to finish#50;/ Add stimulus here/
10、從0開始加計(jì)數(shù) din = 4b0111;nrst = 1; up1_down0 = 1;sta1_pau0 = 1;#210;/暫停sta1_pau0 = 0; #20;/從7開始減計(jì)數(shù)load = 1; #10; load = 0;sta1_pau0 = 1; up1_down0 = 0;#200;#20 $finish;end endmodule仿真結(jié)果:實(shí)驗(yàn)3題目:由Morre狀態(tài)機(jī)設(shè)計(jì)一個(gè)簡(jiǎn)單的交通燈,假定紅燈時(shí)間為9個(gè)時(shí)間單位,綠燈時(shí)間為6個(gè)時(shí)間單位,黃燈時(shí)間為3個(gè)時(shí)間單位。源代碼:module light_machine(clk,nrst,y,t); input clk; inp
11、ut nrst; output 1:0 y; output 3:0 t; reg 3:0 q; reg 1:0 y; reg 1:0 state; reg 3:0 t; parameter green = 2b00,yellow = 2b01,red = 2b11;initial begin q = 4b0; t = 4b0;endalways (posedge clk or negedge nrst)begin if(!nrst) begin state = green; y = 2bz; end else case(state) green: begin q = q +1; t = q;
12、if(q = 5) begin q = 4b0; state = yellow; end else begin y = 2b00; state = green; end end yellow: begin q = q +1; t = q; if (q = 2) begin q = 4b0; state = red;end else begin y = 2b01; state = yellow; end end red: begin q = q + 1; t = q; if (q = 8) begin q = 4b0; state = green;end else beginy = 2b11;s
13、tate = red;end end endcaseendendmodule綜合結(jié)果:TB代碼:module tb_2;/ Inputsreg clk;reg nrst;/ Outputswire 1:0 y;wire 3:0 t;/ Instantiate the Unit Under Test (UUT)light_machine uut (.clk(clk), .nrst(nrst), .y(y), .t(t); initial clk = 1b0; always #5 clk = clk; initial begin/ Initialize Inputsnrst = 0;/ Wait
14、100 ns for global reset to finish#30; / Add stimulus herenrst = 1;#500;#20$finish;end endmodule仿真結(jié)果:實(shí)驗(yàn)4題目:對(duì)一個(gè)400MHz的時(shí)鐘分別完成2、4、8分頻。源代碼:module divclk(clkin,nrst,din, clkout); input clkin; input nrst; input 1:0 din; output clkout; reg 28:0 q; reg clkout; initialbegin q =29b0;end always (posedge clkin o
15、r negedge nrst)begin if(nrst) q = 29b0; else q = q + 29b1; endalways (posedge clkin)begin case(din) 2b00: clkout = q0; 2b01: clkout = q1; 2b10: clkout = q2; default: clkout = 1bz; endcaseendendmodule綜合結(jié)果:TB文件:module tb_div;/ Inputsreg clkin;reg nrst;reg 1:0 din;/ Outputswire clkout;/ Instantiate the
16、 Unit Under Test (UUT)divclk uut (.clkin(clkin), .nrst(nrst), .din(din), .clkout(clkout); initial clkin = 1b0; always #1.25 clkin = clkin; initial begin/ Initialize Inputsnrst = 0;din = 2b11;/ Wait 100 ns for global reset to finish#50; / Add stimulus herenrst = 1;din = 2b00;#50;din = 2b01;#50;din =
17、2b10;#50;din = 2b11;#50;#20$finish;end endmodule仿真結(jié)果:實(shí)驗(yàn)5題目:按照病情嚴(yán)重程度將8名病人分配到8個(gè)病房,1號(hào)病房病情最輕,8號(hào)病房病人病情最嚴(yán)重。每個(gè)病房有一個(gè)按鈕用于呼叫醫(yī)生,在醫(yī)生辦公室有個(gè)顯示屏,用于顯示哪個(gè)病房按了按鈕。由于病情不同,要求當(dāng)病情較嚴(yán)重的病房按了按鈕后,醫(yī)生辦公室的顯示屏要優(yōu)先顯示其病房號(hào)。源代碼:module priority_encoder(clk,I0,I1,I2,I3,I4,I5,I6,I7,Y); input clk; input I0; input I1; input I2; input I3; inpu
18、t I4; input I5; input I6; input I7; output 2:0 Y; reg 2:0 Y;always (posedge clk )begin if(I7) Y = 3b111; else if(I6) Y = 3b110; else if(I5) Y = 3b101; else if(I4) Y = 3b100; else if(I3) Y = 3b011; else if(I2) Y = 3b010; else if(I1) Y = 3b001; else if(I0) Y = 3b000; else Y = 3bz; endendmodule綜合結(jié)果:TB文件:module tb2;/ Inputsreg clk;reg I0;reg I1;reg I2;reg I3;reg I4;reg I5;reg I6;reg I7;/ Outputswire 2:0 Y;/ Instantiate the Unit Under Test (UUT)priority_encoder uut (.clk(clk), .I0(I0), .I1(I1), .I2(I2), .I3(I3), .I4(I4), .I5(I5), .I6(I6), .I7(I7), .Y(Y); initial clk = 1b0; alwa
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 暑假農(nóng)耕活動(dòng)方案
- 景區(qū)招親活動(dòng)方案
- 期末識(shí)字闖關(guān)活動(dòng)方案
- 暑假初中數(shù)學(xué)活動(dòng)方案
- 晨練閱讀活動(dòng)方案
- 村民民俗活動(dòng)方案
- 晚間例行活動(dòng)方案
- 村級(jí)跳繩活動(dòng)方案
- 本土教學(xué)活動(dòng)方案
- 木門家居類活動(dòng)方案
- 上海金山區(qū)屬國有企業(yè)招聘筆試真題2024
- 2025至2030中國生石灰行業(yè)市場(chǎng)深度調(diào)研及發(fā)展趨勢(shì)與投資方向報(bào)告
- 2024年 紹興市交通控股集團(tuán)公司招聘考試筆試真題試題含答案
- 維保人員培訓(xùn)管理制度
- 超限模板及高支模安全專項(xiàng)施工方案(論證后)
- 大隱靜脈患者的護(hù)理查房講課件
- 2025-2030年中國管道運(yùn)輸行業(yè)市場(chǎng)深度分析及發(fā)展前景與投資研究報(bào)告
- 2025-2030年中國汽車檢測(cè)行業(yè)市場(chǎng)深度調(diào)研及競(jìng)爭(zhēng)格局與投資發(fā)展?jié)摿ρ芯繄?bào)告
- 特性設(shè)備安全培訓(xùn)課件
- 九師聯(lián)盟2024-2025學(xué)年高二下學(xué)期6月摸底聯(lián)考英語試題(含答案)
- 2025年新高考1卷(新課標(biāo)Ⅰ卷)英語試卷
評(píng)論
0/150
提交評(píng)論