請問verilog中出現了combinational loop該如何消除?
我用modelsim進行功能模擬,發現模擬結果非常完美,但就是有warning提示我出現了組合邏輯反饋環,請問是否有必要消除,如何消除。我會提供源碼,求教
1.組合邏輯環會生成latch。
2.要看這個latch,是不是你本身的設計意圖。
3.如果是設計時候就想清楚的,可以不消除。4.如果不是設計本身意圖,必須消除。原因是會導致sta無法分析時序。最終導致的結果是,你模擬看起來正確,實際的電路功能已經錯了。請關注我在「FPGA技術進階」專欄中的文章:
HDL編碼風格--最大隱患之組合邏輯環路
FPGA技術進階
找不到就說明你對電路不熟悉,模擬通過是基本操作,沒啥完不完美的
Verilog高級數字設計一書,你沒有好好看
必須消除!
最直接的辦法是在環上增加寄存器,但這樣可能影響到其他電路的行為,甚至導致功能錯誤。所以在修改時需要小心。
加寄存器切段反饋迴路
推薦閱讀: