硬體描述語言與驗證
在組合電路中,比較長串的if・else if描述與條件互不重疊的case語句描述時的說明,下列何者正確?
- Aif・else if的串接會成為優先處理前面條件的電路,層級較深而容易變慢,但case容易成為平行選擇的電路
- B不論哪種寫法,合成出的電路都完全相同
- Ccase無法合成,只有if可以合成
查看答案與解析
正確答案:A. if・else if的串接會成為優先處理前面條件的電路,層級較深而容易變慢,但case容易成為平行選擇的電路
if・else if的串接意思是「第一個條件成立就採用它,否則檢查下一個」,所以會成為具有優先順序的電路(類似優先編碼器的形式),有多少條件就有多少個多工器串聯,延遲容易變長。以互不重疊的值來選擇的case,容易成為如同1級大型多工器的平行電路而較快。不過最近的合成工具多半會將兩者都最佳化。
- A. 正確。差異在於條件是否有優先順序。
- B. 電路可能會因有無優先順序而不同。
- C. case也可以合成。