關於verilog代碼修改的幾點感悟

最近,工程的一部分代碼行爲仿真正確,並且用ISE自帶的xst綜合工具也能綜合完成,有警告,但沒有錯誤,可是綜合後的仿真結果卻不對。調試了好長時間,才把代碼修改完善,綜合後仿真結果終於正確了。ide

一、假如綜合時出錯了,必定仔細閱讀錯誤提示,找與之相關的代碼部分,也能夠看看綜合時出現的警告,有沒有核錯誤提示相關的。認真分析,錯誤出如今哪裏,最終歸結到代碼的修改上。若是以爲多是某部分代碼有問題,能夠先註釋掉這部分代碼(在沒有語法錯誤的前提下),再綜合,若是綜合成功了,就說明這部分代碼有問題,再仔細推敲這部分代碼。工具

二、假如綜合成功了,但綜合後仿真的結果不正確,則從出錯的那個信號仍是着手,從代碼裏找與它相聯繫的代碼,認真分析一下。如3個等於號「===」或"!=="都會影響綜合結果。能夠從仿真波形中找信息,若是是行爲仿真,代碼裏全部的信號波形均可以看到,仔細查看哪些取值不正確,而後找對應的代碼進行修改。若是是綜合後仿真,代碼裏面的信號大部分在仿真波形中找不到了(至今我也不知道怎麼看),可是Testbench中的信號能夠看到,能夠把verilog模塊中本身想看的某個信號一層一層傳遞過來,直到testbench裏,而後就能夠看到這個信號綜合後仿真的取值了。調試

總之,發現了錯誤,要仔細閱讀它,看與之相關的代碼和警告,認真分析,再結合着仿真的波形,查看出錯的信號的波形值,修改與之相關的代碼。it

相關文章
相關標籤/搜索