名稱:BCD碼計數(shù)器Verilog代碼vivado仿真
軟件:vivado
語言:Verilog
代碼功能:
(BCD碼計數(shù)器)設(shè)計一個模60的BCD碼加法計數(shù)器。提示:可將個位和十位分別進行描述,當個位為9時,則個位清零,同時十位加1;當十位為5和個位9時,十位和個位同時清零,其它時候個位在ck上升沿觸發(fā)下加1。
任務(wù)2:使用任務(wù)1中計數(shù)器,記錄秒脈沖的個數(shù)(秒脈沖信號作為計數(shù)器使能信號),輸出為8位BCD碼,輸出驅(qū)動開發(fā)板上8個LED指示燈,顯示計數(shù)結(jié)果。
FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com
演示視頻:
設(shè)計文檔:
1. 工程文件
2. 程序文件
3. 程序編譯
4. Testbench
5. 仿真圖
任務(wù)2仿真圖(秒脈沖計數(shù)器)
任務(wù)1仿真圖(BCD碼計數(shù)器)
部分代碼展示:
//任務(wù)1,BCD碼計數(shù)器 module?BCD( input?clk,//時鐘 input?rst_n,//復(fù)位 input?en,//使能信號 output?[3:0]?BCD_ten,//十位 output?[3:0]?BCD_one//個位 ); reg?[3:0]?ten;//十位 reg?[3:0]?one;//個位 always@(posedge?clk?or?negedge?rst_n) if(~rst_n)//復(fù)位 begin ten<=4'd0; one<=4'd0; end else?if(en)begin//使能信號 if(ten==4'd5?&&?one==4'd9)//十位為5,個位為9 begin//清零 ten<=4'd0; one<=4'd0; end else?if(one==4'd9)//個位為9 begin ten<=ten+4'd1;//十位加1 one<=4'd0;//清零 end else begin ten<=ten;//十位不變 one<=one+4'd1;//個位加1 end end assign?BCD_ten=ten;//輸出十位 assign?BCD_one=one;//輸出個位 endmodule
點擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=474