措施如下:
1.使用完备的If...else语句。
例如:reg data_out;
always @ (cond_1,data_in)
begin
if (cond_1)
data_out<=data_in;
end
2.检查设计中是否含有组合逻辑反馈环路。
例如:
3.为每个输入条件,设计输出操作,对case语句设置default操作。特别是在状态机设计中,最好有一个default的状态转移,而且每个状态最好也有一个default的操作。
4.如果使用case语句时,特别是在设计状态机时,尽量附加综合约束属性,综合为完全条件case语句(full case)。目前,大多数综合工具支持full case的综合约束属性,具体的语法请参考综合工具的约束属性指南。
注意:仔细检查综合器的综合报告,目前大多数的综合器对所综合出的latch都会报“warning”,通过综合报告可以较为方便地找出无意中生成的latch。
文章评论(0条评论)
登录后参与讨论