硬體描述語言與驗證

在組合電路中,比較長串的if・else if描述與條件互不重疊的case語句描述時的說明,下列何者正確?

  1. Aif・else if的串接會成為優先處理前面條件的電路,層級較深而容易變慢,但case容易成為平行選擇的電路
  2. B不論哪種寫法,合成出的電路都完全相同
  3. Ccase無法合成,只有if可以合成
查看答案與解析

正確答案:A. if・else if的串接會成為優先處理前面條件的電路,層級較深而容易變慢,但case容易成為平行選擇的電路

if・else if的串接意思是「第一個條件成立就採用它,否則檢查下一個」,所以會成為具有優先順序的電路(類似優先編碼器的形式),有多少條件就有多少個多工器串聯,延遲容易變長。以互不重疊的值來選擇的case,容易成為如同1級大型多工器的平行電路而較快。不過最近的合成工具多半會將兩者都最佳化。

  • A. 正確。差異在於條件是否有優先順序。
  • B. 電路可能會因有無優先順序而不同。
  • C. case也可以合成。
練習這個領域 前往領域頁面

硬體描述語言與驗證的其他題目

  1. Verilog的等號運算子「==」與「===」的差異,下列何者正確?
  2. 以Verilog等HDL撰寫的描述,與C語言等軟體程式的最大差異,下列何者正確?
  3. 在Verilog中使用module的目的,下列何者正確?
  4. Verilog的wire型與reg型的差異,下列何者正確?
  5. 上方Verilog的assign語句所表示的電路,下列何者正確?

這個領域的比較