FPGA設(shè)計(jì)開發(fā)軟件ISE使用技巧之:編譯與仿真設(shè)計(jì)工程
波形圖編輯完畢后,單擊“保存”按鈕,系統(tǒng)會(huì)為工程自動(dòng)添加“test.tbw”文件。選中此文件,在當(dāng)前資源操作(Process for Source)視窗中,可以看到“View Generated Test Bench As HDL”選項(xiàng),如圖6.25所示。
本文引用地址:http://m.butianyuan.cn/article/269336.htm
圖6.25 生成測試激勵(lì)波形文件后的資源視窗
雙擊此選項(xiàng),系統(tǒng)就會(huì)根據(jù)設(shè)置的波形自動(dòng)生成測試激勵(lì)文件的源代碼,如圖6.26所示。
圖6.26 系統(tǒng)根據(jù)編輯的波形生成的測試代碼
(3)對(duì)設(shè)計(jì)工程進(jìn)行功能仿真。
ISE Simulator中提供了兩種級(jí)別的仿真:功能仿真和布局布線后仿真,功能仿真可以驗(yàn)證代碼功能的正確性,布局布線后生成的仿真時(shí)延文件包含的時(shí)延信息最全,不僅包含門延時(shí),還包括實(shí)際布線延時(shí),所以布線后仿真最準(zhǔn)確,能較好地反映芯片的實(shí)際工作情況。
按上述步驟用HDL Bencher生成測試激勵(lì)波形文件后,就可對(duì)設(shè)計(jì)工程進(jìn)行仿真了,首先驗(yàn)證設(shè)計(jì)功能的正確性,先對(duì)工程進(jìn)行功能仿真。
功能仿真時(shí)在工程資源(Sources in Project)視窗中選擇波形文件(test.tbw),在當(dāng)前資源操作(Process for Source)視窗中,雙擊Simulate Behavioral Model(如圖6.25所示),得到功能仿真結(jié)果如圖6.27所示。
圖6.27 功能仿真結(jié)果
觀察波形時(shí),左上角有幾個(gè)按鍵。單擊可放置一條線,用于觀查某一特定時(shí)刻的值。用于測量時(shí)間間隔。用于尋找前一個(gè)或下一個(gè)信號(hào)上升沿,主要用于在測量時(shí)間間隔時(shí),定位測量直線。
另外,ISE Simulator在仿真過程中會(huì)自動(dòng)判斷仿真過程中是否會(huì)有錯(cuò)誤發(fā)生,如果有錯(cuò)誤發(fā)生,會(huì)在TX_ERROR下顯示出來,TX_ERROR會(huì)自動(dòng)統(tǒng)計(jì)錯(cuò)誤的個(gè)數(shù)并顯示,并且在SimConsole信號(hào)視窗中顯示正確的數(shù)值和實(shí)際仿真得到的數(shù)據(jù),用戶可根據(jù)這些信息,對(duì)源代碼進(jìn)行修改。
(4)布局布線后仿真。
功能仿真測試功能正確后,就可以按照ISE下FPGA的設(shè)計(jì)流程對(duì)工程進(jìn)行綜合及布局布線。布局布線后,就可以對(duì)工程進(jìn)行布局布線后仿真。
布局布線仿真時(shí)在工程資源(Sources in Project)視窗中選擇波形文件(test.tbw)。在當(dāng)前資源操作(Process for Source)視窗中,雙擊Simulate Post-Place&Route Model(如圖6.25所示),得到布局布線后仿真結(jié)果如圖6.28所示。
圖6.28 布局布線后仿真結(jié)果
如圖6.28所示,布局布線后仿真結(jié)果與功能仿真結(jié)果相比,有了較大的延遲,這主要與代碼中組合邏輯設(shè)置有關(guān),在布局布線仿真后,由于加入了延時(shí)信息可能會(huì)造成功能的不正確,用戶可以通過改寫代碼或添加相應(yīng)的時(shí)序約束,來優(yōu)化設(shè)計(jì),布局布線后仿真在工程設(shè)計(jì)中占有很重要的地位,需要花很長時(shí)間來不斷地仿真和優(yōu)化設(shè)計(jì)。
3.小結(jié)
本節(jié)通過一個(gè)具體的實(shí)例介紹了ISE下自帶仿真工具ISE Simulator的使用。ISE Simulator的特點(diǎn)是可以通過HDL Bencher在圖形界面下編輯波形,不需要用戶編寫測試代碼,使用方便。用戶也可以在HDL Bencher下完成波形編輯生成測試代碼后,調(diào)用ModelSim仿真。
通過這個(gè)例子,希望用戶能夠掌握ISE Simulator的基本用法,熟悉仿真的基本流程。仿真在FPGA的設(shè)計(jì)當(dāng)中占有很重要位置,可以說設(shè)計(jì)者的大部分工作都是在做仿真,只有仿真結(jié)果達(dá)到要求了,才會(huì)映射到實(shí)際電路,然后在線調(diào)試。
在這里推薦大家自己編寫測試激勵(lì)文件。因?yàn)樵谝恍?fù)雜的設(shè)計(jì)當(dāng)中,使用圖形界面編輯激勵(lì)波形是很難滿足設(shè)計(jì)要求的,無法對(duì)工程進(jìn)行完整的測試。
另外,ModelSim是一款功能很強(qiáng)大的仿真軟件,支持混合仿真。在ISE下為ModelSim預(yù)留了接口,使用也很方便,目前應(yīng)用比較廣泛。在初始學(xué)習(xí)階段可以使用ISE Simulator作一些簡單的仿真,熟悉FPGA的設(shè)計(jì)流程,等熟練之后,建議在ModelSim下完成仿真。
fpga相關(guān)文章:fpga是什么
評(píng)論