AlteraFPGA的設(shè)計(jì)流程課件_第1頁
AlteraFPGA的設(shè)計(jì)流程課件_第2頁
AlteraFPGA的設(shè)計(jì)流程課件_第3頁
AlteraFPGA的設(shè)計(jì)流程課件_第4頁
AlteraFPGA的設(shè)計(jì)流程課件_第5頁
已閱讀5頁,還剩223頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

AlteraFPGA的設(shè)計(jì)流程賀光輝清華大學(xué)電子工程系1AlteraFPGA的設(shè)計(jì)流程賀光輝1目標(biāo)掌握FPGA的標(biāo)準(zhǔn)設(shè)計(jì)流程和工具用Modelsim進(jìn)行功能級仿真并診斷RTLCode用QuartusII做設(shè)計(jì)綜合和布局布線用FPGAMega-functions做設(shè)計(jì)返標(biāo)SDF并運(yùn)行門級的仿真掌握FPGA的時序約束了解FPGA的設(shè)計(jì)原則2目標(biāo)掌握FPGA的標(biāo)準(zhǔn)設(shè)計(jì)流程和工具2提綱FPGA概要FPGA的設(shè)計(jì)流程用Modelsim進(jìn)行仿真和調(diào)試用QuartusII進(jìn)行時序分析、綜合等FIR濾波器的設(shè)計(jì)實(shí)例3提綱FPGA概要3FPGA概要4FPGA概要4FPGA的優(yōu)點(diǎn)集成度高,可以替代多至幾千塊通用IC芯片極大減小電路的面積,降低功耗,提高可靠性具有完善先進(jìn)的開發(fā)工具提供語言、圖形等設(shè)計(jì)方法,十分靈活通過仿真工具來驗(yàn)證設(shè)計(jì)的正確性可以反復(fù)地擦除、編程,方便設(shè)計(jì)的修改和升級靈活地定義管腳功能,減輕設(shè)計(jì)工作量,縮短系統(tǒng)開發(fā)時間布局布線容易,設(shè)計(jì)過程相當(dāng)于只有ASIC設(shè)計(jì)的前端研發(fā)費(fèi)用低不需要投片費(fèi)用5FPGA的優(yōu)點(diǎn)集成度高,可以替代多至幾千塊通用IC芯片5FPGA的應(yīng)用前景通信、控制、數(shù)據(jù)計(jì)算等領(lǐng)域得到了廣泛的應(yīng)用減少電子系統(tǒng)的開發(fā)風(fēng)險(xiǎn)和開發(fā)成本縮短上市時間(timetomarket)通過在系統(tǒng)編程、遠(yuǎn)程在線重構(gòu)等技術(shù)降低維護(hù)升級成本系統(tǒng)的原型實(shí)現(xiàn)+ASIC的原型驗(yàn)證ASIC常用FPGA進(jìn)行原型機(jī)驗(yàn)證6FPGA的應(yīng)用前景通信、控制、數(shù)據(jù)計(jì)算等領(lǐng)域得到了廣泛的應(yīng)用CPLD與FPGA的區(qū)別CPLDFPGA內(nèi)部結(jié)構(gòu)Product-termLook-upTable程序存儲內(nèi)部EEPROMSRAM,外掛EEPROM資源類型組合電路資源豐富觸發(fā)器資源豐富集成度低高使用場合完成控制邏輯能完成比較復(fù)雜的算法速度慢快其他資源-EAB(嵌入式邏輯塊),鎖相環(huán)保密性可加密一般不能保密7CPLD與FPGA的區(qū)別CPLDFPGA內(nèi)部結(jié)構(gòu)Produc

CPLD還是FPGA?

復(fù)雜組合邏輯:CPLD–PLD分解組合邏輯的功能很強(qiáng),一個宏單元就可以分解十幾個甚至20~30多個組合邏輯輸入? 復(fù)雜時序邏輯:FPGA–FPGA芯片中包含的LUT和觸發(fā)器的數(shù)量非常多,往往都是成千上萬8

CPLD還是FPGA?

復(fù)雜組合邏輯:CPLD8推薦書籍VerilogVerilog數(shù)字系統(tǒng)設(shè)計(jì)教程夏宇聞北京航天航空大學(xué)出版社硬件描述語言Verilog劉明業(yè)等譯清華大學(xué)出版社FPGA基于FPGA的嵌入式系統(tǒng)設(shè)計(jì)任愛鋒西安電子科技大學(xué)出版社基于FPGA的系統(tǒng)設(shè)計(jì)(英文版)WayneWolf機(jī)械工業(yè)出版社IC設(shè)計(jì)Reusemethodologymanualforsystem-on-a-chipdesigns3rded.MichaelKeating,PierreBricaud.

片上系統(tǒng):可重用設(shè)計(jì)方法學(xué)沈戈,等譯電子工業(yè)出版社,2004Writingtestbenches:functionalverificationofHDLmodels/JanickBergeronBoston:KluwerAcademic,c2000

9推薦書籍Verilog9推薦文章/papers/VerilogCodingStylesForImprovedSimulationEfficiencyStateMachineCodingStylesforSynthesisSynthesisandScriptingTechniquesforDesigningMulti-AsynchronousClockDesignsSynchronousResets?AsynchronousResets?Iamsoconfused!

NonblockingAssignmentsinVerilogSynthesis,CodingStylesThatKill!

10推薦文章http://www.sunburst-designFPGA的設(shè)計(jì)流程11FPGA的設(shè)計(jì)流程11目標(biāo)完成本單元的學(xué)習(xí)后你將會列出FPGA設(shè)計(jì)過程的步驟(以Altera的FPGA為設(shè)計(jì)例子)用缺省的軟件選項(xiàng)來實(shí)現(xiàn)一個FPGA的設(shè)計(jì)QuatursIIModelsim12目標(biāo)12FPGA的設(shè)計(jì)流程FPGA的設(shè)計(jì)流程用ModelSim進(jìn)行仿真用QuartusII進(jìn)行綜合和時序分析用QuartusII進(jìn)行布局布線、調(diào)試和下載13FPGA的設(shè)計(jì)流程FPGA的設(shè)計(jì)流程13FPGA設(shè)計(jì)流程綜合-TranslateDesignintoDeviceSpecificPrimitives-OptimizationtoMeetRequiredArea&PerformanceConstraints-Synplify,QuartusIIDesignSpecification布局布線-MapPrimitivestoSpecificLocationsinsideTargetTechnologywithReferencetoArea&PerformanceConstraintsDesignEntry/RTLCoding-BehavioralorStructuralDescriptionofDesignRTL仿真

-

FunctionalSimulation(Modelsim?,QuartusII)-VerifyLogicModel&DataFlow(NoTimingDelays)

LEM512M4KI/O14FPGA設(shè)計(jì)流程綜合DesignSpecificationFPGA設(shè)計(jì)流程時序分析-VerifyPerformanceSpecificationsWereMet-StaticTimingAnalysis門級仿真-

TimingSimulation-VerifyDesignWillWorkinTargetTechnologyPCBoardSimulation&Test-

SimulateBoardDesign-Program&TestDeviceonBoard-UseSignalTapIIforDebuggingtclk15FPGA設(shè)計(jì)流程時序分析門級仿真PCBoardSimul系統(tǒng)規(guī)劃和預(yù)算系統(tǒng)功能的總體規(guī)劃:功能集的定義;端口的定義;模塊的基本劃分和功能定義:每個模塊應(yīng)該完成的功能;模塊之間的接口定義;模塊間通訊的問題一定要考慮好,硬件通信的成本一般比較大。16系統(tǒng)規(guī)劃和預(yù)算系統(tǒng)功能的總體規(guī)劃:16設(shè)計(jì)的整體規(guī)劃設(shè)計(jì)規(guī)模的初步估計(jì),大致應(yīng)該選擇哪一層次的芯片;設(shè)計(jì)時序的宏觀規(guī)劃:頻率和時鐘結(jié)構(gòu);可能的關(guān)鍵路徑,著重優(yōu)化;模塊的進(jìn)一步細(xì)化,考慮可重用性等的規(guī)劃:可以考慮基本單元,比如加法、乘法器和寄存器等。設(shè)計(jì)文檔化非常重要17設(shè)計(jì)的整體規(guī)劃設(shè)計(jì)規(guī)模的初步估計(jì),大致應(yīng)該選擇哪一層次的芯片設(shè)計(jì)實(shí)現(xiàn)用電路框圖或者HDL描述實(shí)現(xiàn)自己的設(shè)計(jì):簡單的設(shè)計(jì)可以用電路框圖;大型復(fù)雜的一般傾向于用HDL描述;HDL描述和計(jì)算機(jī)編程中的高級語言描述有很大不同,每一個描述都要考慮硬件的實(shí)現(xiàn)能力,是不是可以綜合的等等,目前HDL語言標(biāo)準(zhǔn)中仍然有不能被綜合的語法,這些要尤其注意。18設(shè)計(jì)實(shí)現(xiàn)用電路框圖或者HDL描述實(shí)現(xiàn)自己的設(shè)計(jì):18功能仿真對邏輯功能進(jìn)行驗(yàn)證:不考慮時序問題,認(rèn)為門都是理想門,沒有延時;詳細(xì)一些的可以認(rèn)為門延時都是一樣,而忽略互連線的延時。RTL代碼邏輯仿真器調(diào)用模塊的行為仿真模型測試數(shù)據(jù)測試程序(testbench)19功能仿真對邏輯功能進(jìn)行驗(yàn)證:邏輯仿真器19邏輯綜合通過映射和優(yōu)化,把邏輯設(shè)計(jì)描述轉(zhuǎn)換為和物理實(shí)現(xiàn)密切相關(guān)的工藝網(wǎng)表:RTL代碼邏輯綜合器調(diào)用模塊的黑盒子接口設(shè)置綜合目標(biāo)和約束條件EDIF網(wǎng)表(netlist)HDL網(wǎng)表(netlist)20邏輯綜合通過映射和優(yōu)化,把邏輯設(shè)計(jì)描述轉(zhuǎn)換為和物理實(shí)現(xiàn)密切相布局布線將綜合生成的網(wǎng)表,在FPGA內(nèi)部進(jìn)行布局布線的設(shè)計(jì),并最終生成用于下載的二進(jìn)制配置文件;邏輯綜合器EDIF網(wǎng)表(netlist)FPGA廠家工具調(diào)用模塊的綜合模型設(shè)置布局布線約束條件HDL網(wǎng)表(netlist)SDF文件(標(biāo)準(zhǔn)延時格式)下載/編程文件21布局布線將綜合生成的網(wǎng)表,在FPGA內(nèi)部進(jìn)行布局布線的設(shè)計(jì),時序逼近時序逼近流程是一個推薦的設(shè)計(jì)方法可以幫助設(shè)計(jì)滿足它們的時序目標(biāo)22時序逼近時序逼近流程是一個推薦的設(shè)計(jì)方法可以幫助設(shè)計(jì)滿足它們門級仿真FPGA廠家工具HDL網(wǎng)表(netlist)SDF文件(標(biāo)準(zhǔn)延時格式)邏輯仿真器測試數(shù)據(jù)FPGA基本單元仿真模型測試程序(testbench)23門級仿真FPGA廠家工具邏輯仿真器23SDF文件IndustryStandardFormatAutomaticallyGeneratedWhenYouCompileaDesign(OutputFilewithExtension.sdo)ContainTimingInformationDeviceDelaysInterconnectDelaysPortDelaysPathDelaysTimingChecksCanbeBack-annotatedtoaDesignforAccurateModelofDelays24SDF文件IndustryStandardFormat物理驗(yàn)證將生成的二進(jìn)制配置文件下載到FPGA上,進(jìn)行實(shí)際的功能和時序的測試;Altera(.sof文件)Xlinx(.bit文件),由于FPGA常常是作為整個系統(tǒng)一部分,因此還應(yīng)該將FPGA放到整個系統(tǒng)中進(jìn)行驗(yàn)證,整個系統(tǒng)工作正常,才算完成了開發(fā)過程。25物理驗(yàn)證將生成的二進(jìn)制配置文件下載到FPGA上,進(jìn)行實(shí)際的功用ModelSim

仿真26用ModelSim

仿真26內(nèi)容ModelSim產(chǎn)品簡介ModelSim的用途用ModelSim進(jìn)行功能仿真用ModelSim進(jìn)行時序仿真27內(nèi)容ModelSim產(chǎn)品簡介27ModelSim產(chǎn)品簡介(1)由MentorGraphics公司的子公司ModelTech公司開發(fā)工業(yè)上最通用的仿真器之一支持Verilog和VHDL仿真OEM版本允許Verilog仿真或者

VHDL仿真ModelSim/SE首要的版本,能混合仿真Verilog和VHDLModelSim/XEOEM版,包含Xilinx公司的庫文件ModelSim/AEOEM版,包含Altera公司的庫文件28ModelSim產(chǎn)品簡介(1)由MentorGraphicModelSim產(chǎn)品簡介(2)ModelSim用戶界面main主窗口:structure結(jié)構(gòu)窗口process處理窗口:Signal&variable信號和變量窗口dataflow數(shù)據(jù)流窗口source源窗口Wave&list波形和列表窗口29ModelSim產(chǎn)品簡介(2)ModelSim用戶界面maModelSim的用途RTL仿真(功能仿真)驗(yàn)證設(shè)計(jì)HDL的基本邏輯功能,屬于最基本的驗(yàn)證仿真速度最快門級仿真采用綜合軟件綜合后生成的門級網(wǎng)表不帶有布局布線后產(chǎn)生的時序信息時序仿真(后仿真)在門級仿真的基礎(chǔ)上加入時延文件“.sdf”文件速度很慢,需要很長時間30ModelSim的用途RTL仿真(功能仿真)30用ModelSim作功能仿真(1)ModelSim的實(shí)現(xiàn)方法:交互式的命令行(Cmd)利用控制臺的命令行用戶界面(UI)能接受菜單輸入和命令行輸入批處理模式從DOS或UNIX命令行運(yùn)行批處理文件31用ModelSim作功能仿真(1)ModelSim的實(shí)現(xiàn)方用ModelSim作功能仿真(2)基本仿真步驟:1

建立庫2映射庫到物理目錄3編譯源代碼 -所有的HDL代碼必須被編譯4啟動仿真器5執(zhí)行仿真32用ModelSim作功能仿真(2)基本仿真步驟:32用ModelSim作功能仿真(3)1 建立庫UI)從主菜單里面:

Design->CreateaNewLibraryCmd)從main,記錄窗口:

ModelSim>vlib<庫名>33用ModelSim作功能仿真(3)1 建立庫33用ModelSim作功能仿真(4)2 映射庫到物理目錄UI)從主菜單:

Design->BrowseLibraries

Design->CreateaNewLibraryCmd)從主體的記錄窗口:ModelSim>vmap<logical_name><directory_path>34用ModelSim作功能仿真(4)2 映射庫到物理目錄用ModelSim作功能仿真(5)3 編譯源代碼(Verilog)UI)

Design->CompileCmd)

vlog-work<library_name><file1>.v<file2>.v文件按出現(xiàn)的順序被編譯文件的順序或者編輯的順序不重要支持增量式編譯(只有被改動的設(shè)計(jì)單元被編譯)缺省編譯到work庫例如.vlogmy_design.v35用ModelSim作功能仿真(5)3 編譯源代碼(Ve用ModelSim作功能仿真(6)3編譯源代碼點(diǎn)亮一個或多個文件并點(diǎn)擊Compile36用ModelSim作功能仿真(6)3編譯源代碼點(diǎn)亮一用ModelSim作功能仿真(7)4 啟動仿真器UI)

Design->LoadNewDesign

Cmd)

vsim-lib<library_name><top_level_design>VHDLvsimtop_entitytop_architectureVerilogvsimtop_level37用ModelSim作功能仿真(7)4 啟動仿真器37用ModelSim作功能仿真(8)4 啟動仿真器選擇庫選擇頂級module或entity/architecture38用ModelSim作功能仿真(8)4 啟動仿真器選擇用ModelSim作功能仿真(9)5 執(zhí)行仿真UI)

Run

CMD)

run<time_step><time_units>按timesteps指定的時間長度執(zhí)行仿真39用ModelSim作功能仿真(9)5 執(zhí)行仿真39用ModelSim作功能仿真(10)5 執(zhí)行仿真(UI)選擇timesteps數(shù)量就可以執(zhí)行仿真Restart–重裝任何已改動的設(shè)計(jì)元素并把仿真時間設(shè)為零COM)restart40用ModelSim作功能仿真(10)5 執(zhí)行仿真(UI用ModelSim作功能仿真(11)5 執(zhí)行仿真----run命令舉例run1000- 從當(dāng)前位置運(yùn)行仿真1000timestepsrun2500ns- 從當(dāng)前位置運(yùn)行仿真2500nsrun@3000- 運(yùn)行仿真到timestep300041用ModelSim作功能仿真(11)5 執(zhí)行仿真---用ModelSim作功能仿真(12)5 執(zhí)行仿真----仿真器激勵測試臺- Verilog或VHDL代碼- 非常復(fù)雜的仿真(交互式仿真、數(shù)據(jù)量大的仿真)force命令- 簡單的模塊仿真- 直接從命令控制臺輸入- .DO文件(宏文件)42用ModelSim作功能仿真(12)5 執(zhí)行仿真---用ModelSim作功能仿真(13)5 執(zhí)行仿真----仿真器激勵.do文件自動完成仿真步驟的宏文件庫設(shè)置編譯仿真強(qiáng)制仿真激勵能在所有的ModelSim模式里被調(diào)用UI)

Macro->ExecuteCOM)

do<filename>.do能調(diào)用其他的DO文件43用ModelSim作功能仿真(13)5 執(zhí)行仿真---用ModelSim作功能仿真(14)5 執(zhí)行仿真----仿真器激勵.do文件舉例vlibworkvcomcounter.vhdvsimcounterview*addwave/*addlist/*dorun.doaddwave/clkaddwave/clraddwave/loadaddwave-hex/dataaddwave/qforce/clk00,150-repeat100force/clr00,1100run500force/load10,0100force/data16#A50force/clk00,150-repeat100run1000cdc:\mydirvlibworkvcomcounter.vhdvsimcounterview*dostimulus.domy_sim.dostimulus.do44用ModelSim作功能仿真(14)5 執(zhí)行仿真---用ModelSim作功能仿真(15)5 執(zhí)行仿真----仿真器激勵測試臺文件(testbench)針對復(fù)雜的仿真在測試臺文件中將設(shè)計(jì)模塊實(shí)例化 --將測試臺文件置于TOP層,調(diào)用設(shè)計(jì)模塊

--在測試臺文件中加載時鐘激勵信號,以及給部分信號賦初值測試臺文件的寫法與設(shè)計(jì)模塊寫法有區(qū)別 --一些符合語法但又無法被綜合的語句(根據(jù)具體的綜合工具而定),可以在測試臺文件中使用45用ModelSim作功能仿真(15)5 執(zhí)行仿真---用ModelSim作功能仿真(總結(jié))基本仿真步驟:1

建立庫(AlteraMegaFunction庫)2映射庫到物理目錄3編譯源代碼 -所有的HDL代碼必須被編譯4啟動仿真器5執(zhí)行仿真#Createlibaryvlibwork#Compilethealtera_mflibraryvlogd:/quartus51/eda/sim_lib/altera_mf.v#Createaltera_mflibraryandmapittoworkexecvmapaltera_mfwork#sourcefiles#FIFOvlog../core/INFIFO.v#top_levelvlog../src/chip_top.vvlog../src/tb_top.v#simulationandtestbenchesvsim-Lworktb_topdowave_tb_top.dorun5ms46用ModelSim作功能仿真(總結(jié))基本仿真步驟:#Cre用ModelSim作時序仿真(1)時序仿真的含義:布局布線后進(jìn)行的后仿真包含有延時信息仿真結(jié)果可能與功能仿真不相同除功能仿真時需要的文件以外,還需要網(wǎng)表文件(如time_sim.vhd或time_sim.v)和包含延時信息的文件(time_sim.sdf文件)在Quartus中是.vo和.sdo文件47用ModelSim作時序仿真(1)時序仿真的含義:47用ModelSim作時序仿真(2)指定SDF文件指定SDF文件使用定時值的等級的類型(如果不是頂級)48用ModelSim作時序仿真(2)指定SDF文件指定SDF用ModelSim作時序仿真(3)vsim命令的參數(shù)參數(shù)-t<time_unit>指定仿真的時間分辨率單位可以是{fs,ps,ns,ms,sec,min,hr}如果用了Verilog的‘timescale指令,將使用整個設(shè)計(jì)中的最小的時間精度可選項(xiàng)(缺省是ns)-sdfmin|-sdftyp|-sdfmax<instance>=<sdf_filename>注釋SDF文件可選項(xiàng)使用實(shí)例名也是可選項(xiàng);如果沒有使用,SDF用于頂級49用ModelSim作時序仿真(3)vsim命令的參數(shù)49用ModelSim作時序仿真(總結(jié))基本仿真步驟:建立庫編譯Altera器件庫3映射庫到物理目錄4編譯綜合后網(wǎng)表5加入SDF文件4啟動仿真器5執(zhí)行仿真#scriptforModelsimposttimingsimulationofAlteracyclonedevice#byWayne#setyourPCenvironmentsetmodelsim_homed:/edatools/Modeltech_6.1dsetquartus_homed:/quartus51#buildworklibvlibwork#addcyclonedevicelibanditssimmodelsvlog-reportprogress300-workcyclone$quartus_home/eda/sim_lib/cyclone_atoms.v程序接下頁50用ModelSim作時序仿真(總結(jié))基本仿真步驟:#scrvmapcyclonework#postsimulationinmodelsimforAlteradevicessetdesign_namechip_topsethome../impvlog../src/tb_top.vvlog../imp/simulation/modelsim/$design_name.vovsim-sdftyp/tb_top/UUT=chip_top_v.sdo-tpswork.tb_topdowave.dorun500us程序接上頁51vmapcyclonework程序接上頁51用QuartusII

進(jìn)行綜合、時序分析和布局布線

52用QuartusII進(jìn)行綜合、時序分析和布局布線

52設(shè)計(jì)流程CreateaNewQuartusIIProjectCompileaDesignintoanFPGALocateResultingCompilationInformationAssignDesignConstraints(Timing&Pin)PerformTimingAnalysis&ObtainResultsConfigureanFPGA53設(shè)計(jì)流程CreateaNewQuartusIIPr創(chuàng)建一個新的工程54創(chuàng)建一個新的工程54添加文件55添加文件55ChooseDeviceFamily器件選擇56ChooseDeviceFamily器件選擇56管腳分配Assignmentsmenu->AssignmentEditor->Pins57管腳分配Assignmentsmenu->AssignmePinPlanner窗口UnassignedPinsListPackageView(ToporBottom)AssignedPinsList58PinPlanner窗口UnassignedPinsAltera的IP工具IP的概念:

用于ASIC、ASSP、PLD等芯片中預(yù)先設(shè)計(jì)好的常用但較復(fù)雜的電路功能模塊,經(jīng)過嚴(yán)格測試和優(yōu)化,如FIR濾波器、SDRAM控制器、PCI接口等。使用IP的優(yōu)勢:提高設(shè)計(jì)性能降低開發(fā)成本縮短設(shè)計(jì)周期設(shè)計(jì)靈活性強(qiáng)仿真方便59Altera的IP工具IP的概念:59IP的分類:軟IP、固IP和硬IPMegafunctions/LPM(免費(fèi)的宏功能模塊):如算術(shù)組件、門、I/O組件、存儲器、存儲組件MegaCore(需要授權(quán)的):如數(shù)字信號處理類、通信類、接口和外設(shè)類、微處理器類Altera的IP工具60IP的分類:Altera的IP工具60下載所要的MegaCore通過MegaWizard的界面打開IP核的統(tǒng)一界面IPToolbench定制要生成的IP的參數(shù)產(chǎn)生IP的封裝和網(wǎng)表文件,以及功能模型對IP的RTL模型做功能仿真將IP的封裝和網(wǎng)表文件放在工程中,并實(shí)現(xiàn)設(shè)計(jì)購買IP許可證IP使用的步驟61下載所要的MegaCoreIP使用的步驟61MegaWizardPlug-InManagerEasesImplementationofMegafunctions&IPToolsMegaWizardPlug-InManager62MegaWizardPlug-InManagerEaseMegaWizard示例Multiply-AddPLLLocateDocumentationinQuartusIIHelportheWeb63MegaWizard示例Multiply-AddPLLL時序分析64時序分析64TimingAssignments

5typesoftimingassignmentsexist:–fmax,tsu,thold,tco,tpdThesetimingassignmentscanbeassignedgloballyorindividually65TimingAssignments

5typesofRegister的參數(shù)DClkQDQClktc-qtholdTtsutsu:建立時間,在時鐘有效沿到來之前寄存器數(shù)據(jù)輸入應(yīng)保持穩(wěn)定的時間,它間接約束了組合邏輯的最大延時thold:保持時間,在寄存器數(shù)據(jù)輸入的引腳的數(shù)據(jù)在系統(tǒng)有效時鐘沿到來后需要保持穩(wěn)定的時間,它間接約束了組合邏輯的最小延時tc-q:寄存器從有效時鐘沿到來到輸出有效的最大時間違反建立或保持時間,都會造成觸發(fā)器工作異常,產(chǎn)生Metastability。為了可靠工作,在建立時間開始到保持時間為止的這段時間內(nèi),觸發(fā)器的輸入端信號不應(yīng)發(fā)生變化。66Register的參數(shù)DClkQDQClktc-qtholdClockSkew在同一個時鐘域或者兩個時鐘域之間時鐘信號到達(dá)寄存器的最大時間差別產(chǎn)生原因主要有:時鐘源到達(dá)各端點(diǎn)的路徑長度不同,各端點(diǎn)負(fù)載不同,時鐘網(wǎng)絡(luò)中插入的緩沖器不同等在兩個點(diǎn)之間,可以大體認(rèn)為Skew是固定的值注意:ClockSkew影響的是時鐘的到達(dá)時間不同,也就是時鐘發(fā)生相移,并不影響時鐘的周期寬度67ClockSkew在同一個時鐘域或者兩個時鐘域之間時鐘信號ClockSkew(2)68ClockSkew(2)68時鐘參數(shù)滿足的條件時鐘周期應(yīng)大于寄存器延時、組合邏輯延時、和目標(biāo)寄存器建立時間的和本寄存器有效輸出通過組合邏輯的延時應(yīng)該大于目的寄存器的保持時間要求69時鐘參數(shù)滿足的條件時鐘周期應(yīng)大于寄存器延時、組合邏輯延時、和FmaxAssignment70FmaxAssignment70FmaxAssignment:Single/MultipleClock71FmaxAssignment:Single/MultipClockPeriod =Clock-to-Out+DataDelay+SetupTime-ClockSkew =tco+B+tsu-(E-C)

fmax =1/ClockPeriodBCtcotsuEClockPeriodClockSetup(fmax)Worst-CaseClockFrequency72ClockPeriod =Clock-to-Out+SelectClockSetupWorstfmaxFmaxValuesAreListedinAscendingOrder;WorstFmaxIsListedontheTopSource,DestinationRegisters&AssociatedFmaxValuesClockSetup(fmax)Tables73SelectWorstfmaxFmaxValuesAfmaxAnalysisDetailsDataDelay(B)SourceRegisterClockDelay(C)SetupTime(tsu)BCtcotsuEClockPeriodDestinationRegisterClockDelay(E)ClocktoOutput(tco)10.384ns+7.445ns+0.180ns-0.000ns=124.86MHzMessagesWindow(SystemTab)inQuartusII74fmaxAnalysisDetailsDataDelaI/OAssignments:Tsu,Tco75I/OAssignments:75TimingAssignmentsWhatcanbetaggedwithatimingassignments?Registers(all)ClockPins(all)InputPins(tsu,th)OutputPins(tco)BidirectionalPins(all)76TimingAssignmentsWhatcanbeTimingSettings

EasywaytoentertimingassignmentsConsolidatesalltimingassignmentsinone menu –IndividualclocksettingsORoverallcircuitfrequency –Defaultsystemtiming ?tsu ?th ?tco ?tpd –Defaultexternalinput/outputdelays –Enable/Disabletiminganalysisduring compilation –Timingdrivencompilation77TimingSettings

EasywaytoenReportingTimingResultsTiminginformationispartoftheCompilationReport –SummaryTimingAnalyses –fmax(notincl.delaysto/frompins)orfmax(incl.delaysto/frompins) –Register-to-RegisterTable –tsu(InputSetupTimes) –th(InputHoldTimes) –tco(ClocktoOutDelays) –tpd(PintoPinDelays)?Alltimingresultsarereportedhere78ReportingTimingResultsTimingI/O建立時間和保持時間ClockdelaytsuthDatadelaytsu=datadelay-clockdelay+intrinsictsuintrinsictsu&holdth=clockdelay-datadelay+intrinsicth79I/O建立時間和保持時間ClockdelaytsuthI/OClock-to-OutputAnalysis(tco)DatadelaytcoClockdelayclockdelay+intrinsictco+datadelay=tcointrinsictco80I/OClock-to-OutputAnalysis(TimeSlackslack=期望數(shù)據(jù)到達(dá)時間–數(shù)據(jù)實(shí)際到達(dá)時間Slack為正,表示數(shù)據(jù)提前到達(dá),此時組合邏輯延遲滿足條件,Register有足夠的建立時間;Slack為負(fù),表示數(shù)據(jù)比預(yù)期的時間晚到達(dá),此時顯然不滿足Register的建立時間,不滿足約束;81TimeSlackslack=期望數(shù)據(jù)到達(dá)時間–數(shù)SlackEquations(Setup)Slack=LargestRequiredTime-LongestActualTimeRequiredTime=ClockSetup

-tco-tsu+(clk’-clk)ActualTime=DataDelaylaunchedgeclkclk’setuplatchedgeClockSetup*clktcotsuCombinatorialLogicclk’Register1Register2data

delay82SlackEquations(Setup)Slack=SlackEquations(Hold)launchedgeclkholdlatchedgeClockHold*clktcothCombinatorialLogicclk’Register1Register2datadelaySlack=ShortestActualTime-SmallestRequiredTimeActualTime=DataDelayRequiredTime=

ClockHold

-tco+th+(clk’-clk)clk’83SlackEquations(Hold)launcheinoutclkreg1reg2clk’clkclk’slack=p2prequired–p2pdelayp2pp2prequired=setuprelationship+clockskew–μtCO-μtSUsetuprelationship=latchedge–launchedgeclockskew=clk’–clklaunchlatchSimpleRegistertoRegister示例84inoutclkreg1reg2clk’clkclk’slainoutclkreg1reg2clk’slack=p2prequired–p2pdelayp2pp2prequired=setuprelationship+clockskew–μtCO–μtSU

setuprelationship=latchedge–launchedge =5.0–0.0 =5.0

clockskew=clk’–clk

2.2660.110.082μtcoμtsu0.0820.11=2.521-2.993=5.0+(-0.472)–0.11–0.082=4.336–2.266=-0.472=4.336μtcoμtsu=2.072.9932.5212.9932.521SimpleRegistertoRegister示例(con)85inoutclkreg1reg2clk’slack=p2InputMinimumDelayMinimumDelayfromExternalDevicetoAlteraI/ORepresentsExternalDevicetco+PCBDelay+PCBClockSkewConstrainsRegisteredInputPath(th)AtcothAlteraDeviceExternalDevicePCBDelaythA

InputMinimumDelayInputMinimumDelaythACLKCLK86InputMinimumDelayMinimumDelOutputMaximumDelayMaximumDelayfromAlteraI/OtoExternalDeviceRepresentsExternalDevicetsu+PCBDelay+PCBClockSkewConstrainsRegisteredOutputPath(Max.tco)BtcotsuAlteraDeviceExternalDevicePCBDelaytcoB

tCLK-OutputMaximumDelaytcoOutputMaximumDelayCLKCLK87OutputMaximumDelayMaximumDeOutputMinimumDelayMinimumDelayfromAlteraI/OtoExternalDeviceRepresentsExternalDeviceth-PCBBoardDelayConstrainsRegisteredOutputPath(Min.tco)BtcothAlteraDeviceExternalDeviceBoardDelaytcoB

OutputMinimumDelaytcoOutputMaximumDelayCLKCLK88OutputMinimumDelayMinimumDeExampleInputMaximumDelayNotice:InputPind(6)&d(3)TimingInformationIsIncludedwithClockSetup(fmax)AnalysisInputDelayHasBeenAddedtoListPathCalculationInputMaximumDelay(d)=4ns

89ExampleInputMaximumDelayNotCompilinginQuartus90CompilinginQuartus90CompilinginQuartus(Start)91CompilinginQuartus(Start)91CompilinginQuartus

92CompilinginQuartus

92Done!93Done!93DownloadBitFile94DownloadBitFile94DownloadBitFileintoFPGA95DownloadBitFileintoFPGA95AlteraFPGA配置列表配置模式典型應(yīng)用被動串行模式(PS)運(yùn)用增強(qiáng)配置芯片(EPC16,EPC8或EPC4)EPC1,EPC2,EPC1441,串行同步微處理器,USB接口下載電纜,MasterBlasterTM通信電纜,ByteBlasterTMII并口下載電纜或ByteBlasterMVTM并口下載電纜。主動串行模式(AS)應(yīng)用串行配置芯片EPCS1,EPCS4等被動并行同步模式(PPS)并行同步微處理器配置快速被動并行模式(FPP)增強(qiáng)型配置芯片或8位同步并行微處理器速度為PPS模式的8倍。被動并行異步模式(PPA)采用異步微處理器,這種模式下微處理器對于目標(biāo)芯片如同一個存儲器。被動串行異步模式(PSA)串行異步處理器JTAG模式根據(jù)IEEEStd.1149.1(JTAG)引腳標(biāo)準(zhǔn)96AlteraFPGA配置列表配置模式典型應(yīng)用被動串行模式(DebugwithSignalTapII97Debugwith97QuartusII嵌入式邏輯分析儀特點(diǎn)特點(diǎn)優(yōu)點(diǎn)可以靈活的改變緩沖器模式在循環(huán)模式或間隔模式采樣時,使每次不同的觸發(fā)均能采到更加精確的數(shù)據(jù)。每個器件最高支持1024個通道可以支持多個采用通道和很寬的總線模式采樣。每個器件支持128K采樣存儲使每個通道得到更多的采樣數(shù)據(jù)。采樣時鐘最高可達(dá)270MHz可以采集速率更高的數(shù)據(jù)。資源使用的評價(jià)者可以評估邏輯或存儲器件的資源使用情況。不需要額外費(fèi)用SignalTapIIlogicAnalyzer是QuartusII免費(fèi)提供的。可對一個器件進(jìn)行多重邏輯分析可以從一個復(fù)雜的時鐘信號中分析出想要得到的數(shù)據(jù)通過一個JTAG接口可對多個器件進(jìn)行多重的邏輯分析使設(shè)計(jì)者可以通過一個JTAG接口同步得到多個芯片的數(shù)據(jù)對每個信號均有10種觸發(fā)模式可以捕捉到更加復(fù)雜的數(shù)據(jù)信號,更加景區(qū)的找到問題的所在。增加的編譯可以在綜合編譯之前對邏輯分析儀進(jìn)行修改。98QuartusII嵌入式邏輯分析儀特點(diǎn)特點(diǎn)優(yōu)點(diǎn)可以靈活的FIR濾波器設(shè)計(jì)實(shí)例99FIR濾波器設(shè)計(jì)實(shí)例99一個綜合的例子FIR濾波器的設(shè)計(jì)Modelsim的使用QuartusII的使用宏功能模塊的使用仿真、綜合等過程及報(bào)告的查看100一個綜合的例子FIR濾波器的設(shè)計(jì)100設(shè)計(jì)要求設(shè)計(jì)一個14階FIR濾波器,已給出濾波器系數(shù),要求用Verilog/VHDL實(shí)現(xiàn)該濾波器,并且選用Altera的Stratix或StratixII器件。要求充分利用AlteraStratix/StratixII的器件的DSPBLOCK資源。要求每一級都一級流水線(pipeline)。能夠利用Altera的megafunction。能夠在Modelsim下進(jìn)行仿真。選用EP2S60F484C3器件。Fmax達(dá)到270Mhz以上。101設(shè)計(jì)要求設(shè)計(jì)一個14階FIR濾波器,已給出濾波器系數(shù),要求用設(shè)計(jì)難點(diǎn)難點(diǎn)在于要達(dá)到270MHz以上的頻率通過插入流水線可以達(dá)到要求為了不過分的增加流水線寄存器的數(shù)量,需要對FIR濾波器的結(jié)構(gòu)進(jìn)行精心設(shè)計(jì)102設(shè)計(jì)難點(diǎn)難點(diǎn)在于要達(dá)到270MHz以上的頻率102直接形式結(jié)構(gòu)關(guān)鍵路徑是1個乘法器和2個加法器

流水線割集插入流水線寄存器,這樣得到的關(guān)鍵路徑是1個乘法和1個加法

103直接形式結(jié)構(gòu)關(guān)鍵路徑是1個乘法器和2個加法器流水線割集插數(shù)據(jù)廣播結(jié)構(gòu)關(guān)鍵路徑是1個乘法器和1個加法器

流水線割集插入流水線寄存器,關(guān)鍵路徑是1個乘法

104數(shù)據(jù)廣播結(jié)構(gòu)關(guān)鍵路徑是1個乘法器和1個加法器流水線割集插入設(shè)計(jì)方案選擇寄存器數(shù)目關(guān)鍵路徑長度直接形式結(jié)構(gòu)39×36個1個乘法器和1個加法器數(shù)據(jù)廣播結(jié)構(gòu)13×36個1個乘法器和1個加法器進(jìn)一步流水的數(shù)據(jù)廣播結(jié)構(gòu)27×36個1個乘法器105設(shè)計(jì)方案選擇寄存器數(shù)目關(guān)鍵路徑長度直接形式結(jié)構(gòu)39×36FIR濾波器的結(jié)構(gòu)106FIR濾波器的結(jié)構(gòu)106模塊劃分乘法器模塊:直接用Altera的DSPBLOCKlpm_mult進(jìn)行例化信號名稱I/O描述dataaI乘法器輸入數(shù)據(jù)信號,16bit字長databI乘法器輸入數(shù)據(jù)信號,16bit字長resultO濾波器輸出數(shù)據(jù)信號,32bit字長

加法器模塊:直接用Altera的DSPBLOCKlpm_add_sub進(jìn)行例化

頂層模塊:將乘法器和加法器連接成數(shù)據(jù)廣播結(jié)構(gòu)的FIR濾波器信號名稱I/O描述dataaI乘法器輸入數(shù)據(jù)信號,36bit字長databI乘法器輸入數(shù)據(jù)信號,36bit字長resultO濾波器輸出數(shù)據(jù)信號,36bit字長107模塊劃分乘法器模塊:直接用Altera的DSPBLOCKlDSPBlocksforComplex

ArithmeticApplicationsWirelessFiltering&CompressionEncryptionSignalProcessingConsumerImageProcessingAudioProcessingCompressionDataComBarrelShiftingQoSAlgorithms+OptionalPipeliningOutputRegistersOutputMUX+-S+-SInputRegisters108DSPBlocksforComplex

ArithmeStratixIIDSPBlocksUp96DSPBlocksEachConfiguredfor(8)9x9Multipliers(4)18x18Multipliers(1)36x36MultiplierCanBeCascadedforLargerOperationsDedicatedConfigurableMathCircuitryMultiplier,Accumulate&Addition/SubtractionRounding&SaturationBuilt-InShiftRegisterforCompleteFIRFilterImplementationSelectableInput,Output&PipelineStageRegisters109StratixIIDSPBlocksUp96DSPDSPBlockArchitectureAdd/Sub/AccSummationUnitOutputRegisterXXXX++-+-InputRegisterPipelineRegisterOutputMux110DSPBlockArchitectureAdd/Sub/綜合結(jié)果目標(biāo)器件EP2S60F484C3TotalALUTs338/48,352(<1%)DSPblock9-bitelements28/288(9%)資源利用率速度最高時鐘頻率(約束300MHz情況下)312.89MHz(period=3.196ns)111綜合結(jié)果目標(biāo)器件EP2S60F484C3TotalALUT總結(jié)(1)1、使用ModelSim進(jìn)行功能仿真3、使用QuartusII對設(shè)計(jì)進(jìn)行綜合,時序分析和布線4、使用ModelSim進(jìn)行后仿真5、使用QuartusII下載文件到實(shí)際電路6、使用SignalTapII進(jìn)行調(diào)試和數(shù)據(jù)觀測112總結(jié)(1)1、使用ModelSim進(jìn)行功能仿真112總結(jié)(2)數(shù)字系統(tǒng)設(shè)計(jì)應(yīng)該明確如下觀點(diǎn):無論是ASIC、FPGA還是DSP,都只是一種實(shí)現(xiàn)手段;無論采用哪種HDL或哪種開發(fā)工具,都不能單純從語言或工具本身作出評價(jià);關(guān)鍵是看應(yīng)用環(huán)境,只有選擇最適合于應(yīng)用的實(shí)現(xiàn)方式和工具才是最好的設(shè)計(jì)方案;設(shè)計(jì)應(yīng)該注重硬件設(shè)計(jì)本身,只有先有了良好的設(shè)計(jì),才可能有高效的描述和實(shí)現(xiàn)。數(shù)字模擬電路、HDL語言等知識和實(shí)際經(jīng)驗(yàn)比了解軟件更重要。113總結(jié)(2)數(shù)字系統(tǒng)設(shè)計(jì)應(yīng)該明確如下觀點(diǎn):1135、世上最美好的事是:我已經(jīng)長大,父母還未老;我有能力報(bào)答,父母仍然健康。

6、沒什么可怕的,大家都一樣,在試探中不斷前行。

7、時間就像一張網(wǎng),你撒在哪里,你的收獲就在哪里。紐扣第一顆就扣錯了,可你扣到最后一顆才發(fā)現(xiàn)。有些事一開始就是錯的,可只有到最后才不得不承認(rèn)。

8、世上的事,只要肯用心去學(xué),沒有一件是太晚的。要始終保持敬畏之心,對陽光,對美,對痛楚。

9、別再去抱怨身邊人善變,多懂一些道理,明白一些事理,畢竟每個人都是越活越現(xiàn)實(shí)。

10、山有封頂,還有彼岸,慢慢長途,終有回轉(zhuǎn),余味苦澀,終有回甘。

11、人生就像是一個馬爾可夫鏈,你的未來取決于你當(dāng)下正在做的事,而無關(guān)于過去做完的事。

12、女人,要么有美貌,要么有智慧,如果兩者你都不占絕對優(yōu)勢,那你就選擇善良。

13、時間,抓住了就是黃金,虛度了就是流水。理想,努力了才叫夢想,放棄了那只是妄想。努力,雖然未必會收獲,但放棄,就一定一無所獲。

14、一個人的知識,通過學(xué)習(xí)可以得到;一個人的成長,就必須通過磨練。若是自己沒有盡力,就沒有資格批評別人不用心。開口抱怨很容易,但是閉嘴努力的人更加值得尊敬。

15、如果沒有人為你遮風(fēng)擋雨,那就學(xué)會自己披荊斬棘,面對一切,用倔強(qiáng)的驕傲,活出無人能及的精彩。5、人生每天都要笑,生活的下一秒發(fā)生什么,我們誰也不知道。所以,放下心里的糾結(jié),放下腦中的煩惱,放下生活的不愉快,活在當(dāng)下。人生喜怒哀樂,百般形態(tài),不如在心里全部淡然處之,輕輕一笑,讓心更自在,生命更恒久。積極者相信只有推動自己才能推動世界,只要推動自己就能推動世界。

6、人性本善,純?nèi)缜逑魉冬摖q。欲望與情緒如風(fēng)沙襲擾,把原本如天空曠蔚藍(lán)的心蒙蔽。但我知道,每個人的心靈深處,不管烏云密布還是陰淤蒼茫,但依然有一道彩虹,亮麗于心中某處。

7、每個人的心里,都藏著一個了不起的自己,只要你不頹廢,不消極,一直悄悄醞釀著樂觀,培養(yǎng)著豁達(dá),堅(jiān)持著善良,只要在路上,就沒有到達(dá)不了的遠(yuǎn)方!

8、不要活在別人眼中,更不要活在別人嘴中。世界不會因?yàn)槟愕谋г共粷M而為你改變,你能做到的只有改變你自己!

9、欲戴王冠,必承其重。哪有什么好命天賜,不都是一路披荊斬棘才換來的。

10、放手如拔牙。牙被拔掉的那一刻,你會覺得解脫。但舌頭總會不由自主地往那個空空的牙洞里舔,一天數(shù)次。不痛了不代表你能完全無視,留下的那個空缺永遠(yuǎn)都在,偶爾甚至?xí)惓炷睢_m應(yīng)是需要時間的,但牙總是要拔,因?yàn)樘?,所以終歸還是要放手,隨它去。

11、這個世界其實(shí)很公平,你想要比別人強(qiáng),你就必須去做別人不想做的事,你想要過更好的生活,你就必須去承受更多的困難,承受別人不能承受的壓力。

12、逆境給人寶貴的磨煉機(jī)會。只有經(jīng)得起環(huán)境考驗(yàn)的人,才能算是真正的強(qiáng)者。自古以來的偉人,大多是抱著不屈不撓的精神,從逆境中掙扎奮斗過來的。

13、不同的人生,有不同的幸福。去發(fā)現(xiàn)你所擁有幸運(yùn),少抱怨上蒼的不公,把握屬于自己的幸福。你,我,我們大家都可以經(jīng)歷幸福的人生。

14、給自己一份堅(jiān)強(qiáng),擦干眼淚;給自己一份自信,不卑不亢;給自己一份灑脫,悠然前行。輕輕品,靜靜藏。為了看陽光,我來到這世上;為了與陽光同行,我笑對憂傷。

15、總不能流血就喊痛,怕黑就開燈,想念就聯(lián)系,疲憊就放空,被孤立就討好,脆弱就想家,不要被現(xiàn)在而蒙蔽雙眼,終究是要長大,最漆黑的那段路終要自己走完。5、從來不跌倒不算光彩,每次跌倒后能再站起來,才是最大的榮耀。

6、這個世界到處充滿著不公平,我們能做的不僅僅是接受,還要試著做一些反抗。

7、一個最困苦、最卑賤、最為命運(yùn)所屈辱的人,只要還抱有希望,便無所怨懼。

8、有些人,因?yàn)榕隳阕叩臅r間長了,你便淡然了,其實(shí)是他們給你撐起了生命的天空;有些人,分開了,就忘了吧,殘缺是一種大美。

9、照自己的意思去理解自己,不要小看自己,被別人的意見引入歧途。

10、沒人能讓我輸,除非我不想贏!

11、花開不是為了花落,而是為了開的更加燦爛。

12、隨隨便便浪費(fèi)的時間,再也不能贏回來。

13、不管從什么時候開始,重要的是開始以后不要停止;不管在什么時候結(jié)束,重要的是結(jié)束以后不要后悔。

14、當(dāng)你決定堅(jiān)持一件事情,全世界都會為你讓路。

15、只有在開水里,茶葉才能展開生命濃郁的香氣。5、世上最美好的事是:我已經(jīng)長大,父母還未老;我有能力報(bào)答,114AlteraFPGA的設(shè)計(jì)流程賀光輝清華大學(xué)電子工程系115AlteraFPGA的設(shè)計(jì)流程賀光輝1目標(biāo)掌握FPGA的標(biāo)準(zhǔn)設(shè)計(jì)流程和工具用Modelsim進(jìn)行功能級仿真并診斷RTLCode用QuartusII做設(shè)計(jì)綜合和布局布線用FPGAMega-functions做設(shè)計(jì)返標(biāo)SDF并運(yùn)行門級的仿真掌握FPGA的時序約束了解FPGA的設(shè)計(jì)原則116目標(biāo)掌握FPGA的標(biāo)準(zhǔn)設(shè)計(jì)流程和工具2提綱FPGA概要FPGA的設(shè)計(jì)流程用Modelsim進(jìn)行仿真和調(diào)試用QuartusII進(jìn)行時序分析、綜合等FIR濾波器的設(shè)計(jì)實(shí)例117提綱FPGA概要3FPGA概要118FPGA概要4FPGA的優(yōu)點(diǎn)集成度高,可以替代多至幾千塊通用IC芯片極大減小電路的面積,降低功耗,提高可靠性具有完善先進(jìn)的開發(fā)工具提供語言、圖形等設(shè)計(jì)方法,十分靈活通過仿真工具來驗(yàn)證設(shè)計(jì)的正確性可以反復(fù)地擦除、編程,方便設(shè)計(jì)的修改和升級靈活地定義管腳功能,減輕設(shè)計(jì)工作量,縮短系統(tǒng)開發(fā)時間布局布線容易,設(shè)計(jì)過程相當(dāng)于只有ASIC設(shè)計(jì)的前端研發(fā)費(fèi)用低不需要投片費(fèi)用119FPGA的優(yōu)點(diǎn)集成度高,可以替代多至幾千塊通用IC芯片5FPGA的應(yīng)用前景通信、控制、數(shù)據(jù)計(jì)算等領(lǐng)域得到了廣泛的應(yīng)用減少電子系統(tǒng)的開發(fā)風(fēng)險(xiǎn)和開發(fā)成本縮短上市時間(timetomarket)通過在系統(tǒng)編程、遠(yuǎn)程在線重構(gòu)等技術(shù)降低維護(hù)升級成本系統(tǒng)的原型實(shí)現(xiàn)+ASIC的原型驗(yàn)證ASIC常用FPGA進(jìn)行原型機(jī)驗(yàn)證120FPGA的應(yīng)用前景通信、控制、數(shù)據(jù)計(jì)算等領(lǐng)域得到了廣泛的應(yīng)用CPLD與FPGA的區(qū)別CPLDFPGA內(nèi)部結(jié)構(gòu)Product-termLook-upTable程序存儲內(nèi)部EEPROMSRAM,外掛EEPROM資源類型組合電路資源豐富觸發(fā)器資源豐富集成度低高使用場合完成控制邏輯能完成比較復(fù)雜的算法速度慢快其他資源-EAB(嵌入式邏輯塊),鎖相環(huán)保密性可加密一般不能保密121CPLD與FPGA的區(qū)別CPLDFPGA內(nèi)部結(jié)構(gòu)Produc

CPLD還是FPGA?

復(fù)雜組合邏輯:CPLD–PLD分解組合邏輯的功能很強(qiáng),一個宏單元就可以分解十幾個甚至20~30多個組合邏輯輸入? 復(fù)雜時序邏輯:FPGA–FPGA芯片中包含的LUT和觸發(fā)器的數(shù)量非常多,往往都是成千上萬122

CPLD還是FPGA?

復(fù)雜組合邏輯:CPLD8推薦書籍VerilogVerilog數(shù)字系統(tǒng)設(shè)計(jì)教程夏宇聞北京航天航空大學(xué)出版社硬件描述語言Verilog劉明業(yè)等譯清華大學(xué)出版社FPGA基于FPGA的嵌入式系統(tǒng)設(shè)計(jì)任愛鋒西安電子科技大學(xué)出版社基于FPGA的系統(tǒng)設(shè)計(jì)(英文版)WayneWolf機(jī)械工業(yè)出版社IC設(shè)計(jì)Reusemethodologymanualforsystem-on-a-chipdesigns3rded.MichaelKeating,PierreBricaud.

片上系統(tǒng):可重用設(shè)計(jì)方法學(xué)沈戈,等譯電子工業(yè)出版社,2004Writingtestbenches:functionalverificationofHDLmodels/JanickBergeronBoston:KluwerAcademic,c2000

123推薦書籍Verilog9推薦文章/papers/VerilogCodingStylesForImprovedSimulationEfficiencyStateMachineCodingStylesforSynthesisSynthesisandScriptingTechniquesforDesigningMulti-AsynchronousClockDesignsSynchronousResets?AsynchronousResets?Iamsoconfused!

NonblockingAssignmentsinVerilogSynthesis,CodingStylesThatKill!

124推薦文章http://www.sunburst-designFPGA的設(shè)計(jì)流程125FPGA的設(shè)計(jì)流程11目標(biāo)完成本單元的學(xué)習(xí)后你將會列出FPGA設(shè)計(jì)過程的步驟(以Altera的FPGA為設(shè)計(jì)例子)用缺省的軟件選項(xiàng)來實(shí)現(xiàn)一個FPGA的設(shè)計(jì)QuatursIIModelsim126目標(biāo)12FPGA的設(shè)計(jì)流程FPGA的設(shè)計(jì)流程用ModelSim進(jìn)行仿真用QuartusII進(jìn)行綜合和時序分析用QuartusII進(jìn)行布局布線、調(diào)試和下載127FPGA的設(shè)計(jì)流程FPGA的設(shè)計(jì)流程13FPGA設(shè)計(jì)流程綜合-TranslateDesignintoDeviceSpecificPrimitives-OptimizationtoMeetRequiredArea&PerformanceConstraints-Synplify,QuartusIIDesignSpecification布局布線-MapPrimitivestoSpecificLocationsinsideTargetTechnologywithReferencetoArea&PerformanceConstraintsDesignEntry/RTLCoding-BehavioralorStructuralDescriptionofDesignRTL仿真

-

FunctionalSimulation(Modelsim?,QuartusII)-VerifyLogicModel&DataFlow(NoTimingDelays)

LEM512M4KI/O128FPGA設(shè)計(jì)流程綜合DesignSpecificationFPGA設(shè)計(jì)流程時序分析-VerifyPerformanceSpecificationsWereMet-StaticTimingAnalysis門級仿真-

TimingSimulation-VerifyDesignWillWorkinTargetTechnologyPCBoardSimulation&Test-

SimulateBoardDesign-Program&TestDeviceonBoard-UseSignalTapIIforDebuggingtclk129FPGA設(shè)計(jì)流程時序分析門級仿真PCBoardSimul系統(tǒng)規(guī)劃和預(yù)算系統(tǒng)功能的總體規(guī)劃:功能集的定義;端口的定義;模塊的基本劃分和功能定義:每個模塊應(yīng)該完成的功能;模塊之間的接口定義;模塊間通訊的問題一定要考慮好,硬件通信的成本一般比較大。130系統(tǒng)規(guī)劃和預(yù)算系統(tǒng)功能的總體規(guī)劃:16設(shè)計(jì)的整體規(guī)劃設(shè)計(jì)規(guī)模的初步估計(jì),大致應(yīng)該選擇哪一層次的芯片;設(shè)計(jì)時序的宏觀規(guī)劃:頻率和時鐘結(jié)構(gòu);可能的關(guān)鍵路徑,著重優(yōu)化;模塊的進(jìn)一步細(xì)化,考慮可重用性等的規(guī)劃:可以考慮基本單元,比如加法、乘法器和寄存器等。設(shè)計(jì)文檔化非常重要131設(shè)計(jì)的整體規(guī)劃設(shè)計(jì)規(guī)模的初步估計(jì),大致應(yīng)該選擇哪一層次的芯片設(shè)計(jì)實(shí)現(xiàn)用電路框圖或者HDL描述實(shí)現(xiàn)自己的設(shè)計(jì):簡單的設(shè)計(jì)可以用電路框圖;大型復(fù)雜的一般傾向于用HDL描述;HDL描述和計(jì)算機(jī)編程中的高級語言描述有很大不同,每一個描述都要考慮硬件的實(shí)現(xiàn)能力,是不是可以綜合的等等,目前HDL語言標(biāo)準(zhǔn)中仍然有不能被綜合的語法,這些要尤其注意。132設(shè)計(jì)實(shí)現(xiàn)用電路框圖或者HDL描述實(shí)現(xiàn)自己的設(shè)計(jì):18功能仿真對邏輯功能進(jìn)行驗(yàn)證:不考慮時序問題,認(rèn)為門都是理想門,沒有延時;詳細(xì)一些的可以認(rèn)為門延時都是一樣,而忽略互連線的延時。RTL代碼邏輯仿真器調(diào)用模塊的行為仿真模型測試數(shù)據(jù)測試程序(testbench)133功能仿真對邏輯功能進(jìn)行驗(yàn)證:邏輯仿真器19邏輯綜合通過映射和優(yōu)化,把邏輯設(shè)計(jì)描述轉(zhuǎn)換為和物理實(shí)現(xiàn)密切相關(guān)的工藝網(wǎng)表:RTL代碼邏輯綜合器調(diào)用模塊的黑盒子接口設(shè)置綜合目標(biāo)和約束條件EDIF網(wǎng)表(netlist)HDL網(wǎng)表(netlist)134邏輯綜合通過映射和優(yōu)化,把邏輯設(shè)計(jì)描述轉(zhuǎn)換為和物理實(shí)現(xiàn)密切相布局布線將綜合生成的網(wǎng)表,在FPGA內(nèi)部進(jìn)行布局布線的設(shè)計(jì),并最終生成用于下載的二進(jìn)制配置文件;邏輯綜合器EDIF網(wǎng)表(netlist)FPGA廠家工具調(diào)用模塊的綜合模型設(shè)置布局布線約束條件HDL網(wǎng)表(netlist)SDF文件(標(biāo)準(zhǔn)延時格式)下載/編程文件135布局布線將綜合生成的網(wǎng)表,在FPGA內(nèi)部進(jìn)行布局布線的設(shè)計(jì),時序逼近時序逼近流程是一個推薦的設(shè)計(jì)方法

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論