硬體描述語言與驗證

關於SystemVerilog的約束隨機驗證(constrained-random verification)的說明,下列何者正確?

  1. A在規格允許的範圍或組合條件(約束)之內隨機產生輸入的值,連人想不到的情況也廣泛地嘗試
  2. B完全隨意地產生輸入的值,並給予許多規格中沒有的值
  3. C輸入的值全部由人以手工撰寫
查看答案與解析

正確答案:A. 在規格允許的範圍或組合條件(約束)之內隨機產生輸入的值,連人想不到的情況也廣泛地嘗試

只靠人設計的測試(指定型測試),容易漏掉設計者未預期的組合所造成的缺陷。在約束隨機驗證中,會寫下例如「位址是4的倍數」「長度為1~256」之類的約束,並在其中隨機產生輸入,因此只用有意義的輸入就能嘗試許多情況。嘗試了哪些情況以覆蓋率(coverage)來衡量,不足的部分則透過變更約束,或以指定型測試來補足。

  • A. 正確。與覆蓋率搭配使用。
  • B. 若盡是規格中沒有的輸入,就不是有意義的驗證。
  • C. 那是指定型測試。
練習這個領域 前往領域頁面

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

  1. 關於電路設計中進行的迴歸測試(regression test)的說明,下列何者正確?
  2. SystemVerilog的logic型的優點,下列何者正確?
  3. 使用SystemVerilog的always_ff或always_comb來取代Verilog的always,其優點下列何者正確?
  4. 如上方般使用parameter來撰寫module的優點,下列何者正確?
  5. 上方generate語句的作用,下列何者正確?

這個領域的比較