Update led display.

This commit is contained in:
Colin 2025-04-20 21:31:53 +08:00
parent 4a1d9bd7d5
commit 834f964547
1 changed files with 14 additions and 7 deletions

View File

@ -3,11 +3,11 @@ module led(
output reg led // led 输出(高电平有效)
);
localparam MAX_DELAY_CNT = 1000000,
localparam MAX_DELAY_CNT = 50000000,
CYCLE_NUMBER = 100; //占空比分为0~100个级别
reg myclk;
reg [23:0] delay_cnt;
reg [31:0] delay_cnt;
reg [7:0] current_cycle;
reg flag;
reg [7:0] cycle;
@ -18,8 +18,8 @@ always@(posedge clk) begin
if(delay_cnt < MAX_DELAY_CNT)
delay_cnt <= delay_cnt + 1'b1;
else begin
delay_cnt <= 24'd1;
myclk <= ~myclk;
delay_cnt <= 32'd1;
myclk <= ~myclk; // 100Mhz
end
end
@ -52,10 +52,17 @@ always@(posedge clk)
//--------------------------------------------------------
// cycle小于current_cycle的时候是低电平
// cycle大于current_cycle并且小于CYCLE_NUMBER的时候是高电平
// always@(posedge clk)
// if((cycle == CYCLE_NUMBER) && (current_cycle != 0))
// led <= 1'b1;
// else if(cycle < current_cycle)
// led <= 1'b1;
// else
// led <= 1'b0;
always@(posedge clk)
if((cycle == CYCLE_NUMBER) && (current_cycle != 0))
led <= 1'b1;
else if(cycle < current_cycle)
if((delay_cnt[20:14] ==0) && myclk)
led <= 1'b1;
else
led <= 1'b0;