1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 拨码开关控制LED

拨码开关控制LED

时间:2022-01-09 18:04:12

相关推荐

拨码开关控制LED

程序代码

module top(input clk,//20Mhz时钟input rst_n,input [3:0] key,output reg [4:0] led);//reg definereg [ 3:0] led_ctrl;reg [23:0] cnt;//parameter defineparameter delaytime=24'd1000_0000;// 20Mhz clock delay 0.5m//延时计数器always @ (posedge clk or negedge rst_n) beginif(!rst_n)cnt<=24'd0;elseif(cnt < delaytime)cnt <= cnt + 1'b1;elsecnt <= 24'd0;end//led灯状态寄存器always @ (posedge clk or negedge rst_n) beginif(!rst_n)led_ctrl <= 3'd0;elseif(cnt == delaytime)led_ctrl <= led_ctrl + 1'b1;else if ( led_ctrl == 3'd5)led_ctrl <= 3'd0;elseled_ctrl <= led_ctrl;end//根据按键来改变LED的状态always @ (posedge clk or negedge rst_n) beginif(!rst_n)led <= 5'b00000;elseif(key[0]==1'b1)case(led_ctrl)3'd0:led <= 5'b11110;3'd1:led <= 5'b11101;3'd2:led <= 5'b11011;3'd3:led <= 5'b10111;3'd4:led <= 5'b01111;endcaseelse if(key[1]==1'b1)case(led_ctrl)3'd0:led <= 5'b01111;3'd1:led <= 5'b10111;3'd2:led <= 5'b11011;3'd3:led <= 5'b11101;3'd4:led <= 5'b11110;endcaseelse if(key[2]==1'b1)case(led_ctrl)3'd0:led <= 5'b00000;3'd1:led <= 5'b11111;3'd2:led <= 5'b00000;3'd3:led <= 5'b11111;3'd4:led <= 5'b00000;endcaseelse if(key[3]==1'b1)led <= 5'b00000;elseled <= 5'b11111;endendmodule

测试文件代码

module TD_key_ctl_led;// Inputsreg clk;reg rst_n;reg [3:0] key;// Outputswire [4:0] led;parameter delaytime = 26'd10;// Instantiate the Unit Under Test (UUT)top #(.delaytime(delaytime)) uut (.clk(clk), .rst_n(rst_n), .key(key), .led(led));always #20 clk=~clk;//产生20M时钟信号initial begin// Initialize Inputsclk = 0;rst_n = 0;// Wait 100 ns for global reset to finish#20;rst_n = 1;key = 4'b1110;#3000;rst_n = 0;#20;rst_n = 1;key = 4'b1101;// Add stimulus hereendendmodule

ucf

# PlanAhead Generated physical constraints NET "led[4]" LOC = P12;NET "led[3]" LOC = P13;NET "led[2]" LOC = P15;NET "led[1]" LOC = P16;NET "led[0]" LOC = P20;NET "clk" LOC = P86;NET "rst_n" LOC = P82;NET "key[3]" LOC = P70;NET "key[2]" LOC = P71;NET "key[1]" LOC = P72;NET "key[0]" LOC = P73;

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。