問題
某項目在完成算法模型的modelsim仿真之后,開始硬件上板調試。在modelsim仿真階段,仿真結果正常,符號算法預期,然而在硬件上板調試階段,實際測試結果卻和仿真不一致,且差異較大。
開始遇到這個問題我是十分詫異的,因為一般來說,仿真對了,上板大概率就能對,因為用的是同樣的代碼,只不過一個是仿真,一個是上板,然而結果就是不一樣。
解決辦法
后來經過我的總結,遇到此類現象,解決辦法概括為一句話:
找modelsim仿真和實際上板的區別。
1,時序的區別
仿真時都是理想的時序,時鐘按照我們約定的周期運行仿真,結果也是理想的。實際上板后,由于布局布線的原因,綜合后的邏輯電路某些信號可能時序延遲過大,導致上板的邏輯和仿真有所偏差。
這個時候首先就是要檢查程序中是否有報紅的時序問題,解決時序問題(參照之前的文章),合理約束時鐘周期,合理解決時序問題,解決之后再次綜合上板,觀測是否還有差異。
2,輸入參數和初始值的區別
雖然仿真和實現的代碼完全一樣,但在仿真中,使用的是我們自己設定的輸入參數,某些變量的初始值也是我們仿真設定好的,因此在某模塊的功能異常時,仔細看看該模塊的輸入參數和初始值,在仿真和實現中有何不同。
3,次數的區別
modelsim仿真往往只對某個模塊仿真1次或者幾次,而實際上板中,有可能故障是在幾十次,幾百次,甚至更多次后才會出現。在實際上板中,某個模塊最初的幾次運行中也許不會出問題,但如果模塊中的邏輯不嚴密,隨著時間的推移,運行次數的增加,錯誤積累到一定條件下,就會觸發bug,這種錯誤往往是極難發現的。
審核編輯:劉清
-
仿真器
+關注
關注
14文章
1018瀏覽量
83777 -
ModelSim
+關注
關注
5文章
174瀏覽量
47272 -
MODELSIM仿真
+關注
關注
0文章
15瀏覽量
7319
原文標題:modelsim仿真和實際上板結果不一致
文章出處:【微信號:FPGA通信小白成長之路,微信公眾號:FPGA通信小白成長之路】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論