2016-08-29 72 views
-1

我想爲我的設計編寫一個VHDL自檢測試臺。我很困惑要測試哪些值。我應該檢查所有可能的值並查看它們是否正確?我的設計還包含一個通用參數,所以我也應該測試不同的位大小。測試所有可能的值對於較大的比特尺寸變得不可能。例如:人們將如何測試64位浮點加法器?我敢肯定,那麼測試所有的價值在物理上是不可能的?使用VHDL自檢測試臺:應測試哪些值?

+0

這個問題大概需要一本書來回答。像https://www.amazon.co.uk/Writing-Testbenches-Functional-Verification-Models/dp/1402074018/ref=sr_1_3你也可以看看http://www.osvvm.org –

+0

你應該有一個就像@布萊恩 - 德拉蒙德所說的那樣看待OSVVM。它會幫助你隨機化你的輸入數據。要使用不同值的輸入泛型的自檢測試平臺,您還應該查看http://vunit.github.io,它可以幫助您做到這一點。 OSVVM也包含在VUnit發行版中。 免責聲明:我是VUNIT的作者之一 – lasplund

回答

0

也許你可以從檢查結果特定輸入開始。

如果你能找出隨機數在測試平臺的預期值,你可以使用

種子

取決於時間戳。

您應該有一些檢查函數它將輸出與期望值進行比較。

我希望我的建議很有幫助。

+1

您應該使用靜態的某個函數的種子值,以便您可以一次又一次運行相同的隨機序列。如果它是基於時間的話,那麼你可能會發現一個測試失敗的序列,那麼當你認爲你已經修復它時,你不能再次運行相同的序列來檢查修復。 –