硬體描述語言與驗證

如上方的描述般,不經過正反器,而是組合電路的輸出回到自己的輸入的形式稱為什麼?又為什麼應該避免?

assign a = b & c;
assign b = a | d;
  1. A稱為組合迴圈,因為會振盪或值無法確定,連時序分析也無法進行
  2. B稱為管線(pipeline),因為電路會變得太快
  3. C稱為位移暫存器,因為資料會遺失
查看答案與解析

正確答案:A. 稱為組合迴圈,因為會振盪或值無法確定,連時序分析也無法進行

在a決定b、b決定a的形式中,由於沒有正反器,值會隨每次閘極延遲而不斷繞行而振盪,或是會穩定在哪個值取決於延遲的差異。有時也會在非預期的情況下產生類似閂鎖器的記憶功能。靜態時序分析無法處理路徑形成環的情況。需要回授時,一定要在途中加入正反器,做成每個時脈更新值的形式。

  • A. 正確。許多工具會發出錯誤或警告。
  • B. 管線是以正反器分隔的結構。
  • C. 位移暫存器是由正反器所構成的。
練習這個領域 前往領域頁面

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

  1. 將上方的描述針對FPGA進行邏輯合成時,一般會如何處理?
  2. 在組合電路中,比較長串的if・else if描述與條件互不重疊的case語句描述時的說明,下列何者正確?
  3. Verilog的等號運算子「==」與「===」的差異,下列何者正確?
  4. 以Verilog等HDL撰寫的描述,與C語言等軟體程式的最大差異,下列何者正確?
  5. 在Verilog中使用module的目的,下列何者正確?

這個領域的比較