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

[复制链接]
4526|5
 楼主| tigris 发表于 2008-12-25 23:26 | 显示全部楼层 |阅读模式
&nbsp;&nbsp;&nbsp;&nbsp;看许多资料里都强调要避免产生latch,方法是if,case等语句情况要完整。<br />&nbsp;&nbsp;&nbsp;&nbsp;我写了个状态机的程序,但是还是产生了latch...<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;其中关于Cnt的代码如下,在用ISE7.1综合后还是显示<br />&nbsp;&nbsp;&nbsp;&nbsp;Xst:737&nbsp;-&nbsp;Found&nbsp;3-bit&nbsp;latch&nbsp;for&nbsp;signal&nbsp;&ltCnt&gt.<br /><br /><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;variable&nbsp;Cnt:STD_LOGIC_VECTOR(2&nbsp;downto&nbsp;0):=&quot;110&quot;;<br />&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;Cnt:=Cnt-1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--计数器减1<br />&nbsp;&nbsp;&nbsp;&nbsp;if(Cnt=&quot;000&quot;)then<br />&nbsp;&nbsp;&nbsp;&nbsp;Next_state&lt=st0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br />&nbsp;&nbsp;&nbsp;&nbsp;Next_state&lt=st3;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end&nbsp;if;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;迷糊了....
zjf0000 发表于 2008-12-26 10:13 | 显示全部楼层

组合逻辑条件要判断完整

组合逻辑条件要判断完整
 楼主| tigris 发表于 2008-12-26 14:22 | 显示全部楼层

那么

就是说Cnt&nbsp;在000&nbsp;001&nbsp;010&nbsp;011...等8种情况都要进行处理吗?
zjf0000 发表于 2008-12-26 14:26 | 显示全部楼层

那是组合逻辑吗?

  
 楼主| tigris 发表于 2008-12-27 10:09 | 显示全部楼层

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

在组合逻辑里面不能实现减计数吗?
yuhongwei 发表于 2008-12-28 21:16 | 显示全部楼层

尽量用signal

尽量用signal,少用variable,variable。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

76

主题

175

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部