在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2210|回复: 8

[求助] 代码问题求解

[复制链接]
发表于 2015-3-17 09:53:57 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
各位大侠好!     我的部分代码如下:请问如果我加上最后一个else代码的内容,程序烧写到板子里时,在没有Fifo_rst复位的情况下,LED0-LED1微微的有点亮度;当我把最后那个else及代码去掉,重新编译烧写后,LED0-LED1亮度正常。不明白为啥?什么时候需要加上这个else,什么时候不需要加上呢?




  1. always@(posedge Clock or negedge Fifo_rst)
  2. begin
  3.         if(!Fifo_rst)begin
  4.                  LED0 <= 0;
  5.                  LED1 <= 0;
  6.         end
  7.         else if((Fcounter==0)&&(Read_data==255))begin
  8.                         LED0 <= 1;
  9.                         LED1 <= 1;
  10.                  end
  11.                 else begin
  12.                         LED0 <= 0;
  13.                         LED1 <= 0;
  14.                         end
  15. end


复制代码
发表于 2015-3-17 10:12:02 | 显示全部楼层
从代码不就可以看出来么- -
没有加else的时候除了复位,其它情况下LED0-1都是点亮状态,亮度自然最高;加了else LED0-1只有在(Fcounter==0)&&(Read_data==255)的情况下才被点亮,其它情况下都是灭的,如果FPGA时钟频率很高的话点亮的时间很短,人眼看上去自然亮度就低了。
发表于 2015-3-17 10:26:51 | 显示全部楼层
没有else并且没有复位的情况下,说有综合出来的寄存器都是X状态,也就是说会有弱电流影响,去掉else之后就是没有不复位的状况,电流完全受上拉下拉电阻控制,所以显示正常。
发表于 2015-3-17 17:37:55 | 显示全部楼层




   寄存器x状态是个什么状态
发表于 2015-3-17 18:33:04 | 显示全部楼层
没有else,寄存器默认保持。
发表于 2015-3-17 22:43:21 | 显示全部楼层
二楼正解
发表于 2015-3-19 23:26:41 | 显示全部楼层
二楼正解,个人认为不会有x状态出现,fpga上电加载完后,寄存器都有个默认值 在不特别设定的情况下 一般是0 你可以自己试一试 在定义寄存器的时候不设置初值 且 给寄存器赋值时不用复位 实现后用fpga editor看看
发表于 2015-3-20 08:48:31 | 显示全部楼层
二楼正解
发表于 2015-3-20 14:38:42 | 显示全部楼层
呵呵,这个问题比较简单哈
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-23 14:26 , Processed in 0.022014 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表