下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、FPGA設(shè)計流程包括設(shè)計輸入,仿真,綜合,生成,板級驗(yàn)證等很多階段。在整個設(shè)計流程中,完成設(shè)計 輸入并成功進(jìn)行編譯僅能說明設(shè)計符合一定的語法規(guī)范,并不能說明設(shè)計功能的正確性,這時就需要通過 仿真對設(shè)計進(jìn)行驗(yàn)證。在FPGA設(shè)計中,仿真一般分為功能仿真(前仿真)和時序仿真(后仿真)。功能 仿真又叫邏輯仿真,是指在不考慮器件延時和布線延時的理想情況下對源代碼進(jìn)行邏輯功能的驗(yàn)證;而時 序仿真是在布局布線后進(jìn)行,它與特定的器件有關(guān),又包含了器件和布線的延時信息,主要驗(yàn)證程序在目 標(biāo)器件中的時序關(guān)系。在有些開發(fā)環(huán)境中,如Xilinx ISE中,除了上述的兩種基本仿真外,還包括綜合后 仿真,轉(zhuǎn)換(post-
2、translate)仿真,映射后(post-map)仿真等,這樣做完每一步都可進(jìn)行仿真驗(yàn)證,從而 保證設(shè)計的正確性。ModelSim 是Mentor Graphics子公司MentorTechnology的產(chǎn)品,是當(dāng)今最通用的FPGA 仿真器之一。 ModelSim功能強(qiáng)大,它支持FPGA設(shè)計的各個階段的仿真,不僅支持VHDL仿真,Verilog仿真,而且 支持VHDL和Verilog混合仿真。它不僅能做仿真,還能夠?qū)Τ绦蜻M(jìn)行調(diào)試,測試代碼覆蓋率,對波形進(jìn) 行比較等。ModelSim有很多版本,像ModelSim/SE是首要版本,除此之外還有ModelSim/XE和Model Sim/AE,分
3、別是為Xilinx公司和Altera公司提供的OEM版,其中已包含各公司的庫文件,故用特定公司 OEM版進(jìn)行仿真時就不需編譯該公司的庫了。用ModelSim進(jìn)行功能仿真進(jìn)行功能仿真首先要檢查設(shè)計的語法是否正確;其次檢查代碼是否達(dá)到設(shè)計的功能要求。下文主要介紹 仿真步驟和測試激勵的加載。仿真步驟(1)建立庫并映射庫到物理目錄因?yàn)橛肕odelSim進(jìn)行仿真是建立在仿真庫的基礎(chǔ)上的(此處進(jìn)行的是功能仿真,因而不用編譯特定廠 商的庫),所以首先要建立庫并把庫映射到實(shí)際的物理路徑。通常用戶編譯的文件都放在work庫中,所以 必須先建立work庫。有兩種方法建立并映射庫,第一種方法是通過圖形界面,在菜單D
4、esignCreate a New Library彈出對話框,如圖1所示。在Library Name中輸入work,如果建立其它庫,可以輸入其它 名字。Library Map to是映射的物理路徑。第二種方法是用命令行的形式,建立庫用ModelSimvlib庫名, 映射庫用ModelSim vmap,如建立并映射庫work,就可以在ModelSim主窗口命令提示符下輸入 vlib workvmap work work(2)編譯源代碼該步驟主要檢查源文件的語法錯誤。實(shí)現(xiàn)方法有兩種,一是通過菜單DesignCompile,出現(xiàn)選擇源文 件對話框,選擇要編譯的源文件,編譯即可;二是通過命令行方式,這
5、一步對于VHDL和Verilog所使用 的命令是不一樣的,對于VHDL代碼用vcom-work.vhd.vhd,對于Verilog代碼用vlog-work.v.v,文件按 出現(xiàn)的先后順序編譯,且支持增量編譯。編譯后的文件會放在缺省當(dāng)前work庫中。(3)啟動仿真器該步驟主要是把所有仿真的文件加載到當(dāng)前的仿真環(huán)境中。實(shí)現(xiàn)的方法兩種,一是通過菜單DesignLo ad Design,出現(xiàn)加載對話框,選擇要仿真的程序即可;二是通過命令行的形式vsim-lib,這條命令對于 VHDL 和 Verilog 都一樣。(4)執(zhí)行仿真該步驟是正式執(zhí)行仿真了,在仿真前最重要的一個步驟就是加載激勵,如要對下面的加
6、法器進(jìn)行仿真, 加法器實(shí)體說明如下:entityAdd isport(D1: in std_logic_vector(7 downto 0);-輸入D2: in std_logic_vector(7 downto 0);-輸入D0: out std_logic_vector(7 downto 0);-輸出CE: in std_logic;-使能,低有效Clk: in std_logic);-時鐘endAdd;測試激勵的加載激勵的加載有四種方法:(1)命令行方式這種方法是通過在命令行下直接輸入命令給信號加載激勵,然后進(jìn)行仿真。如要對上面的加法器進(jìn)行仿真, 則輸入如下命令:Vsim -t ps w
7、ork.add/加載work庫中的實(shí)體add,時間分辨率為psAdd wave -hex D1Add wave -hex D2Add wave -hex D0Add wave ceAdd wave clk/把信號加載到波形窗口,hex表示以16進(jìn)制顯示Force ce 0 對ce加激勵為0Force clk 0 0,1 25 -r 50 對 clk 加載激勵Force D1 16#2 對D1加載16進(jìn)制數(shù)2Force D2 16#1 對D2加載16進(jìn)制數(shù)1Run 100 運(yùn)行100個時間單位如果要仿真其它數(shù)據(jù),在命令行中改變激勵就可以了,仿真的結(jié)果如圖2所示。(2)宏文件法這種方法相當(dāng)于DOS
8、的批處理。它把所有的命令保存為以do為后綴名的文件中,稱為宏文件。執(zhí)行 仿真時只要選擇菜單Marco ExecuteMarco,然后選擇相應(yīng)的宏文件執(zhí)行即可,或者在命令行中輸入do 宏文件名。執(zhí)行仿真的結(jié)果如圖2所示。(3)測試文件法上述兩種方法只適合驗(yàn)證數(shù)據(jù)量小的程序,對程序進(jìn)行簡單驗(yàn)證,如果要驗(yàn)證的數(shù)據(jù)量較大,上述兩種方法就比較麻煩,現(xiàn)在被廣泛采用的是測試文件法。這種方法其實(shí)是要設(shè)計者自己編寫測試文 件,把要驗(yàn)證的程序當(dāng)成測試程序的一個模塊,在測試文件中對要驗(yàn)證的程序加載激勵。以下就是針對上 面加發(fā)器的測試文件:library ieee;use ieee.std_logic_1164.al
9、luse ieee.std_logic_signed.allentity tb isend tbarchitecture a_tb of tb iscomponent Addport(D1 : in std_logic_vector(7 downto 0);D2 : in std_logic_vector(7 downto 0);D0 : out std_logic_vector(7 downto 0);CE : in std_logic;Clk: in std_logic);end component; TOC o 1-5 h z signal D1:std_logic_vector(7do
10、wnto0):=(other=1);signal D2:std_logic_vector(7downto0):=(other=1);signal D0:std_logic_vector(7downto0):=(other=0);signal CE:std_logic := 0;signal Clk:std_logicbegindut : Addport map(D1 = D1,D2 = D2,D0 = D0,CE = CE,Clk = Clk);Clk = not Clk after 25 ns;processbeginwait until Clk = 1 and Clkevent;D1 =
11、D1+1;D2 = D2+2;end process;end a_tb;用這個測試文件產(chǎn)生的仿真波形如圖3所示:這種方法可以仿真大量的數(shù)據(jù),對程序進(jìn)行比較全面的仿真。(4) textio 法方法(3)產(chǎn)生的激勵數(shù)據(jù)一般很有規(guī)律,也容易分析,但同時也可能造成某些情況無法檢測到。所以 做仿真時若希望驗(yàn)證一些沒有規(guī)律的數(shù)據(jù),則可以用textio方法實(shí)現(xiàn)。實(shí)際上它的輸入激勵是存儲在dat 文件中的,在測試文件中讀入這些數(shù)據(jù),如果用VHDL編寫程序,需要textio庫和VHDL93標(biāo)準(zhǔn)的支持, 限于篇幅這里就不詳細(xì)介紹,詳情請參見有關(guān)文獻(xiàn)。用ModelSim進(jìn)行時序仿真時序仿真是FPGA設(shè)計的重要步驟之
12、一,它通常是在做完布局布線后進(jìn)行,仿真中包含布局布線產(chǎn)生 的延時信息。時序仿真的方法和步驟和功能仿真基本相同,但有兩點(diǎn)需要注意:一是一般布局布線后生成 的網(wǎng)表并不包含timing數(shù)據(jù),會用一個SDF(Standard Delay Format)文件來存儲timing數(shù)據(jù),它通常是 由布局布線工具產(chǎn)生,在做時序仿真時要用到。上面啟動仿真器加載時不僅要加載布局布線后生成的源文 件,還要加載SDF文件。二是在用ModelSim SE版本時,由于不包含特定廠商的庫文件,而在做時序仿 真時恰恰與特定的器件相關(guān),要用到這些庫,為了提高仿真速度,通常需要提前編譯這些庫,而且不同廠 商編譯庫的方法不盡相同,本
13、文以編譯Xilnx公司的庫為例,介紹編譯庫的方法。這種方法是通過在Xilinx的網(wǎng)站上下載的xilinx_lib_4.tcl腳本進(jìn)行的,選擇菜單中的執(zhí)行宏或者在命 令行中輸入source xilinx_lib_4.tcl,會彈出圖4所示的對話框,在選擇所要編譯的語言后,Xilinx Softwar e Version編譯的庫、Xilinx路徑和Modelsim路徑后就可以進(jìn)行庫的編譯了。其中較重要的是simprim(做時序仿真時用)和Xilinxcorelib (在進(jìn)行Xilinx core的電路仿真時用),這些庫還有對應(yīng)的Verilog 版本。在進(jìn)行庫編譯之前,最好把ModelSim安裝目錄下的modelsim.ini文件的只讀屬性去掉,這樣可以 把編譯后的庫信息加到該文件中,具體信息如下:simprim = C:/Modeltech_5.5b/simprimsimprims_ver = C:/Modeltech_5.5b/s
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年無人機(jī)地面站考試題庫及答案詳解
- 電影城2025年度工作總結(jié)
- 2025軟件測試招聘筆試題及答案
- 屋面保溫層技術(shù)交底
- 建設(shè)工程施工合同糾紛要素式起訴狀模板維權(quán)流程詳細(xì)指引
- 爵士介紹英文
- 2026校招:重慶鋼鐵集團(tuán)試題及答案
- 2026 年無財產(chǎn)離婚協(xié)議書權(quán)威版
- 2026 年合規(guī)化離婚協(xié)議書官方模板
- 2026年微博營銷指南
- 退役軍人之家管理制度
- 陜西省2025屆高考 英語適應(yīng)性檢測(二) 英語試卷(含解析)
- 室外及綠化工程技術(shù)難點(diǎn)及質(zhì)量控制關(guān)鍵點(diǎn)
- 施工合作協(xié)議書
- 四川省綿陽市涪城區(qū)2024-2025學(xué)年九年級上學(xué)期1月期末歷史試卷(含答案)
- 兒童故事繪本愚公移山課件模板
- IIT臨床研究培訓(xùn)
- 中國消化內(nèi)鏡內(nèi)痔診療指南及操作共識(2023年)
- GB/T 20568-2022金屬材料管環(huán)液壓試驗(yàn)方法
- JJF 1798-2020隔聲測量室校準(zhǔn)規(guī)范
- GB/T 29516-2013錳礦石水分含量測定
評論
0/150
提交評論