名稱:多路彩燈控制器LED流水燈花型verilog(代碼在文末付費下載)
軟件:Quartus
語言:Verilog
代碼功能:
用quartus和modelism,設計一個多路彩燈控制器,能夠使花型循環(huán)變化,具有復位清零功能,并可以選擇花型變化節(jié)奏。具體要求如下:
1) 彩燈控制器由16路發(fā)光二極管構成,當控制開關打開時,能夠自動在6種不同的花型之間循環(huán)變化。
2) 控制器具有復位清零功能,當復位信號有效時,不管花型狀態(tài)如何,都會立即清零,恢復到初始狀態(tài)。
3) 設置節(jié)拍控制開關,控制多路彩燈的花型以快慢兩種節(jié)奏變化。
演示視頻:
部分代碼展示
//彩燈模式控制 module?LED_mode( input?clk_led,//輸入時鐘 input?rst_n,//復位 input?start_n,//開始 output?[15:0]?LED//輸出彩燈 ); reg?start_flag; always@(negedge?start_n?or?negedge?rst_n) if(rst_n==0)//復位 start_flag<=1'd0; else?if(start_n==0)//開始 start_flag<=1'd1; reg?[5:0]?led_cnt=6'd0;//led計數(shù)器 always@(posedge?clk_led?or?negedge?rst_n) if(rst_n==0)//復位 led_cnt<=5'd0; else?if(start_flag)//開始 begin if(led_cnt>=6'd39)//0~39循環(huán) led_cnt<=5'd0; else led_cnt<=led_cnt+5'd1;//計數(shù) end reg?[15:0]?mode=16'b00000000_00000000; always@(posedge?clk_led?or?negedge?rst_n) if(rst_n==0)//復位 mode<=16'b0000000000000000; else case(led_cnt)//根據(jù)計數(shù)控制LED 5'd0:?mode<=16'b10000000_10000000;//從左向右移 5'd1:?mode<=16'b01000000_01000000; 5'd2:?mode<=16'b00100000_00100000; 5'd3:?mode<=16'b00010000_00010000; 5'd4:?mode<=16'b00001000_00001000; 5'd5:?mode<=16'b00000100_00000100; 5'd6:?mode<=16'b00000010_00000010; 5'd7:?mode<=16'b00000001_00000001; 5'd8:?mode<=16'b00000010_00000010;//從右向左移 5'd9:?mode<=16'b00000100_00000100; 5'd10:mode<=16'b00001000_00001000; 5'd11:mode<=16'b00010000_00010000; 5'd12:mode<=16'b00100000_00100000; 5'd13:mode<=16'b01000000_01000000; 5'd14:mode<=16'b10000000_10000000; 5'd15:mode<=16'b10000001_10000001;//從兩邊向中間移 5'd16:mode<=16'b01000010_01000010; 5'd17:mode<=16'b00100100_00100100; 5'd18:mode<=16'b00011000_00011000; 5'd19:mode<=16'b00011000_00011000;//從中間向兩邊移 5'd20:mode<=16'b00100100_00100100; 5'd21:mode<=16'b01000010_01000010; 5'd22:mode<=16'b10000001_10000001;
本代碼已在AX301開發(fā)板驗證,開發(fā)板資料:
AX301_UG.pdf
設計文檔(文檔點擊可下載):
1. 工程文件
2. 程序文件
3. 程序編譯
4. RTL圖
5. 管腳分配
6. Testbench
7. 仿真圖
整體仿真圖
時鐘頻率產生模塊
彩燈模式控制模塊
閱讀全文