这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » FPGA » 菜鸟求助(LED 移位显示问题)

共6条 1/1 1 跳转至

菜鸟求助(LED 移位显示问题)

助工
2014-04-06 22:22:59     打赏
自己尝试写了一个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



关键词: LED 移位显示     Modelsim 仿真问题    

助工
2014-04-09 20:26:10     打赏
2楼
谢谢提醒,我下次注意

助工
2014-04-09 20:30:03     打赏
3楼
谢谢您的指点,我的本意,是初始状态4'b1111时高电平不点亮LED, 只有低电平点亮LED。

助工
2014-04-09 20:44:14     打赏
4楼
感谢各位的指点,谢谢
我试了把代码改成非阻塞赋值结果一样,改成阻塞赋值也是一样的结果,还是只有3个LED循环点亮,能在指点一下么?谢谢

助工
2014-04-10 20:08:46     打赏
5楼
谢谢您的指点

助工
2014-04-13 12:32:03     打赏
6楼
谢谢您的指点,谢谢

共6条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]