FPGA硬件驗(yàn)證及邏輯綜合_第1頁
FPGA硬件驗(yàn)證及邏輯綜合_第2頁
FPGA硬件驗(yàn)證及邏輯綜合_第3頁
FPGA硬件驗(yàn)證及邏輯綜合_第4頁
FPGA硬件驗(yàn)證及邏輯綜合_第5頁
已閱讀5頁,還剩73頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

內(nèi)容FPGA硬件驗(yàn)證邏輯綜合軟件時(shí)序仿真演示1/78一、FPGA硬件驗(yàn)證2/78FPGA應(yīng)用舉例FPGA常用軟件FPGA驗(yàn)證流程3/78應(yīng)用領(lǐng)域舉例總線接口高速數(shù)據(jù)采集通信領(lǐng)域編解碼、信號(hào)糾錯(cuò)嵌入式系統(tǒng)數(shù)字圖象處理數(shù)字信號(hào)處理4/78FPGA公司及軟件Xilinx公司ISEAltera公司QUARTUSII1、開發(fā)工具Lattice公司ispLEVERACTEL公司LiberoIDE

(Microsemi收購)

2、開發(fā)語言VerilogorVHDL5/78國產(chǎn)FPGA京微雅格(CapitalMicroelectronics),以前又稱雅格羅技(AgateLogic)。2003年在美國硅谷創(chuàng)辦。2005年與清華大學(xué)合作。FPGA+CPU+RAM+Flash可配置應(yīng)用平臺(tái)(CAP)芯片:Astro系列(AS1E5F1K、AS2E5F1K)Angelo系列(AG1F4N4)/index.htm6/78Xilinx—ISE界面

7/78Altera--QuartusII界面8/78Lattice—ispLEVER界面9/78Actel--Libero界面10/78FPGA流程第三方軟件11/78XilinxSpartan3xc3s400為例1.創(chuàng)建新工程2.添加設(shè)計(jì)文件(.v或者.vhd)3.分配IO管腳4.綜合5.布局布線6.下載7.測試12/78創(chuàng)建新工程1/2File-->Newproject13/78創(chuàng)建新工程2/2接下來一直Next..Spartan3XC3S400FT256-414/78添加設(shè)計(jì)文件鼠標(biāo)右鍵15/78分配IO管腳1/216/78添加管腳約束文件分配IO管腳2/2上一步分配完管腳,保存,自動(dòng)生成這個(gè)ucf文件。17/78綜合鼠標(biāo)單擊選中頂層模塊fsk_modulator,雙擊Synthesize18/78鼠標(biāo)單擊選中頂層模塊fsk_modulator,雙擊ImplementDesign實(shí)現(xiàn)19/78生成下載文件--.bit格式20/78下載文件1/321/78下載文件2/322/78下載文件3/323/78測試1/2下載線FPGA開發(fā)板24/78測試2/225/78IC典型流程功

求系統(tǒng)建模電路仿真手工設(shè)計(jì)版圖后仿真滿足滿足不滿足不滿足行為設(shè)計(jì)(Verilog/VHDL)行為仿真時(shí)序仿真版圖自動(dòng)布局、布線流片、封裝、測試不滿足滿足滿足不滿足不滿足

后仿真綜合、優(yōu)化網(wǎng)表滿足流片、封裝、測試功能要求系統(tǒng)建模MatlabModelsim,Questasim,MuxplusIIDesignCompilerAstro,Encounter數(shù)字VLSI流程MatlabSpectreVirtuoso,lakerCalibre模擬IC流程SpectreModelsim,Questasim,MuxplusII26/78二、

邏輯綜合27/78邏輯綜合相關(guān)概念邏輯綜合工具--DesignCompiler28/78邏輯綜合相關(guān)概念什么是邏輯綜合?時(shí)間路徑時(shí)序:setup/hold可綜合verilog基本術(shù)語29/78什么是邏輯綜合?綜合就是把HDL代碼轉(zhuǎn)換為門級(jí)電路的過程,用公式表示就是:

綜合=翻譯

+優(yōu)化

+映射

(Synthesis

=Translation

+Optimization

+Mapping

)

30/78

assignmux_out=!mux_control&mux_in1|mux_control&mux_in2|mux_in1&mux_in2;//assignmux_out=mux_control?mux_in1:mux_in2;翻譯映射31/78時(shí)間路經(jīng)時(shí)間路徑:信號(hào)傳播經(jīng)過的邏輯通道,簡稱路徑。起點(diǎn)一般為:基本輸入端口或寄存器的時(shí)鐘端口;終點(diǎn)一般為:基本輸出端口或寄存器的數(shù)據(jù)端口。時(shí)間路徑通常分為4種:基本輸入到基本輸出:基本輸入到寄存器:寄存器到基本輸出:寄存器到寄存器:32/78時(shí)間路經(jīng)基本輸入到寄存器寄存器到寄存器寄存器到基本輸出基本輸入到基本輸出33/78時(shí)序:setup/hold建立(setup)時(shí)間是指觸發(fā)器的時(shí)鐘信號(hào)上升沿到來以前,數(shù)據(jù)穩(wěn)定不變的時(shí)間。保持(hold)時(shí)間是指觸發(fā)器的時(shí)鐘信號(hào)上升沿到來以后,數(shù)據(jù)穩(wěn)定不變的時(shí)間。裕度(slack):是時(shí)序要求與實(shí)際時(shí)序之間的差值,反映了時(shí)序是否滿足要求。裕度為正,滿足要求;反之不滿足。裕度=要求的時(shí)間-實(shí)際的時(shí)間34/78可綜合的Verilog(1)HDL語言:

是“硬件描述語言”,即HardwareDescriptionLanguage,

而不是“硬件設(shè)計(jì)語言”,HardwareDesignLanguage.

因此電路設(shè)計(jì)必須遵循RTL的模式來編寫代碼,而不能隨心所欲地只寫出符合語法的代碼。

下面就常用的可綜合Verilog編寫格式做一簡單總結(jié)。35/78可綜合的Verilog(2)36/78可綜合的Verilog(3)37/78可綜合的Verilog(4)38/78可綜合的Verilog(5)39/78可綜合的Verilog(6)40/78邏輯基本術(shù)語庫(Library)設(shè)計(jì)(Design)單元(CellorInstance)參考(Reference)端口(Port)管腳(Pin)線網(wǎng)(Net)時(shí)鐘(Clock)41/78邏輯綜合基本術(shù)語—庫庫:一組邏輯單元的集合。庫包括庫申明、庫屬性、庫應(yīng)用環(huán)境和每個(gè)單元的功能描述、時(shí)間延時(shí)、面積、功耗等。邏輯綜合庫包含兩種格式:1.自由文件格式.lib(任何文本編輯器都可以打開)2.synopsys應(yīng)用程序可使用的格式.db(不可查看)Astro布局布線庫LVS文件文本文件,datasheet,handbook可測性矢量壓縮文件標(biāo)準(zhǔn)單元版圖Cadence布局布線庫物理參數(shù)庫符號(hào)庫邏輯綜合庫標(biāo)準(zhǔn)單元verilog模型標(biāo)準(zhǔn)單元清單庫說明文件存放路徑42/78邏輯綜合基本術(shù)語moduletop(A,B,C,D,CLK,OUT1);inputA,B,C,D,CLK;outputOUT1;….INVU2(.A(BUS0),.Z(INV0));….endmoduledesignportreferencecellpin43/78邏輯綜合工具介紹Synopsys公司:DesignCompiler(DC)和SynplifyCadence公司:EncounterRTLCompiler和BuildGatesMagma公司:TalusRTLMentor公司:PrecisionRTL以上綜合工具都具有圖形界面和命令窗口44/78DC啟動(dòng)工作站啟動(dòng)方法:創(chuàng)建啟動(dòng)軟件目錄mkdirsyn

進(jìn)入到啟動(dòng)軟件目錄cdsynsource/opt/demo/synopsys.envdesign_vision&注:先不要啟動(dòng)軟件,看完53頁內(nèi)容在啟動(dòng)軟件。45/78DC界面

輸入命令的地方46/78邏輯綜合流程1.HDL準(zhǔn)備2.準(zhǔn)備工藝庫3.讀入HDL代碼4.添加約束5.綜合6.查看報(bào)告7.文件導(dǎo)出47/781.HDL準(zhǔn)備軟件仿真過沒有問題的設(shè)計(jì)文件帶IO的頂層文件。48/78moduletop_pad(clk_pad,en_pad,data_in_pad,fsk_out_pad);inputclk_pad,en_pad,data_in_pad;outputfsk_out_pad;fsk_modulatorfsk_modulator(clk_wire,en_wire,data_in_wire,fsk_out_wire);PULLHS1pull_high(.Z(high_wire));PULLHS0pull_low(.Z(low_wire));//inputPBCD2RNdata_in_block(.PAD(data_in_pad),.IE(high_wire),.OEN(high_wire),.REN(high_wire),.C(data_in_wire));PBCD2RNclk_block(.PAD(clk_pad),.IE(high_wire),.OEN(high_wire),.REN(high_wire),.C(clk_wire));PBCD2RNen_block(.PAD(en_pad),.IE(high_wire),.OEN(high_wire),.REN(high_wire),.C(en_wire));//outputPBCD2RNfsk_out_block(.PAD(fsk_out_pad),.IE(low_wire),.OEN(low_wire),.REN(high_wire),.I(fsk_out_wire));endmodule查看庫的handbook49/782.準(zhǔn)備工藝庫1/4工藝庫要到相關(guān)Foundry代工廠網(wǎng)站下載,上傳至服務(wù)器。準(zhǔn)備軟件啟動(dòng)文件.synopsys_dc.setup

.synopsys_dc.setup定義工藝庫的路徑和其他用于邏輯綜合的參數(shù)。在啟動(dòng)軟件的時(shí)候,DC按下列順序讀入啟動(dòng)文件的。1)Synopsys安裝目錄下的啟動(dòng)文件:$synopsys/admin/setup2)用戶根目錄下的啟動(dòng)文件;3)項(xiàng)目工作目錄下的啟動(dòng)文件;50/78目標(biāo)庫(targe_library):標(biāo)準(zhǔn)單元庫連接庫(link_library):所有庫單元,包括:標(biāo)準(zhǔn)單元,IO,RAM等宏單元。

符號(hào)庫(symbol_library):元件的圖形符號(hào)。

把下頁P(yáng)PT上的內(nèi)容保存成.synopsys_dc.setup文件,再把.synopsys_dc.setup文件保存到啟動(dòng)軟件的目錄。2.準(zhǔn)備工藝庫2/451/78setlib_path/home/smic/smic_40/SCC40NLL_HS_RVT_V0p1asetsmic_stdlib_path${lib_path}/synopsys/1.1v/setsmic_iolib_path/home/smic/smic_40/SP40NLLD2RN_3P3V_V0p2/syn/3p3v/setsmic_stdsymlib_path${lib_path}/Symbol/setsearch_path"$search_path$smic_stdlib_path$smic_iolib_path\$smic_stdsymlib_path"settarget_library[listscc40nll_hs_rvt_ff_v1p21_-40c_basic.db\scc40nll_hs_rvt_ss_v0p99_125c_basic.db\scc40nll_hs_rvt_tt_v1p1_25c_basic.db]setlink_library[list"*"SP40NLLD2RN_3P3V_V0p1_ff_V1p21_-40C.db\SP40NLLD2RN_3P3V_V0p1_ss_V0p99_125C.db\SP40NLLD2RN_3P3V_V0p1_tt_V1p10_25C.db\scc40nll_hs_rvt_ff_v1p21_-40c_basic.db\scc40nll_hs_rvt_ss_v0p99_125c_basic.db\scc40nll_hs_rvt_tt_v1p1_25c_basic.db]

setsymbol_library[listSCC40NLL_HS_RVT_V0p1.sdb]2.準(zhǔn)備工藝庫3/4注意:\后面不要跟空格52/78注意:\前面得有空格軟件啟動(dòng)后要先查看庫添加成功與否2.準(zhǔn)備工藝庫4/453/783.讀入設(shè)計(jì)文件1/3DC提供了下面兩種方式讀入設(shè)計(jì):

1.read命令

2.analyze&elaborate命令(先分析語法等,再構(gòu)成具體邏輯)54/783.讀入設(shè)計(jì)文件2/3read方式下一次只能讀入一個(gè)文件,要采取自下而上的方式。55/783.讀入設(shè)計(jì)文件3/3read-formatverilog[list\/home/liuxp/sim/rtl/fsk_modulator.v]read-formatverilog[list\/home/liuxp/sim/rtl/fsk_modulator_pad.v]56/784.添加約束工作溫度條件57/78set_operating_conditions-min_libraryscc40nll_hs_rvt_ff_v1p21_-40c_basic-minff_v1p21_-40c-max_libraryscc40nll_hs_rvt_ss_v0p99_125c_basic-maxss_v0p99_125c-analysis_typebc_wc4.添加約束58/784.設(shè)置負(fù)載打開電路圖,選中要設(shè)置負(fù)載的輸出管腳。set_load5[all_outputs]59/784.創(chuàng)建時(shí)鐘60/784.創(chuàng)建時(shí)鐘create_clock-nameclk-period15-waveform[list07.5]clk_padset_clock_latency1.0[all_clocks]set_clock_uncertainty-setup1.0clkset_clock_uncertainty-hold0.5clkset_clock_transition1[get_clocksclk]set_dont_touch_network[listclk_pad]61/785.綜合compile62/78綜合前后電路結(jié)構(gòu)比較綜合前綜合后63/786.時(shí)序報(bào)告report_timing-delaymaxreport_timing-delaymin64/7865/7866/78top_pad.sv和top_pad.sdc提供給布局布線工具去做后端。在啟動(dòng)軟件的目錄里面創(chuàng)建netlist目錄命令:mkdirnetlist(在Terminal里面輸入)導(dǎo)出.sv文件到netlist目錄:write-formatverilog-hierarchy-output./netlist/top_pad.sv(在軟件的命令欄輸入,不是在Terminal里)在啟動(dòng)軟件的目錄里面創(chuàng)建sdc目錄命令:mkdirsdc導(dǎo)出.sdc文件到sdc目錄:write_sdc./sdc/top_pad.sdctop_pad.sdf文件是延遲文件,做時(shí)序仿真用。在啟動(dòng)軟件的目錄里面創(chuàng)建sdf目錄命令:mkdirsdf導(dǎo)出.sdf文件到sdf目錄里:write_sdf-version2.1./sdf/top_pad.sdf7.文件導(dǎo)出67/78三、

時(shí)序仿真68/78時(shí)序仿真概念時(shí)序仿真方法69/78時(shí)序仿真概念時(shí)序仿真:帶有延遲信息的仿真,主要是看時(shí)序和功能是否同時(shí)滿足。不同于靜態(tài)時(shí)序分析。邏輯綜合和布局布線完都需要做時(shí)序仿真。布局布線完的時(shí)序仿真有時(shí)候也叫后仿真,不同于模擬電路后仿真。70/78時(shí)序仿真方法1.將sdf文件添加到Testbench中2.創(chuàng)建新的工程3.添加邏輯綜合完導(dǎo)出的網(wǎng)表文件top_pad.sv4.添加標(biāo)準(zhǔn)單元的Verilog模型文件/home/smic/smic_40/SCC40NLL_HS_RVT_V0p1a/verilog/SCC40NLL_HS_RVT_V0p1.v5.添加輸入輸出IO的Verilog模型文件/home/smic/smic_40/SP40NLLD2RN_3P3V_V0p2/verilog/SP40NLLD2RNP_3P3V_V0p1.v6.

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論