自己尝试写了一个4位的LED 移位显示工程,可是Modelsim 的LED 输出一直是初始状态4'b1111,尝试配置到开发板里面之后,却又只能循环显示3个LED。请教各位大大是哪里出了问题?谢谢
工程源代码如下:
module led_shift(sys_clk ,
sys_rstn ,
led
);
//
input sys_clk ;
input sys_rstn ;
output [3:0] led ;
//
reg [3:0] led ;
reg [24:0] delay_cnt ;
//
always@(posedge sys_clk or negedge sys_rstn)
begin
if(!sys_rstn)
delay_cnt<=25'd0;
else if(delay_cnt==25'd24999999)
delay_cnt<=25'd0;
else
delay_cnt<=delay_cnt+1'b1;
end
always@(posedge sys_clk or negedge sys_rstn)
begin
if(!sys_rstn)
led<=4'b1111;
else if(delay_cnt==25'd24999999)
led =led << 1;
else if(led== 4'b0000)
led = 4'b1111;
else
led<=led;
end
endmodule
TB源代码如下:
module led_shift_tb;
// Inputs
reg sys_clk;
reg sys_rstn;
// Outputs
wire [3:0] led;
led_shift led_shift_inst (
.sys_clk(sys_clk),
.sys_rstn(sys_rstn),
.led(led)
);
initial begin
// Initialize Inputs
sys_clk = 0;
sys_rstn = 0;
// Wait 100 ns for global reset to finish
#100;
sys_rstn = 1;
end
always
#10 sys_clk=~sys_clk;
endmodule
有奖活动 | |
---|---|
【有奖活动】智能可穿戴设备AR/VR如何引领科技新潮流! | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
【有奖活动】震撼来袭!这场直播将直击工程师的心灵! | |
“我想要一部加热台”活动,不花钱赢取开发好工具!活动开始了哦 | |
【有奖活动】伙伴们:您的“需求”解决了吗? |
打赏帖 | |
---|---|
【换取手持数字示波器】N32G430点亮数码管与串口打印、ADC被打赏40分 | |
老胖子聊电路--分析一个反馈电路被打赏50分 | |
【换取手持数字示波器】+点亮WS2812RGB灯被打赏50分 | |
【换取手持数字示波器】+线性调整器理论知识分享被打赏40分 | |
放大↔震荡被打赏50分 | |
【换取手持数字示波器】RTduino驱动ssd1306+sht31温湿度计被打赏40分 | |
【换取手持数字示波器】称植国产开源TobudOS到雅特力AT32F425被打赏40分 | |
【分享评测,赢取加热台】+Telink-泰凌微电子B91点灯篇被打赏20分 | |
【换取手持数字示波器】+精英板驱动LCD屏被打赏50分 | |
【换取手持数字示波器】+DFR0216全彩灯带WS2812示例分享被打赏50分 |