開發(fā)目的
FPGA項(xiàng)目開發(fā)的過程中,需要完成設(shè)計(jì)代碼開發(fā)、驗(yàn)證環(huán)境搭建、仿真分析、板級(jí)驗(yàn)證等操作,在這個(gè)過程中,許多操作雖然必不可少但是步驟是重復(fù)的。輔助軟件通過預(yù)先定義的處理模式,對(duì)一些重復(fù)性復(fù)雜操作通過Python輔助軟件使操作簡(jiǎn)化以提高項(xiàng)目開發(fā)效率。獨(dú)立仿真可以不依賴Vivado,簡(jiǎn)化仿真步驟,但建立獨(dú)立仿真往往需要復(fù)雜繁瑣的步驟,所以簡(jiǎn)化建立獨(dú)立仿真的步驟很有必要。
重要的是,有了脫離Vivado建的第三方仿真工具單獨(dú)的環(huán)境,為FPGA工程后續(xù)ASIC化提前搭建好仿真環(huán)境,只把用到的庫和相關(guān)文件從Vivado庫里抽取出來,同時(shí),每次仿真時(shí)不用啟動(dòng)非常占資源的Vivado軟件,直接運(yùn)行仿真腳本即可。同時(shí),軟件生成的仿真環(huán)境后也可以手動(dòng)進(jìn)行優(yōu)化調(diào)整,按照用戶自己熟悉的仿真習(xí)慣進(jìn)行定制化修改。
功能描述
該軟件用于提升FPGA仿真效率,節(jié)省仿真時(shí)間和步驟。本軟件可以建立獨(dú)立仿真,生成Questasim、modesim或VCS環(huán)境下的獨(dú)立仿真,可視化界面,更加方便用戶操作。
RTL設(shè)計(jì)完后會(huì)進(jìn)行仿真Vivado內(nèi)自帶仿真器,或者可以通過Vivado啟動(dòng)第三方仿真工具聯(lián)合仿真。但是在實(shí)際項(xiàng)目開發(fā)過程中,當(dāng)我們修改代碼后,需要關(guān)閉仿真軟件并重啟仿真,之前加載的波形信號(hào)也需要重新加載。因而很多時(shí)候,我們希望脫離Vivado,利用Modelsim或者VCS等第三方仿真工具,提高仿真效率;在這個(gè)過程中,通過提取工程中的代碼文件和IP核信息文件,縮減工程所占用的內(nèi)存空間,方便項(xiàng)目開發(fā)人員同步及備份。該軟件建立獨(dú)立仿真首先會(huì)提取源仿真工具、目的仿真工具,了解要建立哪種環(huán)境下的獨(dú)立仿真。
還要提取自動(dòng)化仿真文件名和創(chuàng)建獨(dú)立仿真的路徑,用于建立獨(dú)立仿真文件夾,該文件夾有rtl和sim兩個(gè)文件夾,仿真用到的文件都會(huì)放到該文件夾里面。然后會(huì)提取tb的module名字和vivado生成do文件路徑,該軟件會(huì)根據(jù)路徑和tb的module名字找到Vivado生成do文件,提取do文件里面的信息,把對(duì)應(yīng)文件放到自動(dòng)化仿真文件夾里面。提取目的仿真工具的win64和.setup文件的路徑,用于建立批處理文件和makefile文件。提取完信息后,點(diǎn)擊“開始生成按鈕”即完成建立自動(dòng)化仿真操作。
該軟件在可執(zhí)行python的環(huán)境下均可以運(yùn)行,在實(shí)際項(xiàng)目測(cè)試中,能夠自動(dòng)生成自動(dòng)化仿真工程,減少仿真對(duì)vivado的依賴,減少了大量的重復(fù)性操作。
為了方便項(xiàng)目開發(fā)人員對(duì)輔助軟件的使用,輔助軟件需要具有良好的可視化操作界面,在完成一些基本參數(shù)的配置后,可一鍵式完成復(fù)雜操作。GUI界面如圖1所示:
使用說明
1 安裝和初始化
本軟件免安裝,通過點(diǎn)擊FPGA_simulate_tool.exe文件即可執(zhí)行,如圖2所示:
2 輸入
根據(jù)GUI界面的提示輸入需要執(zhí)行的命令。
3 輸出
運(yùn)行軟件后,首先會(huì)根據(jù)選擇生成不同的輸出文件,選擇“自動(dòng)化仿真生成工具”,輸入提示信息后,點(diǎn)擊生成“開始生成”,會(huì)生成自動(dòng)化仿真工程,如圖3所示,其中所有rtl文件存放在rtl文件夾下,include文件存放在inlcud文件夾下,sim文件存放do文件和批處理文件。
操作步驟
本軟件在Window10的python可執(zhí)行環(huán)境下示例操作。自動(dòng)化仿真生成工具使用步驟如下:
步驟1:首先選擇源仿真工具和目的仿真工具。源仿真工具可供選擇的有:ModeSim、Questasim,目的仿真工具可供選擇的有ModeSim、Questasim、VCS,如圖7所示。
步驟2:輸入tbmodule名字、自動(dòng)化仿真文件名字,會(huì)產(chǎn)生該名字的文件夾,自動(dòng)化仿真工程在該文件夾里面。
步驟3:選擇“創(chuàng)建獨(dú)立仿真路徑”后面的“選擇路徑”按鈕,會(huì)讓選擇路徑,選擇好后點(diǎn)擊“選擇文件夾”按鈕,選擇創(chuàng)建獨(dú)立仿真路徑,如圖8所示:
步驟4:點(diǎn)擊“選擇路徑”按鈕,選擇vivado的do文件路徑和win64或.setup路徑,整體輸入信息如圖9所示:
步驟5:點(diǎn)擊“開始生成”按鈕,生成獨(dú)立仿真工程,生成成功會(huì)顯示“PASS”。如圖10所示。其中獨(dú)立仿真工程目錄在D盤文件夾“bus0123_40_25_NO_UDP_1”,文件名為“2”。該文件夾下內(nèi)容如圖11所示,其中所有rtl文件在rtl文件夾下,所有include文件在include文件夾下。
當(dāng)目的仿真工具選擇“modelsim”或者“questasim”,sim文件夾內(nèi)容如圖12所示。其中.coe文件是源vivado工程的RAM的初始化文件,不是該軟件生成的文件。filelist.f文件存放所有需要編譯的rtl列表,run.do文件是用于自動(dòng)化仿真,sim.bat和sim_fast_no_gui.bat是批處理文件,以上四個(gè)文件都是該軟件生成。點(diǎn)擊sim.bat或者sim_fast_no_gui.bat即可運(yùn)行仿真工具進(jìn)行自動(dòng)化仿真,其中sim_fast_no_gui.bat省去了仿真工具的GUI界面,可以加速仿真速度。
當(dāng)目的仿真工具選擇“VCS”時(shí)(雖然Vivado聯(lián)合VCS仿真時(shí)有自帶的一鍵轉(zhuǎn)換到VCS仿真的功能,但本文軟件提供的是一種更直接的脫離方式,把用到的庫和所有文件單獨(dú)提取出來放到一個(gè)文件夾中,便于分享,也便于為ASIC化的IP替換創(chuàng)建必要的環(huán)境),sim文件夾內(nèi)容如圖13所示。其中.coe文件是源vivado工程的RAM的初始化文件,不是該軟件生成的文件。
filelist.f文件存放所有需要編譯的rtl列表,makefile是自動(dòng)仿真文件,輸入make即可進(jìn)行VCS的自動(dòng)化仿真,仿真完后輸入makeverdi,即可用verdi打開波形文件。
上圖中雙擊sim.bat文件即可運(yùn)行。
說明:建議在原Vivado工程所在的機(jī)器上運(yùn)行該軟件提取相關(guān)腳本信息,原Vivado工程需要調(diào)用第三方仿真工具運(yùn)行過并保留相應(yīng)的sim文件夾。如有問題,請(qǐng)檢查vivado版本和仿真工具版本,以及編譯的vivado仿真庫所用的vivado版本和仿真工具版本。
結(jié)論
本軟件根據(jù)預(yù)先定義的Python腳本命令,通過用戶與GUI界面的交互,輸入必要的信息,將原本重復(fù)繁瑣操作通過輔助軟件進(jìn)行簡(jiǎn)化,提升了RTL的仿真的工作效率。本軟件通過將大量重復(fù)性文件和文件夾進(jìn)行批處理,減少了人力創(chuàng)建文件夾,書寫重復(fù)代碼,人工轉(zhuǎn)化表項(xiàng)等繁瑣操作。此外,通過GUI界面的交互,提供了一個(gè)可視化界面,極大的提高了軟件的可操作性。
審核編輯:劉清
-
FPGA
+關(guān)注
關(guān)注
1629文章
21744瀏覽量
603666 -
FPGA設(shè)計(jì)
+關(guān)注
關(guān)注
9文章
428瀏覽量
26524 -
仿真
+關(guān)注
關(guān)注
50文章
4087瀏覽量
133652 -
仿真器
+關(guān)注
關(guān)注
14文章
1018瀏覽量
83766 -
RTL
+關(guān)注
關(guān)注
1文章
385瀏覽量
59820 -
GUI
+關(guān)注
關(guān)注
3文章
660瀏覽量
39703 -
python
+關(guān)注
關(guān)注
56文章
4797瀏覽量
84729 -
Vivado
+關(guān)注
關(guān)注
19文章
812瀏覽量
66586
原文標(biāo)題:脫離Vivado建立單獨(dú)仿真環(huán)境軟件
文章出處:【微信號(hào):HXSLH1010101010,微信公眾號(hào):FPGA技術(shù)江湖】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論