從硬件級別說明for和if..else的利弊

1.實際工作中,除了描述仿真測試激勵時使用for循環語句外,極少在RTL級編碼中使用for循環

 

這是因爲for循環會被綜合器展開爲所有變量情況的執行語句,每個變量獨立佔用寄存器資源,不能有效的複用硬件邏輯資源,造成巨大的浪費。一般常用case語句代替。

 

2. if…else…和case在嵌套描述時是有很大區別的

 

if…else…是有優先級的,一般來說,第一個if的優先級最高,最後一個else的優先級最低。而case語句是平行語句,它是沒有優先級的,而建立優先級結構需要耗費大量的邏輯資源,所以能用case的地方就不要用if…else…語句。

 

補充:1.也可以用if…; if…; if…;描述不帶優先級的“平行”語句。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章