原创 防止产生非目的性latch

2013-11-27 22:44 735 9 9 分类: FPGA/CPLD

措施如下:

1.使用完备的If...else语句。

例如:reg data_out;

            always @ (cond_1,data_in)

            begin

                 if (cond_1)

                              data_out<=data_in;

                 end

2.检查设计中是否含有组合逻辑反馈环路。

例如:

 

qq图片20131127224256.jpg

3.为每个输入条件,设计输出操作,对case语句设置default操作。特别是在状态机设计中,最好有一个default的状态转移,而且每个状态最好也有一个default的操作。

4.如果使用case语句时,特别是在设计状态机时,尽量附加综合约束属性,综合为完全条件case语句(full case)。目前,大多数综合工具支持full case的综合约束属性,具体的语法请参考综合工具的约束属性指南。

注意:仔细检查综合器的综合报告,目前大多数的综合器对所综合出的latch都会报“warning”,通过综合报告可以较为方便地找出无意中生成的latch。

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
9
关闭 站长推荐上一条 /3 下一条