【正文】
。b0000000000000000。b0000000000000000。b0010010000000000。b0100001000000000。b0100001000000000。b0100001000000000。b0001100000000000。b0000000000000000。b0000000000000000。b0000000000000000。b0100001000000000。b0000001000000000。b0001100000000000。b0100001000000000。b0011110000000000。b0000000000000000。b0000000000000000。b0000000000000000。b0100001000000000。b0000001000000000。b0110001000000000。b0100000000000000。b0111111000000000。b0000000000000000。shijian=539。 end end end //////////////////////////////////////無顯示 ////////////////////////////////////////////////// else begin c=1639。 end else if(t1k%16==14) begin c=1639。 end else if(t1k%16==12) begin c=1639。 end else if(t1k%16==10) begin c=1639。 end else if(t1k%16==8) begin c=1639。 end else if(t1k%16==6) begin c=1639。 end else if(t1k%16==4) begin c=1639。 end else if(t1k%16==2) begin c=1639。 end end else begin ////////////////////////////////////////佳 //////////////////////////////////////////////////////// if(t1k%16==0) begin 24 c=1639。 end else if(t1k%16==14) begin c=1639。 end else if(t1k%16==12) begin c=1639。 end else if(t1k%16==10) begin c=1639。 end else if(t1k%16==8) begin c=1639。 end else if(t1k%16==6) begin c=1639。 end else if(t1k%16==4) begin c=1639。 end else if(t1k%16==2) begin c=1639。p==0)) 21 begin ///////////////////////////////張 //////////////////////////////////////////////////////////////// if(t1%2==0) begin if((t1/2)%2==0) begin if(t1k%16==0) begin c=1639。 end end always (posedge clk1k) begin if(t1k16) begin t1k=t1k+1。 input[4:0] shijian。b0001:begin g2=clk2。b0010:begin g1=0。 end //we lv 439。 case(k) 439。r2=0。g1=0。r1=1。r2=1。g2=0。r1=0。 input[3:0] k。b1001111。b0001111。b0000110。 end shijian=t。 fangxiang=1。 output fangxiang。 t=t+1。 end else begin t=0。 output clk_out。 reg clk_out。 最后 對頂層設(shè)計進行功能仿真。交通燈模塊原理與 LED 燈模塊的電路原理一致,當有高電平輸入時LED 燈就會被點亮,反之不亮。在顯示時間小于 等于 5 秒的時候,通車方向的黃燈閃爍。本實驗需要用到實驗箱上交通燈模塊中的發(fā)光二極管,即紅、黃、綠各 四 個。閃爍若干次后,東西路口紅燈亮,而同時南北路口的綠燈亮,南北方向開始通車,延時一段時間后,南北路口的綠燈 閃爍, 紅燈亮(表示左轉(zhuǎn)彎) , 再延時一段時間后 , 黃燈開始閃爍。 二、 具體 要求 : 本實驗要完成任務(wù)就是設(shè)計一個簡單的交通燈控制器,交通燈顯示用實驗箱的交通燈模塊和七段碼管中的任意 兩個 來顯示。 輸出 2 組 顯示譯碼 信號(每組 7 個 輸出端 ),分別接到外部的 兩個 七段 數(shù)碼管 MM2 上 , M1 和 M2 分別顯示倒計時 的十位和個位 。 四 、 頂層 設(shè)計結(jié)果 總體設(shè)計結(jié)果 及線路連接: 開關(guān)功能注解: K1…………… 20s/30s 計時轉(zhuǎn)換 ; K2… ………… 自動 /人工模式轉(zhuǎn)換 ; K3…………… 東西向 通行 ; K4…………… 東西向左轉(zhuǎn)彎 ; K5…………… 南北向通行 ; K6…………… 東西向左轉(zhuǎn)彎 ; 頂層設(shè)計仿真源文件及波形 : ○ 1 K1=0(即 20s 計時), K2=0(即自動模式下) : 6 ○ 2 K1=0(即 20s 計時), K2=(即手動模式下): =1(即東西方向通行 ) =1(即東西方向左轉(zhuǎn)) 7 =1(即南北方向通行 ) =1(即南北方向左轉(zhuǎn)) 8 五 、各 子模塊 設(shè)計 時鐘分頻模塊 ( 1) 50MHz 分 1Hz: module fenpin1(clk_in,clk_out)。 end else if(t50000000) begin clk_out=1。 initial t=0。 input clk_in。 end else begin t=0。 reg[4:0] shijian。 13 fangxiang=!fangxiang。 1:seg1=739。 5:seg1=739。 9:seg1=739。 3:seg2=739。 always ( k2) begin if(k2==0) //自動控制 begin if(fangxiang==0amp。y2=0。y1=0。 16 end else if(fangxiang==1amp。y2=0。y1=0。g2=0。r1=0。r1=1。r2=0。r2=1。 integer t1k,t1。fangxiang==0amp。b0111111111111111。b1101111111111111。b1111011111111111。b1111110111111111。b1111111101111111。b1111111111011111。b1111111111110111。b1111111111111101。b0111111111111111。b1101111111111111。b1111011111111111。b1111110111111111。b1111111101111111。b1111111111011111。b1111111111110111。b1111111111111101。b1111111111111111。p==1)) begin //5 if(t1%2==0) begin 27 if((t1/2)%3==0) begin //////////////////////