if-else語句
if-else語句所表達的電路邏輯語義具有串行性,也就是說生成的數字邏輯電路要在邏輯上滿足if-else所表達的先后判斷優先性語義。
if-else語句在綜合時會生成純組合邏輯和帶latch的時序邏輯。
例1 :純組合邏輯的生成
if語句的純組合邏輯的生成的充要條件是不會出現無else配對的if語句,因為缺失else配對的if語句會隱含保持值原來的不變,會引入latch。
例2 :帶有latch生成的電路
case語句
case語句在語義上有並行的含義,會生成mutiplexer電路,但是同時要注意,如果case沒有完全覆蓋所有情況,那么暗含着保持原來值的語義,會生成latch,可以加入default語句來避免這種情況。
例3 :case沒有完全覆蓋所有情況,default影響latch生成