encounter 发表于 2010-6-26 01:52:24

产生了latch如何消除?

本帖最后由 fpgaw 于 2010-7-13 13:40 编辑

Warning: Ports D and ENA on the latch are fed by the same signal gps:gps_u|compare_sec<br>
这个警告是不是很危险!有可能工作不稳定!要怎么消除

CHANG 发表于 2010-6-26 02:26:53

latch很容易发生问题,一般高手采用,建议还是用触发器的好,其实也不难,将你有latch的语句改成时序逻辑就可以了

interi 发表于 2010-6-26 04:21:17

尽量不要用latch,因为不符合可测性设计规范。<br>
latch通常在书写组合逻辑的时候一不小心就会出现,只要保证if 和else德成对出现就不会有latc产生了

UFP 发表于 2010-6-26 05:04:18

还有一种情况:<br>
如果有两个输出out1和out2。<br>
if (inputs)<br>
&nbsp; &nbsp;&nbsp; &nbsp;out1 &lt;= ***;<br>
else<br>
&nbsp; &nbsp;&nbsp; &nbsp;out2 &lt;= ***;<br>
也会产生latch

AAT 发表于 2010-6-26 05:28:45

你这种情况已经不是成对的if else了

AAT 发表于 2010-6-26 06:15:00

你这一个warning好像并不是说产生了latch,而是有其他的问题.

interige 发表于 2010-6-26 06:40:49

是说D和ENA端接了同一个信号

CTT 发表于 2010-6-26 07:12:15

据说避免latch是因为后端不好做,同问在逻辑设计中有什么好的方法可以消除

VVC 发表于 2010-6-26 08:21:44

对所有可能的输入条件,都有明确的输出,可以避免锁存器

usb 发表于 2010-6-26 10:10:38

受教了~~~~
页: [1] 2
查看完整版本: 产生了latch如何消除?