priority case语句
生活随笔
收集整理的這篇文章主要介紹了
priority case语句
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
priority case語句
一個priority case可能具有多個條件選項匹配
priority case語句指定:
- 至少有一個條件選項的值與條件表達式匹配
- 如果有多個條件選項的值與條件表達式匹配,必須執行第一個匹配分支
修飾符priority表示設計者認為兩個或多個條件選擇表達式可以同時為真,并且條件選項的順序非常重要。
//設計者指定了中斷請求信號譯碼順序的優先級, //irq0具有最高優先級always_combpriority case(1'b1)irq0:irq=4'b0001;irq1:irq=4'b0010;irq2:irq=4'b0100;irq3:irq=4'b1000;endcase因為模型已經明確指出了必須按順序對條件選項求值,所以如果多個條件選項匹配,所有的軟件工具都會按照給出的編碼優先級執行。
注意:綜合編譯器可能對條件選擇項求值的優化與RTL代碼 不同,即使使用了優先級條件一些綜合編譯器如果發現條件選擇項是互斥的,就很可能自動優化priority case語句來并行求值。
防止無意中產生鎖存邏輯
priority case語句必須指明所有條件
當case、casex或casez語句使用priority修飾符后,在運行期出現的條件表達式的所有值都至少要和一個條件選項匹配。如果沒有匹配的條件選項,工具會產生運行期警告。這樣就保證了在case語句求值時,有且只要一個分支執行。即case語句組合邏輯實現,不會產生鎖存器。
總結
以上是生活随笔為你收集整理的priority case语句的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 房贷逾期多久会影响征信,三天以上
- 下一篇: 回购是利好还是利空