Verilog數(shù)字電路設(shè)計--實驗報告.docx

上傳人:good****022 文檔編號:116506470 上傳時間:2022-07-05 格式:DOCX 頁數(shù):53 大小:413.50KB
收藏 版權(quán)申訴 舉報 下載
Verilog數(shù)字電路設(shè)計--實驗報告.docx_第1頁
第1頁 / 共53頁
Verilog數(shù)字電路設(shè)計--實驗報告.docx_第2頁
第2頁 / 共53頁
Verilog數(shù)字電路設(shè)計--實驗報告.docx_第3頁
第3頁 / 共53頁

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《Verilog數(shù)字電路設(shè)計--實驗報告.docx》由會員分享,可在線閱讀,更多相關(guān)《Verilog數(shù)字電路設(shè)計--實驗報告.docx(53頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、Verilog數(shù)字電路設(shè)計實驗名稱Verilog數(shù)字電路設(shè)計班級130324姓名張先炳13031205同組者廖瑞13031191自動化與電氣工程學院2016年 4月25 日目錄目錄目錄2實驗一 簡單組合邏輯設(shè)計11 實驗目的12 實驗設(shè)備13 實驗內(nèi)容14 實驗代碼15 仿真結(jié)果2選作一:設(shè)計一個字節(jié)的比較器31 實驗要求32 模塊代碼33 測試代碼34 仿真結(jié)果4實驗二 簡單分頻時序邏輯電路的設(shè)計41 實驗目的42 實驗設(shè)備43 實驗內(nèi)容54 實驗代碼55 仿真結(jié)果6選作二:七段數(shù)碼管譯碼電路61 實驗要求62 模塊代碼73 測試代碼84 仿真結(jié)果8實驗三:利用條件語句實現(xiàn)計數(shù)分頻時序電路9

2、1 實驗目的92 實驗設(shè)備93 實驗內(nèi)容94 實驗代碼95 仿真結(jié)果116 實驗分析11選作三:設(shè)計一個單周期形狀的周期波形。111 實驗要求112 模塊代碼113 測試代碼124 仿真結(jié)果13實驗四:用always塊實現(xiàn)較復雜的組合邏輯131 實驗目的132 實驗設(shè)備133 實驗內(nèi)容144 實驗代碼145 仿真結(jié)果16選作四:運用always塊設(shè)計一個8路數(shù)據(jù)選擇器。161 實驗要求162 模塊代碼163 測試代碼174 仿真結(jié)果18實驗五:在 Verilog HDL中使用函數(shù)191 實驗目的192 實驗設(shè)備193 實驗內(nèi)容194 實驗代碼195 仿真結(jié)果21選作五:設(shè)計一個帶控制端的邏輯運

3、算電路221 實驗要求222 模塊代碼223 測試代碼234 仿真結(jié)果25實驗六:在Verilog HDL中使用任務(wù)(task)251 實驗目的252 實驗設(shè)備253 實驗內(nèi)容254 實驗代碼255 仿真結(jié)果28選作六:冒泡法排序281 實驗要求282 模塊代碼283 測試代碼294 仿真結(jié)果30選作七:串行輸入排序311 實驗要求312 模塊代碼313 測試代碼334 仿真結(jié)果345 實驗分析34實驗七:利用有限狀態(tài)機進行時序邏輯的設(shè)計351 實驗目的352 實驗設(shè)備353 實驗內(nèi)容354 實驗代碼355 仿真結(jié)果376 實驗分析37選作八:樓梯燈381 實驗要求382 模塊代碼383 測試

4、代碼454 仿真結(jié)果475 實驗分析47附:分工明細49Verilog仿真實驗報告 第49頁實驗一 簡單組合邏輯設(shè)計1 實驗目的1、掌握基本組合邏輯電路的實現(xiàn)方法。2、初步了解兩種基本組合邏輯電路的生成方法。3、學習測試模塊的編寫。4、通過綜合和布局布線了解不同層次仿真的物理意義。2 實驗設(shè)備安裝Modelsim-6.5c的PC機。3 實驗內(nèi)容描述一個可綜合的數(shù)據(jù)比較器,比較數(shù)據(jù)a 、b的大小,若相同,則給出結(jié)果1,否則給出結(jié)果0。4 實驗代碼模塊源代碼:module compare(equal,a,b); input a,b; output equal; assign equal=(a=b)

5、?1:0; endmodule測試代碼:timescale 1ns/1ns;include compare.vmodule compare_tb; reg a,b; wire equal; initial begin a=0; b=0; #100 a=0;b=1; #100 a=1;b=1; #100 a=1;b=0; #100 a=0;b=0; #100 $stop; #100 a=0;b=1; end compare m(.equal(equal),.a(a),.b(b); endmodule5 仿真結(jié)果選作一:設(shè)計一個字節(jié)的比較器1 實驗要求比較兩個字節(jié)的大小,如a7:0大于b7:0,則

6、輸出高電平,否則輸出低電平;并改寫測試模型,使其能進行比較全面的測試。2 模塊代碼module compare_8bit(result,a,b); input 7:0a,b; output result; assign result = (ab)?1:0; endmodule3 測試代碼timescale 1ns/1nsinclude compare_8bit.vmodule test; reg7:0a,b; wire result; initial begin a=8d0; b=8d0; #100 a=8d6;b=8d5; #100 a=8d9;b=8d9; #100 a=8d12;b=8d

7、15; #100 $stop; end compare_8bit m(.result(result),.a(a),.b(b); endmodule4 仿真結(jié)果實驗二 簡單分頻時序邏輯電路的設(shè)計1 實驗目的1、掌握最基本組合邏輯電路的實現(xiàn)方法。2、學習時序電路測試模塊的編寫。3、學習綜合和不同層次的仿真。2 實驗設(shè)備安裝Modelsim-6.5c的PC機。 3 實驗內(nèi)容用always塊和(posedge clk)或(negedge clk)的結(jié)構(gòu)表述一個1/2分頻器的可綜合模型,觀察時序仿真結(jié)果。4 實驗代碼模塊代碼:module half_clk(reset,clk_in,clk_out);

8、input clk_in,reset; output clk_out; reg clk_out; always (posedge clk_in) begin if(!reset)clk_out=0; else clk_out =clk_out; end endmodule測試代碼:timescale 1ns/100psdefine clk_cycle 50module text; reg clk,reset; wire clk_out; always #clk_cycle clk=clk; initial begin clk=0; reset=1; #10 reset=0; #110 rese

9、t=1; #100000 $stop; end half_clk m(.reset(reset),.clk_in(clk),.clk_out(clk_out); endmodule5 仿真結(jié)果選作二:七段數(shù)碼管譯碼電路1 實驗要求設(shè)計一個七段數(shù)碼管譯碼電路。2 模塊代碼module qiduanma(in,out); input 3:0in; output6:0out; reg6:0out; always(in) begin case(in) 4b0000:out= 7b1111110; 4b0001:out= 7b0110000; 4b0010:out= 7b1101101; 4b0011:

10、out= 7b1111011; 4b0100:out= 7b0110011; 4b0101:out= 7b1011011; 4b0110:out= 7b0011111; 4b0111:out= 7b1110000; 4b1000:out= 7b1111111; 4b1001:out= 7b1110011; 4b1010:out= 7b0001101; 4b1011:out= 7b0011001; 4b1100:out= 7b0100011; 4b1101:out= 7b1001011; 4b1110:out= 7b0001111; 4b1111:out= 7b0000000; endcase

11、end endmodule3 測試代碼timescale 1ns/1ns;include qiduanma.vmodule test; reg3:0 in; wire6:0 out; integer t; initial begin in=4b0000; for(t=0;t4b1111;t=t+1) #100 in=in+1; end qiduanma m(.in(in),.out(out); endmodule4 仿真結(jié)果實驗三:利用條件語句實現(xiàn)計數(shù)分頻時序電路1 實驗目的1、掌握條件語句在簡單時序模塊設(shè)計中的使用。2、學習在Verilog模塊中應(yīng)用計數(shù)器。3、學習測試模塊的編寫、綜合和不同

12、層次的仿真。2 實驗設(shè)備安裝Modelsim-6.5c的PC機。3 實驗內(nèi)容仿真一個可綜合風格的分頻器,將10MB的時鐘分頻為500KB的時鐘,定義一個計數(shù)器,原理同1/2分頻器一樣,只不過分頻變?yōu)?/20。4 實驗代碼模塊代碼:module fdivision(RESET,F10M,F500K); input F10M,RESET; output F500K; reg F500K; reg7:0j; always(posedge F10M) if(!RESET) begin F500K=0; j=0; end else begin if(j=9) begin j=0; F500K=F500K

13、; end else j=j+1; end endmodule測試代碼:timescale 1ns/100psdefine clk_cycle 50module test_fdivision; reg F10M,RESET; wire F500K_clk; always #clk_cycle F10M=F10M; initial begin RESET=1; F10M=0; #100 RESET=0; #100 RESET=1; #10000 $stop; end fdivision m(.RESET(RESET),.F10M(F10M),.F500K(F500K_clk);endmodule

14、5 仿真結(jié)果6 實驗分析書中程序if(j=19)段應(yīng)改為if(j=9)選作三:設(shè)計一個單周期形狀的周期波形。1 實驗要求利用10MHZ的時鐘,設(shè)計一個單周期形狀的周期波形。2 模塊代碼module exp3(RESET,F10M,F_OUT); input F10M,RESET; output F_OUT; reg F_OUT; reg15:0j; always(posedge F10M) if(!RESET) begin F_OUT=0; j=0; end else begin j=j+1; case(j) 199:F_OUT=1; 299:F_OUT=0; 499:j=0; endcase

15、 end endmodule3 測試代碼timescale 1ns/100psdefine clk_cycle 50module test_exp3; reg F10M,RESET; wire F; always #clk_cycle F10M=F10M; initial begin RESET=1; F10M=0; #100 RESET=0; #100 RESET=1; #1000000 $stop; end exp3 m2(.RESET(RESET),.F10M(F10M),.F_OUT(F);endmodule4 仿真結(jié)果實驗四:用always塊實現(xiàn)較復雜的組合邏輯1 實驗目的1、掌握用

16、always實現(xiàn)較大組合邏輯電路的方法。2、進一步了解assign與always兩種組合電路實現(xiàn)方法的區(qū)別和注意點。3、學習測試模塊中隨機數(shù)的產(chǎn)生和應(yīng)用。4、學習綜合不同層次的仿真,并比較結(jié)果。2 實驗設(shè)備安裝Modelsim-6.5c的PC機。3 實驗內(nèi)容設(shè)計一個簡單的指令譯碼電路,該電路通過對指令的判斷,對輸入數(shù)據(jù)執(zhí)行相應(yīng)的操作,包括加、減、與、或和求反,并且無論是指令作用的數(shù)據(jù)還是指令本身發(fā)生變化,都有要作出及時的反應(yīng)。4 實驗代碼模塊代碼:/-alu.v-define plus 3d0define minus 3d1define band 3d2define bor 3d3define

17、 unegate 3d4module alu(out,opcode,a,b);output7:0 out;reg7:0 out;input2:0 opcode;input7:0 a,b; /?always(opcode or a or b)begincase(opcode)plus: out = a + b; /?minus: out = a - b; /?band: out = a & b; /?bor: out = a | b; /?unegate: out = a; /?default: out = 8hx; /?endcaseendendmodule測試代碼:/-alutest.v-t

18、imescale 1ns/1nsinclude ./alu.vmodule alutest;wire7:0 out;reg7:0 a,b;reg2:0 opcode;parameter times=5;initialbegina =$random%256; /?0,255?b =$random%256; /?0,255?opcode = 3h0;repeat(times)begin#100 a =$random%256; b =$random%256; opcode = opcode+1;end#100 $stop;endalu alu1(out,opcode,a,b);endmodule5

19、仿真結(jié)果選作四:運用always塊設(shè)計一個8路數(shù)據(jù)選擇器。1 實驗要求每路輸入數(shù)據(jù)與輸出數(shù)據(jù)均為4位2進制數(shù),當選擇開關(guān)(至少3位)或輸入數(shù)據(jù)發(fā)生變化時,輸出數(shù)據(jù)也相應(yīng)地變化。2 模塊代碼module exp5(slt,in0,in1,in2,in3,in4,in5,in6,in7,out); input2:0slt; input3:0in0,in1,in2,in3,in4,in5,in6,in7; output 3:0out; reg 3:0out;always(in0 or in1 or in2 or in3 or in4 or in5 or in6 or in7 or slt) case

20、 (slt) 3d0: out = in0; 3d1: out = in1; 3d2: out = in2; 3d3: out = in3; 3d4: out = in4; 3d5: out = in5; 3d6: out = in6; 3d7: out = in7; endcaseendmodule3 測試代碼timescale 1ns/1nsmodule test_exp5_2; reg3:0in0,in1,in2,in3,in4,in5,in6,in7; reg2:0slt=0; reg clk; wire 3:0out; always #10 clk=clk; always(posed

21、ge clk) slt=slt+1; initial begin clk=0; begin in0=1; in1=3; in2=5; in3=7; in4=9; in5=11; in6=13; in7=15; end #160 begin in0=0; in1=2; in2=4; in3=6; in4=8; in5=10; in6=12; in7=14; end end exp5 m(.slt(slt),.in0(in0),.in1(in1),.in2(in2),.in3(in3),.in4(in4),.in5(in5),.in6(in6),.in7(in7),.out(out);endmod

22、ule4 仿真結(jié)果實驗五:在 Verilog HDL中使用函數(shù)1 實驗目的1、了解函數(shù)的定義和在模塊設(shè)計中的使用。2、了解函數(shù)的可綜合性問題。3、了解許多綜合器不能綜合復雜的算術(shù)運算。2 實驗設(shè)備安裝Modelsim-6.5c的PC機。3 實驗內(nèi)容做一個函數(shù)調(diào)用的示例,采用同步時鐘觸發(fā)運算的執(zhí)行,每個clk時鐘周期執(zhí)行一次運算,在測試模塊中,調(diào)用系統(tǒng)任務(wù)$display及在時鐘的下降沿顯示每次運算的結(jié)果。4 實驗代碼模塊代碼:module tryfunct(clk,n,result,reset); output31:0result; input3:0n; input reset,clk; re

23、g31:0result; always(posedge clk) begin if(!reset) result=0; else begin result=n*factorial(n)/(n*2)+1); end end function31:0factorial; input3:0operand; reg3:0index; begin factorial=operand?1:0; for(index=2;index=operand;index=index+1) factorial=index*factorial; end endfunction endmodule測試代碼:includetr

24、yfunct.vtimescale 1ns/100psdefine clk_cycle 50module test_tryfunct; reg3:0n,i; reg reset,clk; wire31:0result; initial begin clk=0; n=0; reset=1; #100 reset=0; #100 reset=1; for(i=0;i=15;i=i+1) begin #200 n=i; end #100 $stop; end always #clk_cycle clk=clk; tryfunct m(.clk(clk),.n(n),.result(result),.

25、reset(reset); endmodule5 仿真結(jié)果選作五:設(shè)計一個帶控制端的邏輯運算電路1 實驗要求分別完成正整數(shù)的平方、立方和最大數(shù)為5的階乘的運算,要求可綜合。編寫測試模塊,并給出各種層次的仿真波形,比較它們的不同。2 模塊代碼module tryfunct2(clk,n,result,reset,select); output31:0result; input3:0n; input1:0select; input reset,clk; reg31:0result; always(posedge clk) begin if(!reset) result=0; else begin

26、case(select) 0:result=square(n); 1:result=cube(n); 2:result=factorial(n); default:result=32hx; endcase end end function31:0square; input3:0operand; square=operand*operand; endfunction function31:0cube; input3:0operand; cube=operand*operand*operand; endfunction function31:0factorial; input3:0operand;

27、 reg3:0index; begin factorial=(operand&(operand=5)?1:0; for(index=2;index=operand;index=index+1) factorial=index*factorial; end endfunction endmodule3 測試代碼includetryfunct2.vtimescale 1ns/100psdefine clk_cycle 50module test_tryfunct2; reg1:0 select; reg3:0n,i; reg reset,clk; wire31:0result; initial b

28、egin clk=0; n=0; reset=1; #100 reset=0; #100 reset=1; for(select=0;select=2;select=select+1) for(i=0;i=6;i=i+1) begin for(select=0;selecty) begin tmp = x; x = y; y = tmp; endendtaskendmodule測試代碼:/-? sort4.v-module sort4(ra,rb,rc,rd,a,b,c,d); output3:0 ra,rb,rc,rd; input3:0 a,b,c,d; reg3:0 ra,rb,rc,r

29、d; reg3:0 va,vb,vc,vd;always (a or b or c or d) begin va,vb,vc,vd=a,b,c,d; sort2(va,vc);/va?vc? sort2(vb,vd); sort2(va,vb); sort2(vc,vd); sort2(vc,vd); sort2(vb,vc); ra,rb,rc,rd=va,vb,vc,vd; endtask sort2; inout3:0 x,y; reg3:0 tmp; if(xy) begin tmp = x; x = y; y = tmp; endendtaskendmodule5 仿真結(jié)果選作六:冒

30、泡法排序1 實驗要求模仿上面的例子用純組合邏輯實現(xiàn),用冒泡法設(shè)計一個能完成四個8位2進制數(shù)輸入數(shù)據(jù)的模塊。2 模塊代碼/-? sort4.v-module sort4_2(ra,rb,rc,rd,a,b,c,d); output7:0 ra,rb,rc,rd; input7:0 a,b,c,d; reg7:0 ra,rb,rc,rd; reg7:0 va,vb,vc,vd;always (a or b or c or d) begin va,vb,vc,vd=a,b,c,d; sort2(va,vb);/va?vc? sort2(va,vc); sort2(va,vd); sort2(vb,v

31、c); sort2(vb,vd); sort2(vc,vd); ra,rb,rc,rd=va,vb,vc,vd; endtask sort2; inout7:0 x,y; reg7:0 tmp; if(xy) begin tmp = x; x = y; y = tmp; endendtaskendmodule3 測試代碼timescale 1ns/100psinclude sort4_2.vmodule test_sort4_2; reg7:0 a,b,c,d; wire7:0 ra,rb,rc,rd; initial begin a=0;b=0;c=0;d=0; repeat(50) beg

32、in #100 a=$random%255;b=$random%255;c=$random%255;d=$random%255;end#100 $stop; endsort4_2 m(.a(a),.b(b),.c(c),.d(d),.ra(ra),.rb(rb),.rc(rc),.rd(rd);endmodule4 仿真結(jié)果選作七:串行輸入排序1 實驗要求假設(shè)8位數(shù)據(jù)是按照時鐘節(jié)拍串行輸入的,要求用時鐘觸發(fā)任務(wù)的執(zhí)行法,每個時鐘周期完成一次數(shù)據(jù)交換的操作。比較兩種方法的運行速度和消耗資源的不同。2 模塊代碼module sort4_3(ra,rb,rc,rd,in,clk); output7:

33、0 ra,rb,rc,rd; input7:0 in; input clk; reg7:0 ra,rb,rc,rd; reg7:0 va,vb,vc,vd; reg3:0i=0; always (posedge clk)begin case(i) 0:va=in; 1:vb=in; 2:vc=in; 3:vd=in; 4:sort2(va,vb); 5:sort2(va,vc); 6:sort2(va,vd); 7:sort2(vb,vc); 8:sort2(vb,vd); 9:begin sort2(vc,vd);ra,rb,rc,rd=va,vb,vc,vd;end default:i=1

34、5;/* 0:vay) begin tmp = x; x = y; y = tmp; endendtaskendmodule3 測試代碼timescale 1ns/100psinclude sort4_3.vdefine clk_cycle 50module test_sort4_3; reg7:0 in; reg clk; wire7:0 ra,rb,rc,rd; initial begin begin clk=0; repeat(50) #100 in=$random%255; end #100 $stop; end always #clk_cycle clk=clk;sort4_3 m(

35、.in(in),.clk(clk),.ra(ra),.rb(rb),.rc(rc),.rd(rd);endmodule4 仿真結(jié)果5 實驗分析在模塊程序的case語句中用到了10句,4句輸入,6句排序,這說明從輸入到排序完成在輸出,需要10個clk,其實可以通過改進縮短這個時間,可改為:case(i) 0:va=in; 1:begin vb=in;sort2(va,vb);end 2:begin vc=in;sort2(va,vc);end 3:begin vd=in;sort2(va,vd);end 4:sort2(vb,vc); 5:sort2(vb,vd); 6:begin sort2(

36、vc,vd);ra,rb,rc,rd=va,vb,vc,vd;end default:i=15; endcase仿真結(jié)果一樣,不過這里只用了7個clk,相比上面的方法節(jié)約了三個時鐘,速度得到提升,相比第一個并行輸入的方法,少了3個接口和一些寄存器,但時間卻差不多(第一個方法也是7個clk執(zhí)行完一次循環(huán))。實驗七:利用有限狀態(tài)機進行時序邏輯的設(shè)計1 實驗目的1、掌握利用有限狀態(tài)機實現(xiàn)一般時序邏輯分析的方法。2、掌握用Verilog編寫可綜合的有限狀態(tài)機的標準模板。3、掌握用Verilog編寫狀態(tài)機模塊的測試文件的一般方法。2 實驗設(shè)備安裝Modelsim-6.2b的PC機。3 實驗內(nèi)容編寫狀態(tài)機

37、程序檢測5位二進制系列“10010”。4 實驗代碼模塊代碼:module seqdet(x,z,clk,rst,state); input x,clk,rst; output z; output 2:0state; reg2:0state; wire z; parameter IDLE=d0,A=d1,B=d2,C=d3,D=d4,E=d5,F=d6,G=d7; assign z= (state=D&x=0)?1:0; always (posedge clk) if(!rst) state=IDLE; else casex(state) IDLE:if(x=1) state=A; A: if(

38、x=0) state=B; B: if(x=0) state=C;else state=F; C: if(x=1) state=D;else state=G; D: if(x=0) state=E;else state=A; E: if(x=0) state=C;else state=A; F: if(x=1) state=A;else state=B; G: if(x=1) state=F; default:state=IDLE; endcase endmodule測試代碼:timescale 1ns/1nsinclude seqdet.vmodule test_seqdet; reg cl

39、k,rst; reg23:0data; wire2:0state; wire z,x; assign x=data23; always #10 clk=clk; always(posedge clk) data=data22:0,data23; initial begin clk=0; rst=1; #2 rst=0; #30 rst=1; data =b1100_1001_0000_1001_0100; #500 $stop; end seqdet m(.x(x),.z(z),.clk(clk),.rst(rst),.state(state); endmodule5 仿真結(jié)果6 實驗分析書中

40、程序中的F、G狀態(tài)其實有些多余,F(xiàn)其實就對應(yīng)的A,G對應(yīng)的IDLE,因此完全可以將這兩個狀態(tài)去掉。另外,書中有個要求是:當x序列10010的最后一個0到達時刻,z立刻輸出高電平,而書中程序assign z= (state=E&x=0)?1:0;并不能滿足這個要求,若改成assign z= (state=D&x=0)?1:0;便可實現(xiàn)。進一步可以看出,其實E狀態(tài)也其實可以去掉,因為在狀態(tài)D里輸入0便需要輸出1并切換到狀態(tài)C,輸入1則切換到狀態(tài)A,這樣亦可實現(xiàn)原功能。選作八:樓梯燈1 實驗要求 樓下到樓上依次有3個感應(yīng)燈:燈1、燈2、燈3。當行人上下樓梯時,各個燈感應(yīng)到后自動點亮,若在8s內(nèi)感應(yīng)信

41、號消失,則點亮8s,若感應(yīng)信號存在時間超過8s,則感應(yīng)信號消失4s后燈自動關(guān)閉。 任務(wù)1:做出如上邏輯電路設(shè)計并仿真; 任務(wù)2:考慮去抖情況,對于感應(yīng)信號到達存在毛刺(小于0.5s),設(shè)計合適邏輯并剔出。 任務(wù)3:若為節(jié)約能源,下一個燈點亮的同時將自動關(guān)閉上一個燈,做出如上邏輯設(shè)計并仿真(僅考慮一個人的情況); 任務(wù)4:考慮存在多個人上下樓梯的情況,比如:行人1已經(jīng)從燈1到達燈2,燈2受感應(yīng)自動點亮,但此時行人2剛上樓梯到達燈1的位置,則燈1和燈2都須點亮,更加復雜一點,如果行人2是下樓梯剛到達燈3位置,做出如上邏輯設(shè)計并仿真; 注意:1.上下樓梯順序 2.時鐘頻率為10Hz 3.感應(yīng)信號為電

42、平信號2 模塊代碼module stair_light(light1,light2,light3,s1,s2,s3,rst,state,clk); input s1,s2,s3,rst,clk; output light1,light2,light3; output2:0state; reg2:0state; reg7:0i1,i2,i3,t11,t12,t21,t22,t31,t32; reg e1,e2,e3,e1_d,e2_d,e3_d; wire light1,light2,light3,s1,s2,s3; assign light1=state2; assign light2=sta

43、te1; assign light3=state0; /light1 always(posedge clk) begin if(s1) begin i1=i1+1; if(i15) begin if(i180) begin t12=t12-1; if(t12=0) begin e1=0;i1=0;end end end end end /light2 always(posedge clk) begin if(s2) begin i2=i2+1; if(i25) begin if(i280) begin t22=t22-1; if(t22=0) begin e2=0;i2=0;end end end end end /light3 always(posedge clk) begin if(s3) begin i3=i3+1; if(i35) begin if(i380) begin t32=t32-1; if(t32=0) begin e3=0;i3=0;end end end end end/delay signals always(posedge clk

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!