




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
DesignofXilinxFPGA
andNexys3TMBoard計(jì)算機(jī)工程系2022/11/121XilinxFPGA內(nèi)部結(jié)構(gòu)和Nexys3TM開發(fā)板結(jié)構(gòu)XilinxFPGA開發(fā)流程ISE開發(fā)環(huán)境的使用XilinxIPCore技術(shù)時(shí)序約束的設(shè)置UCF(用戶約束文件)的使用ISE報(bào)告的閱讀ChipScope的配置與使用Nexys3TM開發(fā)板主要模塊的設(shè)計(jì)基于XilinxFPGA可編程嵌入式開發(fā)技術(shù)§目錄§現(xiàn)場(chǎng)可編程邏輯門陣列(FPGA)
一種基于RAM的查找表(LookUpTable,LUT)而不是與或門來實(shí)
現(xiàn)組合邏輯,稱為現(xiàn)場(chǎng)可編程邏輯門陣列(FieldProgrammableGateArray,F(xiàn)PGA)16×1RAM(LUT)abcd輸出4輸入的與門如何用LUT實(shí)現(xiàn)?§現(xiàn)場(chǎng)可編程邏輯門陣列(FPGA)如何選購(gòu)FPGA§FPGA廠商Xilinx和Altera占全球可編程邏輯器件市場(chǎng)份額的75%以上,(中國(guó)不具備制造FPGA的能力)
歐美公司多使用Xilinx的FPGA,亞太公司多使用Altera的FPGA
兩家公司總部位于美國(guó)圣何塞,產(chǎn)品大體類似,無論是器件還
是軟件都大體相同
初學(xué)者不必太在意選用哪家公司的FPGA,重點(diǎn)掌握一家公司
的FPGA結(jié)構(gòu)和開發(fā)工具,掌握FPGA的基本設(shè)計(jì)理念,換個(gè)FPGA就和換個(gè)玩具一樣簡(jiǎn)單§FPGA基本結(jié)構(gòu)LogicBlockI/OBankPLL/RAM/Multiplier...
邏輯塊(LogicBlock)Altera:LAB,由LE構(gòu)成Xilinx:CLB,由SLICE構(gòu)成I/OBank:FPGA連接外部器件的各種電氣物理接口,普通I/O、電源、時(shí)鐘、PCI等PLL、RAM、硬乘法器等專用模塊§FPGA應(yīng)用領(lǐng)域
邏輯粘合
實(shí)時(shí)控制
數(shù)字信號(hào)處理和協(xié)議實(shí)現(xiàn)(ASIC、DSP和FPGA)
片上系統(tǒng)§Spartan-6FPGABlockRAMDSP48CMTBUFGBUFIOI/OMemoryControllerMGTCLB§Spartan-6
FPGACLBSwitch
MatrixSlice0Slice1CINCOUTCLBcontainstwoslicesConnectedtoswitchmatrix
forroutingtoother
FPGAresourcesCarrychainruns
verticallythrough
Slice0only§ThreeTypesofSlicesinSpartan-6FPGAsSLICEM:Fullslice
25%LUTcanbeusedforlogicandmemory/SRLHaswidemultiplexersandcarrychainSLICEL:Logicandarithmeticonly25%LUTcanonlybeusedforlogic(notmemory)HaswidemultiplexersandcarrychainSLICEX:Logiconly50%LUTcanonlybeusedforlogic(notmemory)NowidemultiplexersorcarrychainSLICEXSLICEMSLICEXSLICELor§Spartan-6FPGASLICEFourLUTs(6-input)EightstorageelementsFourflip-flop/latchesFourflip-flopsF7MUXandF8MUXConnectsLUToutputstocreatewide
functionsOutputcandrivetheflip-flop/latchesCarrychain(Slice0only)ConnectedtotheLUTsandthefour
flip-flop/latchesLUT/RAM/SRLLUT/RAM/SRLLUT/RAM/SRLLUT/RAM/SRL01§6-InputLUTwithDualOutput6-inputLUTcanbetwo5-inputLUTswithcommoninputsMinimalspeedimpactto
a6-inputLUTOneortwooutputsAnyfunctionofsixvariablesor
twoindependentfunctionsof
fivevariables5-LUTDA5A4A3A2A15-LUTDA5A4A3A2A1A6A5A4A3A2A1O6O56-LUT§SLICEMUsedasDistributedRAMUsesthesamestoragethatisusedforthelook-uptablefunctionSynchronouswrite,asynchronousreadCanbeconvertedtosynchronousreadusingtheflip-flopsavailableinthesliceVariousconfigurationsSingleportOneLUT6=64x1or32x2RAMCascadableupto256x1RAMDualport(D)1read/writeport+1read-onlyportSimpledualport(SDP)1write-onlyport+1read-onlyportQuad-port(Q)1read/writeport+3read-onlyportsSingle
PortDual
PortSimple
DualPortQuad
Port32x232x432x632x864x164x264x364x4128x1
128x2256x132x2D32x4D64x1D64x2D128x1D32x6SDP64x3SDP32x2Q64x1QEachporthasindependentaddressinputs§Spartan-6FPGABlockRAM18kbsizeCanbesplitintotwoindependent9-kb
memoriesPerformanceupto300MHzMultipleconfigurationoptionsTruedual-port,simpledual-port,single-portTwoindependentportsaccesscommondataIndividualaddress,clock,writeenable,clockenableIndependentwidthsforeachportByte-writeenableDual-PortBRAM18kMemory§Spartan-6FPGADSP48A1SlicePCIND:A:BXMC18X18PZ+/-00C48OPMODE[3:0]OPMODE[5]OPMODE[7]PCOUTOPMODE[6,4]PBCINDA4818BCCOUTCFOUTBCOUTCIN12181818DualB,D
RegisterWithPre-adder181848183618
MFOUT483618x18signedmultiplier48-bitadd/subtract/accumulatePipelineregistersforhighspeedCascadepathsforwidefunctionsPre-adderA0A1§Spartan-6FPGAClockManagementTile(CMT)dcm1_clkout<9:0>dcm2_clkout<9:0>10PLLpll_clkout<5:0>6CLKINCLKFBCLKOUT<5:0>DCM10CLKINCLKFBCLKINCLKFBDCMClocksfromBUFGCLKOUT<9:0>CLKOUT<9:0>GCLKInputsFeedbackclocksfromBUFIO2FB§Spartan-6LX/LXTFPGAs§Nexys3TM開發(fā)板XilinxSpartan-6LX16:2,278slices-four6-inputLUTs-eightflip-flops576KbitsblockRAMtwoclocktiles-fourDCMs-twoPLLs32DSPslices500MHz+clockspeeds16M字節(jié)偽SRAM16M字節(jié)并行FLASH16M字節(jié)串行FLASH電源和程序燒寫§Nexys3TM開發(fā)板§Nexys3TM開發(fā)板——配套工具AdeptSystem通過高速USB2與開發(fā)板連接,自動(dòng)識(shí)別Nexys3TM開發(fā)板:
燒寫FPGA和FLASH
進(jìn)行板級(jí)測(cè)試
和FPGA進(jìn)行數(shù)據(jù)傳輸XilinxFPGA內(nèi)部結(jié)構(gòu)和Nexys3TM開發(fā)板結(jié)構(gòu)XilinxFPGA開發(fā)流程ISE開發(fā)環(huán)境的使用XilinxIPCore技術(shù)時(shí)序約束的設(shè)置UCF(用戶約束文件)的使用ISE報(bào)告的閱讀ChipScope的配置與使用Nexys3TM開發(fā)板主要模塊的設(shè)計(jì)基于XilinxFPGA可編程嵌入式開發(fā)技術(shù)§目錄§FPGA總體開發(fā)流程需求分析和模塊劃分明確需求和功能定義,進(jìn)行可行性分析。FPGA選型(哪個(gè)廠家、哪個(gè)系列、多少邏輯資源、多少I/O接口、多少PLL、多少內(nèi)嵌存儲(chǔ)器、多少內(nèi)嵌模塊等)。設(shè)計(jì)輸入到綜合優(yōu)化原理圖輸入、代碼輸入、搭建SOPC或者IP核的配置和使用代碼輸入完成后,進(jìn)行功能仿真(不涉及任何時(shí)序、延遲參數(shù),單純功能驗(yàn)證)。工具可選用Modelsim,也可選用FPGA廠商EDA環(huán)境中(ISE/QuartusII)自帶的仿真工具。采用Testbench進(jìn)行測(cè)試。綜合將高層次描述轉(zhuǎn)換為底層邏輯單元(但并不是實(shí)際FPGA芯片的底層模塊)??梢赃x用第三方綜合工具Synplify,推薦使用ISE或QuartusII自帶的綜合工具。——自家的東西自己最了解§FPGA總體開發(fā)流程實(shí)現(xiàn)、時(shí)序分析和資源報(bào)告使用ISE或者QuartusII提供的時(shí)序編輯器對(duì)不同路徑進(jìn)行時(shí)序約束,包括全局約束、I/O接口約束以及時(shí)序例外約束。實(shí)現(xiàn)包括翻譯、映射、布局布線三個(gè)步驟。每一個(gè)步驟都會(huì)生成時(shí)序報(bào)告,但布局布線后的時(shí)序報(bào)告及包含邏輯器件的延遲,也包括了布線延遲,其時(shí)序報(bào)告最準(zhǔn)確。查看資源使用報(bào)告,分析資源使用情況,對(duì)電路結(jié)構(gòu)進(jìn)行優(yōu)化。仿真測(cè)試到板級(jí)調(diào)試FPGA能不能像軟件一樣連一個(gè)仿真器到板子上,然后進(jìn)行單步調(diào)試,或者設(shè)置斷點(diǎn)呢?——給待測(cè)設(shè)計(jì)添加激勵(lì),通過回放波形觀察測(cè)試結(jié)果。設(shè)計(jì)輸入階段——功能仿真(甚至是不可綜合的代碼);綜合優(yōu)化后——門級(jí)網(wǎng)表仿真(不包含布局布線延時(shí)信息);實(shí)現(xiàn)后——時(shí)序仿真(包含各類延時(shí)信息)。這三類仿真不需要全都做?!霧PGA總體開發(fā)流程仿真測(cè)試到板級(jí)調(diào)試板級(jí)調(diào)試最大的困難就是很難觀測(cè)到FPGA內(nèi)部節(jié)點(diǎn)的狀態(tài)。在FPGA剩余資源足夠多的情況下,可以使用ISE或QuartusII提供的在線邏輯分析儀進(jìn)行調(diào)試,如Chipscope或者SignalTaPII。§XilinxFPGA開發(fā)流程主流程(必須做)驗(yàn)證流程(不是必須)
綜合:
將設(shè)計(jì)編譯為由基本邏輯單元構(gòu)成的邏
輯連接網(wǎng)表(并非真實(shí)門級(jí)電路)。
實(shí)現(xiàn)與布局布線:
實(shí)現(xiàn)是將邏輯網(wǎng)表配置到具體FPGA上,
布局布線是其中重要環(huán)節(jié)。布局是將邏
輯網(wǎng)表中的單元配置到芯片內(nèi)部的硬件
結(jié)構(gòu)上;布線是根據(jù)布局的拓?fù)?,利?/p>
芯片內(nèi)的連線資源,連接各個(gè)元件。
器件編程:
產(chǎn)生數(shù)據(jù)流文件(.bit),下載到FPGA
芯片中。
功能仿真(前仿真):
只對(duì)電路邏輯功能驗(yàn)證,沒有延遲信息。
綜合后仿真:
檢查綜合結(jié)果是否和原設(shè)計(jì)一致,主要
評(píng)估門延時(shí)帶來的影響。
時(shí)序仿真和驗(yàn)證(后仿真):
將布局布線的延時(shí)信息反標(biāo)注到設(shè)計(jì)網(wǎng)
表中,檢測(cè)有無時(shí)序違規(guī),此時(shí)延時(shí)最
全,最精確。
板級(jí)仿真與驗(yàn)證:
主要應(yīng)用于高速電路設(shè)計(jì)中,對(duì)信號(hào)完
整性和電子干擾等特性進(jìn)行分析,使用
第三方工具完成。§XilinxFPGA開發(fā)流程(示例)內(nèi)容:2輸入邏輯門的設(shè)計(jì)與實(shí)現(xiàn)目標(biāo):
學(xué)會(huì)ISE的使用(Verilog代碼編寫、功能仿真、綜合、實(shí)現(xiàn)、程序燒寫)AdeptSystem的使用(bit文件的燒寫)Nexys3TM開發(fā)板上LED燈和SlideSwitch的使用§XilinxFPGA開發(fā)流程(示例)基于ISE的FPGA開發(fā)環(huán)境標(biāo)題欄菜單欄工具欄程序編輯區(qū)過程管理區(qū)信息顯示區(qū)工程管理區(qū)§XilinxFPGA開發(fā)流程(示例)新建工程(一)輸入工程名稱指定工程路徑
指定文件輸入類型-HDL文件-原理圖文件
點(diǎn)擊Next按鈕§XilinxFPGA開發(fā)流程(示例)新建工程(二)選擇所使用的芯片-產(chǎn)品系列-產(chǎn)品型號(hào)-封裝方式
綜合工具(XST)
仿真工具(ISim)
使用的編程語(yǔ)言-Verilog-VHDL
點(diǎn)擊Next按鈕§XilinxFPGA開發(fā)流程(示例)新建工程(三)§XilinxFPGA開發(fā)流程(示例)設(shè)計(jì)輸入(一)在工程管理區(qū)任意位置
單擊鼠標(biāo)右鍵在彈出的菜單中選擇NewSource命令
彈出左圖所示窗口
輸入方式選擇Verilog
給定輸入文件的名稱和
路徑單擊Next按鈕進(jìn)入端口
定義對(duì)話框§XilinxFPGA開發(fā)流程(示例)設(shè)計(jì)輸入(二)端口名稱
端口方向MSB表示信號(hào)最高位LSB表示信號(hào)最低位
端口定義這一步可以略
過,在源程序中添加§XilinxFPGA開發(fā)流程(示例)設(shè)計(jì)輸入(三)在程序編輯區(qū)編寫程序§XilinxFPGA開發(fā)流程(示例)功能仿真(一)
工程管理區(qū)將view設(shè)置為Simulation工程管理區(qū)任意位置單擊鼠標(biāo)右鍵在彈出的菜單中選擇NewSource在類型中選擇VerilogTestFixture輸入測(cè)試文件名,單擊Next按鈕選擇要進(jìn)行測(cè)試的模塊,如gates2,
點(diǎn)擊Next,再單擊Finish按鈕ISE自動(dòng)生成了基本的信號(hào)并對(duì)被測(cè)模
塊做了例化。我們只需在initial…end
塊中的“//Addstimulushere”后面添
加測(cè)試向量§XilinxFPGA開發(fā)流程(示例)功能仿真(二)
過程管理區(qū)會(huì)顯示與仿真有關(guān)的進(jìn)程,如上圖所示右鍵單擊其中的SimulateBehavioralModel項(xiàng)選擇彈出菜單中的ProcessProperties項(xiàng)§XilinxFPGA開發(fā)流程(示例)功能仿真(三)
SimulationRunTime就是仿真時(shí)間的設(shè)置,可將其修改為任意時(shí)長(zhǎng)?!靀ilinxFPGA開發(fā)流程(示例)功能仿真(四)在工程管理區(qū)選中測(cè)試代碼在過程管理區(qū)雙擊SimulateBehavioralModelISE將啟動(dòng)ISESimulator,可以得到仿真結(jié)果§XilinxFPGA開發(fā)流程(示例)綜合與實(shí)現(xiàn)(一)所謂綜合,就是將HDL設(shè)計(jì)輸入翻譯成由邏輯門、RAM、觸發(fā)器等基
本邏輯單元的連接(網(wǎng)表),并根據(jù)目標(biāo)和要求(約束條件)優(yōu)化所生成
的邏輯連接在工程管理區(qū)的view中選擇Implementation
在過程管理區(qū)雙擊Synthesize-XST,就開始綜合過程§XilinxFPGA開發(fā)流程(示例)綜合與實(shí)現(xiàn)(二)綜合前,模塊中的輸入輸
出信號(hào)添加管腳約束,需
要在工程中添加UCF文件在工程管理區(qū)單擊鼠標(biāo)右
鍵,點(diǎn)擊NewSource,選擇ImplementationConstraintsFile,出現(xiàn)一
個(gè)空白的約束文件,添
加各種約束(管腳、時(shí)鐘、
面積等)§XilinxFPGA開發(fā)流程(示例)綜合與實(shí)現(xiàn)(三)管腳約束:NET“signal”
LOC=“pin”
參考Nexys3TM的ReferenceManual、原理圖或開發(fā)板/Board/Nexys3_rm.pdf或/Board/Nexys3_sch.pdf
管腳分配文件:/Board/Nexys3_Master.ucf§XilinxFPGA開發(fā)流程(示例)pushbutton和slideswitch只
能被設(shè)置為input,若設(shè)置為output可能會(huì)出現(xiàn)“短路”pushbutton按下時(shí)為高電平,
松開時(shí)為低電平slideswitch產(chǎn)生的高低電平
與其位置相關(guān)LED在輸入高電平時(shí)被點(diǎn)亮§XilinxFPGA開發(fā)流程(示例)綜合與實(shí)現(xiàn)(四)如果綜合后完全正確,則在Synthesize-XST前面有一個(gè)打勾的綠色小圓圈如果有警告,則出現(xiàn)一個(gè)帶感嘆號(hào)的黃色小圓圈
如果有錯(cuò)誤,則出現(xiàn)一個(gè)帶叉的紅色小圓圈如果綜合正確,XST將給出初步的資源消耗情況,點(diǎn)擊DesignSummary,
即可查看§XilinxFPGA開發(fā)流程(示例)綜合與實(shí)現(xiàn)(四)§XilinxFPGA開發(fā)流程(示例)綜合與實(shí)現(xiàn)(五)綜合完成后,下一個(gè)步驟就是實(shí)現(xiàn)(Implementation)所謂實(shí)現(xiàn),指將綜合輸出的邏輯網(wǎng)表翻譯成所選器件的底層模塊,將設(shè)計(jì)
映射到具體器件上,進(jìn)行布局布線,達(dá)到在選定FPGA上實(shí)現(xiàn)設(shè)計(jì)的目的實(shí)現(xiàn)分3個(gè)步驟:翻譯(Translate)邏輯網(wǎng)表、映射(Map)到器件單元與布局
布線(Place&Route)在過程管理區(qū)雙擊ImplementationDesign,就自動(dòng)完成實(shí)現(xiàn)的3個(gè)步驟,
得到精確的資源占用情況§XilinxFPGA開發(fā)流程(示例)綜合與實(shí)現(xiàn)(五)§XilinxFPGA開發(fā)流程(示例)布局布線后仿真—
—后仿(一)雙擊圖過程管理區(qū)的ImplementDesign->Place&Route->GeneratePost-Place&RouteStaticTiming,反標(biāo)時(shí)序信息,生成布局布線后仿
真模型§XilinxFPGA開發(fā)流程(示例)布局布線后仿真—
—后仿(二)在工程管理區(qū)將view設(shè)置為
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 遼寧軌道交通職業(yè)學(xué)院《分子生物學(xué)4》2023-2024學(xué)年第二學(xué)期期末試卷
- 濟(jì)南2025年山東濟(jì)南市鋼城區(qū)所屬事業(yè)單位招聘初級(jí)綜合類崗位26人筆試歷年參考題庫(kù)附帶答案詳解-1
- 綿陽(yáng)飛行職業(yè)學(xué)院《消化系統(tǒng)疾病》2023-2024學(xué)年第二學(xué)期期末試卷
- 成都醫(yī)學(xué)院《DesignofStructures》2023-2024學(xué)年第二學(xué)期期末試卷
- 青島電影學(xué)院《作物育種學(xué)總論》2023-2024學(xué)年第二學(xué)期期末試卷
- 河源廣東河源市消防救援支隊(duì)2025年第一批政府專職消防員招聘86人筆試歷年參考題庫(kù)附帶答案詳解
- 動(dòng)物炭黑、動(dòng)物膠及其衍生物項(xiàng)目效益評(píng)估報(bào)告
- 沈陽(yáng)工業(yè)大學(xué)《藥用作物栽培學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025屆高考語(yǔ)文補(bǔ)充背誦詩(shī)詞:《青玉案·元夕》教學(xué)設(shè)計(jì)
- 南京視覺藝術(shù)職業(yè)學(xué)院《Java應(yīng)用設(shè)計(jì)案例》2023-2024學(xué)年第二學(xué)期期末試卷
- 海洋鉆井(平臺(tái))
- (完整版)電梯的鋼結(jié)構(gòu)施工方案
- 中國(guó)近現(xiàn)代史綱要ppt全共64頁(yè)課件
- 腰椎間盤突出癥(腰痹病)中醫(yī)臨床路徑
- 教學(xué)團(tuán)隊(duì)建設(shè)總結(jié)報(bào)告
- 研發(fā)經(jīng)費(fèi)填報(bào)指標(biāo)說明及核算方法
- 裝飾施工進(jìn)度計(jì)劃網(wǎng)絡(luò)圖及橫道圖
- 一年級(jí)思維訓(xùn)練(課堂PPT)
- 實(shí)木電腦桌書桌安裝圖
- GB_T 27025-2019 檢測(cè)和校準(zhǔn)實(shí)驗(yàn)室能力的通用要求(高清版)
- 俱樂部經(jīng)營(yíng)俱樂部經(jīng)營(yíng)
評(píng)論
0/150
提交評(píng)論