打印

HDL语言中如何避免产生Latch?

[复制链接]
3575|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tigris|  楼主 | 2008-12-25 23:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    看许多资料里都强调要避免产生latch,方法是if,case等语句情况要完整。
    我写了个状态机的程序,但是还是产生了latch...

    其中关于Cnt的代码如下,在用ISE7.1综合后还是显示
    Xst:737 - Found 3-bit latch for signal <Cnt>.



    variable Cnt:STD_LOGIC_VECTOR(2 downto 0):="110";
 

    Cnt:=Cnt-1;            --计数器减1
    if(Cnt="000")then
    Next_state<=st0;       
      else
    Next_state<=st3;                      
      end if;

    迷糊了....

相关帖子

沙发
zjf0000| | 2008-12-26 10:13 | 只看该作者

组合逻辑条件要判断完整

组合逻辑条件要判断完整

使用特权

评论回复
板凳
tigris|  楼主 | 2008-12-26 14:22 | 只看该作者

那么

就是说Cnt 在000 001 010 011...等8种情况都要进行处理吗?

使用特权

评论回复
地板
zjf0000| | 2008-12-26 14:26 | 只看该作者

那是组合逻辑吗?

使用特权

评论回复
5
tigris|  楼主 | 2008-12-27 10:09 | 只看该作者

哦 只能放在时序逻辑里面呀....

在组合逻辑里面不能实现减计数吗?

使用特权

评论回复
6
yuhongwei| | 2008-12-28 21:16 | 只看该作者

尽量用signal

尽量用signal,少用variable,variable。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

76

主题

175

帖子

0

粉丝