版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
內(nèi)容FPGA硬件驗證邏輯綜合軟件時序仿真演示1/78一、FPGA硬件驗證2/78FPGA應用舉例FPGA常用軟件FPGA驗證流程3/78應用領(lǐng)域舉例總線接口高速數(shù)據(jù)采集通信領(lǐng)域編解碼、信號糾錯嵌入式系統(tǒng)數(shù)字圖象處理數(shù)字信號處理4/78FPGA公司及軟件Xilinx公司ISEAltera公司QUARTUSII1、開發(fā)工具Lattice公司ispLEVERACTEL公司LiberoIDE
(Microsemi收購)
2、開發(fā)語言VerilogorVHDL5/78國產(chǎn)FPGA京微雅格(CapitalMicroelectronics),以前又稱雅格羅技(AgateLogic)。2003年在美國硅谷創(chuàng)辦。2005年與清華大學合作。FPGA+CPU+RAM+Flash可配置應用平臺(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è)計文件(.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è)計文件鼠標右鍵15/78分配IO管腳1/216/78添加管腳約束文件分配IO管腳2/2上一步分配完管腳,保存,自動生成這個ucf文件。17/78綜合鼠標單擊選中頂層模塊fsk_modulator,雙擊Synthesize18/78鼠標單擊選中頂層模塊fsk_modulator,雙擊ImplementDesign實現(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è)計版圖后仿真滿足滿足不滿足不滿足行為設(shè)計(Verilog/VHDL)行為仿真時序仿真版圖自動布局、布線流片、封裝、測試不滿足滿足滿足不滿足不滿足
后仿真綜合、優(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)概念什么是邏輯綜合?時間路徑時序:setup/hold可綜合verilog基本術(shù)語29/78什么是邏輯綜合?綜合就是把HDL代碼轉(zhuǎn)換為門級電路的過程,用公式表示就是:
綜合=翻譯
+優(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時間路經(jīng)時間路徑:信號傳播經(jīng)過的邏輯通道,簡稱路徑。起點一般為:基本輸入端口或寄存器的時鐘端口;終點一般為:基本輸出端口或寄存器的數(shù)據(jù)端口。時間路徑通常分為4種:基本輸入到基本輸出:基本輸入到寄存器:寄存器到基本輸出:寄存器到寄存器:32/78時間路經(jīng)基本輸入到寄存器寄存器到寄存器寄存器到基本輸出基本輸入到基本輸出33/78時序:setup/hold建立(setup)時間是指觸發(fā)器的時鐘信號上升沿到來以前,數(shù)據(jù)穩(wěn)定不變的時間。保持(hold)時間是指觸發(fā)器的時鐘信號上升沿到來以后,數(shù)據(jù)穩(wěn)定不變的時間。裕度(slack):是時序要求與實際時序之間的差值,反映了時序是否滿足要求。裕度為正,滿足要求;反之不滿足。裕度=要求的時間-實際的時間34/78可綜合的Verilog(1)HDL語言:
是“硬件描述語言”,即HardwareDescriptionLanguage,
而不是“硬件設(shè)計語言”,HardwareDesignLanguage.
因此電路設(shè)計必須遵循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è)計(Design)單元(CellorInstance)參考(Reference)端口(Port)管腳(Pin)線網(wǎng)(Net)時鐘(Clock)41/78邏輯綜合基本術(shù)語—庫庫:一組邏輯單元的集合。庫包括庫申明、庫屬性、庫應用環(huán)境和每個單元的功能描述、時間延時、面積、功耗等。邏輯綜合庫包含兩種格式:1.自由文件格式.lib(任何文本編輯器都可以打開)2.synopsys應用程序可使用的格式.db(不可查看)Astro布局布線庫LVS文件文本文件,datasheet,handbook可測性矢量壓縮文件標準單元版圖Cadence布局布線庫物理參數(shù)庫符號庫邏輯綜合庫標準單元verilog模型標準單元清單庫說明文件存放路徑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啟動工作站啟動方法:創(chuàng)建啟動軟件目錄mkdirsyn
進入到啟動軟件目錄cdsynsource/opt/demo/synopsys.envdesign_vision&注:先不要啟動軟件,看完53頁內(nèi)容在啟動軟件。45/78DC界面
輸入命令的地方46/78邏輯綜合流程1.HDL準備2.準備工藝庫3.讀入HDL代碼4.添加約束5.綜合6.查看報告7.文件導出47/781.HDL準備軟件仿真過沒有問題的設(shè)計文件帶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.準備工藝庫1/4工藝庫要到相關(guān)Foundry代工廠網(wǎng)站下載,上傳至服務器。準備軟件啟動文件.synopsys_dc.setup
.synopsys_dc.setup定義工藝庫的路徑和其他用于邏輯綜合的參數(shù)。在啟動軟件的時候,DC按下列順序讀入啟動文件的。1)Synopsys安裝目錄下的啟動文件:$synopsys/admin/setup2)用戶根目錄下的啟動文件;3)項目工作目錄下的啟動文件;50/78目標庫(targe_library):標準單元庫連接庫(link_library):所有庫單元,包括:標準單元,IO,RAM等宏單元。
符號庫(symbol_library):元件的圖形符號。
把下頁PPT上的內(nèi)容保存成.synopsys_dc.setup文件,再把.synopsys_dc.setup文件保存到啟動軟件的目錄。2.準備工藝庫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.準備工藝庫3/4注意:\后面不要跟空格52/78注意:\前面得有空格軟件啟動后要先查看庫添加成功與否2.準備工藝庫4/453/783.讀入設(shè)計文件1/3DC提供了下面兩種方式讀入設(shè)計:
1.read命令
2.analyze&elaborate命令(先分析語法等,再構(gòu)成具體邏輯)54/783.讀入設(shè)計文件2/3read方式下一次只能讀入一個文件,要采取自下而上的方式。55/783.讀入設(shè)計文件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è)置負載打開電路圖,選中要設(shè)置負載的輸出管腳。set_load5[all_outputs]59/784.創(chuàng)建時鐘60/784.創(chuàng)建時鐘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.時序報告report_timing-delaymaxreport_timing-delaymin64/7865/7866/78top_pad.sv和top_pad.sdc提供給布局布線工具去做后端。在啟動軟件的目錄里面創(chuàng)建netlist目錄命令:mkdirnetlist(在Terminal里面輸入)導出.sv文件到netlist目錄:write-formatverilog-hierarchy-output./netlist/top_pad.sv(在軟件的命令欄輸入,不是在Terminal里)在啟動軟件的目錄里面創(chuàng)建sdc目錄命令:mkdirsdc導出.sdc文件到sdc目錄:write_sdc./sdc/top_pad.sdctop_pad.sdf文件是延遲文件,做時序仿真用。在啟動軟件的目錄里面創(chuàng)建sdf目錄命令:mkdirsdf導出.sdf文件到sdf目錄里:write_sdf-version2.1./sdf/top_pad.sdf7.文件導出67/78三、
時序仿真68/78時序仿真概念時序仿真方法69/78時序仿真概念時序仿真:帶有延遲信息的仿真,主要是看時序和功能是否同時滿足。不同于靜態(tài)時序分析。邏輯綜合和布局布線完都需要做時序仿真。布局布線完的時序仿真有時候也叫后仿真,不同于模擬電路后仿真。70/78時序仿真方法1.將sdf文件添加到Testbench中2.創(chuàng)建新的工程3.添加邏輯綜合完導出的網(wǎng)表文件top_pad.sv4.添加標準單元的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等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年小學體育教師年度工作總結(jié)
- 民航安全考試題庫及答案解析
- 2025年企業(yè)人力資源管理師三級考試題及答案
- 幼兒園食品安全事故應急演練活動方案兩篇
- 求職與面試技巧實訓報告
- 建設(shè)工程施工合同糾紛要素式起訴狀模板律師日常使用版
- 建設(shè)工程施工合同糾紛要素式起訴狀模板多場景適配
- 2026 年專用型離婚協(xié)議書制式模板
- 2026 年無子女離婚協(xié)議書合規(guī)版
- 用戶增長2026年裂變策略
- 《認識時鐘》大班數(shù)學教案
- 攜程推廣模式方案
- THHPA 001-2024 盆底康復管理質(zhì)量評價指標體系
- JGT138-2010 建筑玻璃點支承裝置
- 垃圾清運服務投標方案(技術(shù)方案)
- 顱鼻眶溝通惡性腫瘤的治療及護理
- 光速測量實驗講義
- 斷橋鋁合金門窗施工組織設(shè)計
- 新蘇教版六年級科學上冊第一單元《物質(zhì)的變化》全部教案
- 四川山體滑坡地質(zhì)勘察報告
- 工程結(jié)算書(設(shè)備及安裝類)
評論
0/150
提交評論