京微雅格是世界上除美國硅谷以外唯一自主研發并成功量產現場可編程邏輯(FPGA)芯片的公司,目前擁有數百項技術專利和近百款產品。目前,已經有越來越多的用戶都開始使用國產FPGA來做自己的設計,然而在FPGA的開發過程中,免不了要對設計進行仿真。京微雅格的FPGA是支持在modelsim中進行仿真的。 京微雅格的FPGA需要在Primace軟件中進行開發,為了便于客戶進行仿真設計,在Primace5.0及以上版本都支持在工程中直接調用仿真工具Modelsim。同時,也支持在modelsim中直接進行調用京微雅格仿真庫的方式脫離primace軟件進行仿真。這對利用modelsim進行自動化仿真提供了極大的便利。 1、 在Primace中調用modelsim仿真 Primace5.0及以上版本的軟件,直接支持在軟件中直接調用modelsim軟件進行仿真。具體步驟如下: 一、下載安裝Modelsim,能正常使用Modelsim。 二、設置Primace軟件的EDA工具路徑。打開Primace軟件,選擇Tools菜單下的Options選項,彈出設置窗口。點擊左邊窗口Environment分支下的EDA Tools標簽,在右邊的窗口中設置好EDA Simulation Tool下的Modelsim Path路徑,例如“C:\modeltech_10.1a\win32”,需要具體到win32目錄,如下圖所示。 三、編寫testbench文件并將文件添加到工程中。并設置文件屬性為testbench。 該testbench文件是仿真激勵文件,只有添加到工程中,并且設為testbench屬性后,才能讓Primace軟件識別為激勵文件,才能正常啟動仿真過程。下圖所示為添加名為top_tb.v的testbench文件。 經過這步,工程里就具備了所有的條件,既有源碼Design File,也有Test Bench File。 四、運行菜單Flow->Simulation->RTL Simulation 啟動RTL級的前仿真。這時Primace會自動調用Modelsim軟件,并把所有源碼在Modelsim里編譯,并自動啟動仿真窗口。 同樣,運行Flow->Simulation->Timing Simulation可以啟動包含時延信息的后仿真,得到的波形是經過布局布線后在芯片內的真實波形仿真結果。 2、 仿真過程探究 primace調用modelsim后,在modelsim的腳本窗口會發現一些信息,經過查看信息就大概能了解整體仿真的過程是如何進行的。這種仿真,實際是Primace軟件啟動modelsim后,執行了do文件的結果。 執行過一次RTL Simulation之后,Primace會在工程目錄下新建simulate目錄,并自動生成所有相關的仿真文件,包括擴展名為.do的文件。用文本工具打開*.do文件可以看到其內容: Modelsim的do文件是modelsim支持的一種批處理文件: 第8行:建立rtl_work庫 第9行:把work庫映射到rtl_work庫上來 第10行:編譯京微雅格的FPGA仿真庫文件 第11行:編譯工程里使用到的IP仿真核庫文件 第12行:編譯工程里的源文件,激勵文件 第13行:啟動modelsim仿真 第14行:添加所有信號到波形文件中 當Modelsim執行到此時,用戶只需要執行相應的時間就可以進行仿真了。 在用Primace調用Moldesim進行仿真時,如果需要更改代碼重新編譯仿真,每次都去點擊Flow->Simulation->RTL Simulation進行仿真,會比較麻煩。其實在連續改代碼并生新仿真的過程中,可以按以下步驟進行: 1、 工程第一次可以運行Flow->Simulation->Timing Simulation過程,讓軟件自動建立do文件,并調用modelsim仿真之后,不要再關閉modelsim程序,直接在modelsim里的腳本執行窗口執行do 文件就可以啟動仿真:如輸入 do top_rtl_sim.do 并按回車確認。 2、 仿真過程不要關閉modelsim,修改源代碼時,可以用modelsim文本編輯器,也可以使用UE等第三方文本編輯器,修改后在腳本執行窗口直接運行do文件。 3、 為防止每次都手動修改并添加仿真信號,可以保存需要的仿真信號。在Modelsim程序的File菜單下,點擊Save Format,保存信號文件為wave.do文件。 要自動添加這些信號,修改第14行為 “do wave.do”。如果再想自動執行一段時間,可以在15行添加 “run 5ms”,這樣仿真停止后就可以直接觀察所需要的信號了,如下圖所示: 3、 直接Modelsim仿真 能不能不用Primace軟件調用modelsim的方法,直接在Modelsim里仿真呢?答案是肯定的。這需要有京微雅格的仿真庫文件,一旦有了仿真庫文件,就可以在第三方仿真工具中靈活進行仿真。具體過程如下: 1、 建立modelsim工程,工程名:speed_sim 添加源文件及testbench文件: 2、 添加仿真基礎庫文件到工程里來 仿真庫文件在安裝primace的目錄里:C:/capital_micro/primace5.0.3/data/lib/ 3、 添加IPcore必要的源文件。例如工程里使用到FIFO,就到工程目錄下的ip_core目錄下找相應的源文件,也添加到工程里來。 4、 編譯整個工程,把必要的語法錯誤改掉,直到沒有錯誤。啟動仿真 使用中的簡單方便的技巧: 1、 在波形文件中添加的信號,可以存為wave.do文件,需要的時候執行do wave.do就可以把所需的信號添加到波形窗口中。 2、 更新過原代碼后,不需要重新啟動仿真,只需要編譯一下更新的源代碼文件,然后點擊復位按鈕,把仿真器的所有狀態復位,再執行設計的時間,就是新的更新后的代碼仿真波形了。這樣可以不用每次都通過start simulation啟動仿真。 |