led.v.bak
来自「本源码已通过调试,里面有简单的分频做法和点亮18个LED灯」· BAK 代码 · 共 58 行
BAK
58 行
module led(reset,clk_50mhz,led_out);
input reset,clk_50mhz;
output[17:0] led_out;
wire clk_5hz;
shift_led shift_led(clk_50mhz,reset,led_out);
divider_5hz divider_5hz(clk_50mhz,clk_5hz);
endmodule
//divider 50MHz-->5Hz
module divider_5hz(clk_50mhz,clk_5hz);
input clk_50mhz;
output clk_5hz;
reg clk_5hz;
reg [25:0] q;
always@(posedge clk_50mhz)
begin
if(q[23]&q[20]&q[19]&q[15]&q[12]&q[10]&q[9]&q[7])
q=0;
else
q=q+1;
end
always@(q)
begin
if(q[23]&q[20]&q[19]&q[15]&q[12]&q[10]&q[9]&q[7])
clk_5hz=1'b1;
else
clk_5hz=1'b0;
end
endmodule
//shift left
module shift_led(clk_5hz,reset,led_out);
input clk_5hz,reset;
output led_out;
reg[17:0] led_out;
always@(posedge clk_5hz or negedge reset)
begin
if(~reset)
led_out=000000000000000001;
else
begin
if(led_out==5'h20000)
led_out=5'h00001;
else
led_out=led_out<<1;
end
end
endmodule
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?