FPGA建立HPS硬件系統(tǒng)模型_第1頁
FPGA建立HPS硬件系統(tǒng)模型_第2頁
FPGA建立HPS硬件系統(tǒng)模型_第3頁
FPGA建立HPS硬件系統(tǒng)模型_第4頁
FPGA建立HPS硬件系統(tǒng)模型_第5頁
已閱讀5頁,還剩74頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

.2.1建立HPS硬件系統(tǒng)模型本硬件模型中包括: ARMCortex-A9MPCoreHPS、 用戶按鍵輸入(PIOButton)、 用戶撥碼開關輸入(PIODIPSW)、 LED輸出(PIOLED)、 64KB片上存儲器、 JTAG-to-Avalon主接口連接橋(JTAGMaster)、 JTAG-UART調(diào)試模塊、 中斷捕獲器(InterruptCapturer)、 系統(tǒng)ID(SysID)等。圖6.12本系統(tǒng)的結(jié)構(gòu)框圖啟動QuartusⅡ13.0EDA軟件,選擇菜單FileNewProjectWizard,建立一個新的QuartusⅡ工程(這里命名為HPS_Qsys_Prj),并在建立工程向?qū)У牡?個界面選擇SoCFPGA器件,這里選擇CyeloneV系列SCSXFC6D6F31CSES芯片(實際選5CSEMA5F31C6芯片),如圖6.13所示。最后點擊Finish按鈕完成QuartusⅡ工程的建立。在QuartusⅡ主界面中選擇菜單ToolsQsys命令,或者直接點擊如圖6.14所示的QuartusⅡ主界面上的快捷按鈕,啟動Qsys工具。添加并設置HPS(HardProeessorsystem)參數(shù)首先添加HPS處理器模塊,如圖6.15所示。在Qsys左邊的ComponentLibrary下面選擇展開Embeddedproeessors,選中其中的HardproeessorSystem并雙擊鼠標左鍵,或點擊“Add”按鈕,在彈出如圖所示的AddModule對話框后,即可彈出如圖6.16所示的HardProcessorSystem屬性設置對話框。該對話框包括FPGAInterfaees、PeripheralPinMultiplexing、HPSClocks和SDRAM四個標簽頁面;在該對話框中我們需要根據(jù)開發(fā)板(或用戶自己的板卡)上連接的HPS外設正確設置相應的引腳復用開關,以及HPS時鐘、多端口存儲器控制器、HPS到FPGA、FPGA到HPS和FPGA到多端口存儲器控制器等各種參數(shù)。FPGAInterfaees標簽頁設置在FPGAInterfaces標簽頁中有General、AXIBridges、FPGA-to-HPSSDRAMInterface、Resets、DMAPeripheralRequest、Interrupts、HPS-to-FPGA幾個部分。FPGA-to-HPSSDRAMInterface、Resets、DMAPeripheralRequest和Interrupts幾個部分。HPS-to-FPGAGeneral部分。表6.11所示為FPGAInterfaceS標簽中General部分的設置項功能描述(解釋p199表6.11),當這些選項被選中時,相應的接口名在圖6.16左邊的HPS模塊中就可顯示出來。沒有選中選項時的情況如下圖所示:General部分的選項被選中時,相應的接口名在下圖左邊的HPS模塊中就可顯示出來。本項目實例系統(tǒng)中除使能EnableHLGPIInterface選項外,其他選項保持無效,設置結(jié)果如圖6.16或下圖所示。勾選Showsignals后的情況如下圖所示:②AXIBridge部分。在FPGAInterface標簽中AXlBridge部分,F(xiàn)PGA-to-HPSinterfacewidth和HPS-to-FPGAinterfacewidth可設置為Unused、32-bit、64-bit和128-bit,這里將這兩項都設置為64-bit,將HPS與FPGA之間的HPS2FPGA(接口名為f2h_axi_slave)和FPGA2HPS(接口名為h2f_axi_master)接口都設置為64位。然后將LightweightHPS-to-FPGAinterfacewidth設置為32-bit,即使能了32位的輕量級LHPS2FPGA接口(接口名為h2f_lw_axi_master)。設置結(jié)果如圖6.16所示。③FPGA-to-HPSSDRAMInterface部分。本實例系統(tǒng)中的FPGA-to-HPSSDRAMInterface部分內(nèi)容設置為空??梢酝ㄟ^添加一個或多個SDRAM從端口(最多6個)讓FPGA來訪問HPSSDRAM子系統(tǒng),其數(shù)據(jù)寬度可配置為32、64、128或256位。例如,圖6.16下方的FPGA-to-HPSSDRAMInterface部分,其中的Name列表示接口名,系統(tǒng)根據(jù)FPGA-to-HPSSDRAM端口設置情況自動分配。表6.12所示為每個SDRAM接口可以設置的參數(shù)(解釋p200表6.12)。點+號添加;點-號刪除本實例系統(tǒng)中的FPGA-to-HPSSDRAMInterface部分內(nèi)容設置為空。結(jié)果如下圖所示。④ResetS部分。表6.13所示為Resets部分可設置的選項及其說明(解釋p200表6.13)。本實例系統(tǒng)中的Resets部分所有設置選項均設置為無效,如圖6.17或下圖所示。⑤DMAPeripheralRequest部分。在這里可以單獨使能每個DMA控制器外設請求ID(peripheralRequestID),每個請求ID可以使能連接FPGA的8個邏輯DMA通道中對應的通道接口。需要注意的是,外設請求ID[4-7]是與CAN控制器共用的。一共有8個通道:本實例系統(tǒng)中的DMAPeripheralRequest部分所有外設請求ID使能設置均為No,如圖6.17或下圖所示。⑥Interrupts部分。在該部分首先選中EnableFPGA-to-HPSInterrupts選項,如圖6.17所示,即可在圖6.17左側(cè)的BlockDiagram中出現(xiàn)f2h_irq0和f2h_irq1兩個信號,表示使能了HPS中FPGA對MPU的中斷信號。如下圖所示。又勾選3個選項后的情況如下圖所示。HPS中的每個外設都可以提供一個中斷信號給FPGA邏輯。在本實例系統(tǒng)中,將HPS-to-FPGA下面所列的所有外設中斷信號均設置為無效,如圖6.17或下圖所示。PeripheralPinMultiplexing標簽頁設置在這個標簽頁中包含了HPS所有可用外設的參數(shù)設置,通過選擇HPSI/O引腳設置可用使能所對應的外設。第1圖第2圖第3圖第4圖第5圖當使能某個外設時,還需要設置其相應的工作模式。將鼠標箭頭放到相應的外設模式(mode)設置選項位置幾秒時間,即可出現(xiàn)一個下拉列表,該下拉列表給出了相應外設工作模式下的引腳定義,如圖6.18或下圖所示。、該標簽頁中的外設引腳復用設置應該與所用SoCFPGA開發(fā)板(或自己的系統(tǒng)板)上的實際外設連接匹配。在本實例系統(tǒng)中,PeripheralPinMultiPleXing標簽頁的外設引腳復用及模式選擇如表6.14(稍加解釋)所示。沒有在表6.14中列出的外設引腳復用選擇Unused,模式選擇N/A。在PeripheralPinMultiplexing標簽頁最下方,Conflicts表中列出了HPS外設的引腳分配情況(13.1版中無Conflicts表),其中包括沒有分配給任何外設的引腳,可以將沒有分配給HPS外設的引腳作為普通目的I/O(GPIO)使用,將表中GPIOEnabled設置為“Yes”即可(默認情況下該設置均為No),如圖6.19所示。本實例系統(tǒng)將Conflicts表中還沒有被分配的引腳RGMll0_TX_CLK使能為GPIO。如果外設引腳復用設置有沖突,則該表Usedby列將給出沖突的外設引腳。13.1版新增PeripheralsMuxTable(3)HPSClocks標簽頁設置在HPS屬性設置窗口選擇HPSClocks標簽,如圖6.20或下圖所示,其中包括用戶時鐘(userClocks)、鎖相環(huán)參考時鐘(PLLReferenceClocks)和外設FPGA時鐘(PeripheralFPGAClocks)三個部分??梢栽O置HPS對FPGA以及FPGA對HPS的時鐘使能。表6.15所示為用戶時鐘(UserClocks)參數(shù)及其說明。這里設置的時鐘頻率是指所期望的最高頻率。實際時鐘頻率可以通過MPU上的軟件對寄存器的設置進行修改。這里所設置的時鐘頻率將出現(xiàn)在由Qsys產(chǎn)生的Synopsys設計約束文件(.sdc)中。HPSClocks標簽中的PLLReferenceClocks部分的參數(shù)描述如表6.16所示。表6.15和表6.16中所列的相關時鐘接口可參考HPS中的時鐘管理器模塊,如圖6.21所示。由于在PeripheralPinMultiplexing標簽頁中沒有HPS外設(如EMAC0、EMAC1、QSPI、SDIO、SPIM0、SPIM1、I2C0、I2C2以及I2C3)被設置為在FPGA中可以使用(即相應外設的引腳復用選擇FPGA),因此PeripheralFPGAClocks部分的時鐘都是無效的。在本實例系統(tǒng)中,將HPSClocks標簽頁下面所列的所有選項均設置為無效。(4)SDRAM標簽頁設置HPS支持DDR2、DDR3和LPDDR2協(xié)議的存儲器接口,并且支持高達40位寬的ECC(錯誤糾正編碼)。SDRAM標簽頁中還包括PHYSettings、MemoryParameters、MemoryTiming和BoardSettings設置頁面,可根據(jù)實際所用的SDRAM存儲器設置該標簽頁中的相應參數(shù),如圖6.22所示。本實例系統(tǒng)所用的開發(fā)板上連接到HPS的是兩片Micron公司的1.35VDDR3LSDRAM器件(256Mbx16x2=1GB)。首先選擇SDRAM標簽中的SDRAMProtoeol為DDR3。PHYSettings頁面設置。在SDRAM標簽頁中的PHYSettings頁面,根據(jù)Micron存儲器芯片的速率將Memoryclockfrequeney設置為400MHz。將AdvancedPHYSettings下而的SupplyVoltage設置為1.5VDDR3(也可以根據(jù)實際情況選擇1.35vDDR3L),如圖6.22所示。雖然Micron器件手冊中給出的是1.35V的工作電壓,但為了簡化開發(fā)板L上的電源電路,可以將存儲器的vdd和vddq連接到1.5V電源。②MemoryParameters頁面設置。根據(jù)DDR3芯片手冊中的參數(shù)來設置MemoryParameterS頁面。在本實例開發(fā)板上所用的Mieron1.35VDDR3LSDRAM器件手冊中,地址表給出器件的行地址(Rowaddress)、Bank地址和列地址(Columnaddress)。圖6.23所示為Micron手冊中的地址參數(shù)截圖。本實例所用開發(fā)板上的Micron存儲器參數(shù)是圖6.23中的最后一列(256Meg*16)。MemoryParameters頁面的設置如圖6.24所示,根據(jù)Micron手冊使能DM和DQS#選項。MemoryParameters頁面下面的MemoryInitializationOptions相關參數(shù)也需要根據(jù)Micron手冊上的參數(shù)進行設置。設置結(jié)果如圖6.25所示。③MemoryTiming頁面設置??筛鶕?jù)DDR3芯片手冊中的相關參數(shù)來驗證Memory頁面中的時序參數(shù),如圖6.26所示。④BoardSettings頁面設置。本實例系統(tǒng)中該頁面下SetupandHoldDerating和IntersymbolInterference均選擇UseAltera’sdefaultsettings,如圖6.27所示。當然,也可以根據(jù)手冊中的相關參數(shù)進行設置。在SDRAM的參數(shù)設置中,還需要根據(jù)實際使用的開發(fā)板(或自定制的硬件)參數(shù)設置BoardSkews,如圖6.28所示。利用這些參數(shù)SDRAM可以校準I/O延時以及FIFO設置來補償板級、FPGA部分或存儲器件的時間飄移。以上有關HPS的屬性都設置完成后,點擊HardProcessorSystem對話框右下角的Finish按鈕退出HPS設置對話框,如圖6.28所示。在Qsys的systemcontents頁,找到Export列hps_0元件的h2f_reset行中的Double-clocktoexport并用鼠標左鍵雙擊,則出現(xiàn)如圖6.29所示的hps_0_h2f_reset,即總是使能HPS到FPGA的冷/熱復位信號。另外,在clock列選擇hps_0的h2f_axi_clock、f2h_axi_clock和h2f_lw_axi_clock連接到lck_0。添加并設置其他Qsys元件根據(jù)實例系統(tǒng)需要,QsyS中還需要添加片上RAM、JTAGMaster橋、系統(tǒng)ID、JTAGUART、LED輸出、撥碼輸入、按鍵輸入以及中斷捕獲等元件。添加片上RAM。在Qsys左邊的ComponentLibrary下面選擇展開MemoriesandMemoryControllers,選中其中的On-ChipMemory(RAMorROM)并雙擊鼠標左鍵(或點擊Add按鈕);即可彈出如圖6.30或下圖所示的On-ChipMemory(RAMorROM)屬性設置對話框。片上RAM為HPSCortex-A9MPU訪問低延遲、高速存儲器提供代碼或變量的存儲。在On-ChipMemory(RAMorRoM)屬性設置對話框中設Datawidth為64,設置Totalmemorysize為65536(即64K)字節(jié),其他保持默認設置。點擊窗口右下角的Finish按鈕完成。連接clk、reset、s1,結(jié)果如下圖所示。注意:0Errors,0Warnings添加JTAGMaster橋。在Qsys左邊的ComponentLibrary下面選擇展開BridgesMemory-Mapped,選中其中的JTAGtoAvalonMasterBridge并雙擊鼠標左鍵(或點擊Add按鈕);即可彈出如圖6.31所示的JTAGtoAvalonMasterBridge屬性設置對話框。JTAGtoAvalonMaster橋接收JTAG接口上的字節(jié)編碼處理數(shù)據(jù)流,并在Avalon-MM接口發(fā)起Avalon-MM處理過程。JTAGtoAvalonMaster橋也可用于系統(tǒng)控制臺(SystemConsole)和SignalTap的調(diào)試。直接點擊窗口右下角的“Finish”按鈕完成。連接clk、clk_reset、master,結(jié)果如下圖所示。根據(jù)本實例系統(tǒng)要求(如圖6.11中包括兩個JTAGMaster),需要按照以上方法在Qsys中再添加一個JTAGtoAvalonMasterBridge元件。重復上面操作并連線,結(jié)果如下圖所示。添加系統(tǒng)ID。在Qsys左邊的ComponentLibrary下面選擇展開peripheralsDebugandPerformance,選中其中的SystemIDPeripheral并雙擊鼠標左鍵(或點擊Add按鈕);即可彈出如圖6.32所示的SystemIDperipheral屬性設置對話框。SystemID可以驗證軟件與硬件處理器系統(tǒng)的一致性,不允許軟件運行在不兼容的硬件配置系統(tǒng)上。在圖6.32所示的SystemIDPeripheral屬性設置對話框的32bitSystemID中輸入十六進制的系統(tǒng)ID號,之后點擊窗口右下角的Finish按鈕完成。連接clk等,結(jié)果如下圖所示。添加JTAGUART。在Qsys左邊的ComponentLibrary下面選擇InterfaceProtocolsSerial,選中其中的JTAGUART并雙擊鼠標左鍵(或點擊Add按鈕),即可彈出如圖6.33所示的JTAGUART屬性設置對話框。保持所有默認設置,直接點擊窗口右下角的Finish按鈕完成。連接clk等信號,結(jié)果如下圖所示。出現(xiàn)地址重疊錯。選System-〉AssignBaseAddresses結(jié)果如下圖所示。(5)添加并行I/O(PIO)外設。①添加LED輸出MicrocontrollerPeripherals,選中PIO并雙擊鼠標左鍵(或點擊Add按鈕),即可彈出如圖6.34所示的PIO(ParallelI/O)屬性設置對話框在Width(1-32bits)中填入4,并在Direction中選擇Output,這樣即表示在Qsys中添加4位輸出接口。然后點擊窗口右下角的Finish按鈕完成。連接clk等信號,結(jié)果如下圖所示。加撥碼開關輸入接口。在Qsys的ComponentLibrary中選擇添加PIO(parallelI/O);彈出PIO(ParallelI/O)對話框,在width(1-32bits)中填入4,并在Direction中選擇Input,如圖6.35或下圖所示。在Edgecaptureregister下面選中Synchronouslycapture,并在EdgeType右側(cè)選擇ANY;在Interrupt下面選中GenerateIRQ,并在IRQType后選擇EDGE。然后點擊窗口右下角的Finish按鈕完成。連接clk等,結(jié)果如下圖所示。出現(xiàn)地址重疊錯。選System-〉AssignBaseAddresses,結(jié)果如下圖所示。③添加按鍵輸入接口。在Qsys的ComponentLibrary中選擇添加PlO(ParallelI/O)并彈出PIO(ParallelI/O)對話框后,在Width(1-32bits)中填入4,并在Direction中選Input,如圖6.36所示。在Edgecaptureregister下面選中Synchronouslycapture,并在EdgeType右側(cè)選擇FALLING;在Interrupt下面選中GenerateIRQ,并在IRQType后選擇EDGE。然后點擊窗口右下角的Finish按鈕完成。連接clk等信號,選System-〉AssignBaseAddresses,消除地址重疊錯。結(jié)果如下圖所示。所有并行I/O(PIO)外設添加完成后,可以在Qsys的SystemContents中看到pio_0添加的LED輸出接口)、pio_1(添加的撥碼開關輸入接口)和pio_2(添加的按鍵輸入接口),如圖6.37所示。(6)添加中斷捕獲模塊。中斷捕獲模塊是用Verilog寫好的Avalon存儲器映射(MemoryMapped)用戶自定義的Qsys元件,該模塊連接到FPGA外設的中斷源,可以通過系統(tǒng)控制臺(SystemConsole)查看每個FPGA外設的中斷狀態(tài)。Altera公司提供的黃金參考設計(GSRD)硬件模塊(GoldenHardwareReferenceDesign,GHRD)中提供的中斷捕獲模塊的源代碼(intr_capturer.v)如下:回到QurtusII下,選File->New選VerilogHDLFile,然后點OK按鈕。編輯intr_capturer.vp212-213另外方法:將已有的intr_capturer.v加入工程。根據(jù)intr_capturer.v在Qsys中創(chuàng)建新的元件在Qsys中選擇菜單FileNewComponent命令;將彈出如圖6.35所示ComponentEditor對話框。新的元件編輯器(ComponentEditor)對話框包括ComponentType、Files、Parameters、Signals和Interfaces五個標簽頁。首先在ComponentType標簽頁中,輸入Name為Interrupt_Capturer,輸入Displayname為Interrupt_Capturer,version默認為1.0,Group選擇Others??梢栽贒eseription中輸入描述該模塊的說明性文字。在Files標簽頁界面,如圖6.39所示,點擊SynthesisFiles下面的+按鈕添加intr_capturer.v文件。然后點擊+后面的AnalyzeSynthesisFiles按鈕對添加的intr_capturer.v文件進行分析綜合。如果文件沒有錯誤,則將彈出圖6.40所示界面,否則根據(jù)錯誤修改添加的文件。點Close按鈕。點CopyfromSynthesisFiles按鈕。在Signals標簽頁需要設置所有信號名稱所對應的接口(Interface)和信號類型(SignalType),如圖6.41所示。分別在Interface和SignalType列中為所有信號按照表6.17選擇正確的接口和信號類型。設置好后的Signals標簽頁如圖6.42所示。在Interfaces標簽頁中,根據(jù)圖6.42界面最下方的提示,分別設置好avalon_slave_0部分、interrupt_receiver部分的AssociatedReset選項,選擇reset_sink,如圖6.43所示,其他部分保持默認設置即可。如果在圖6.43最下方的信息欄提示Info:Noerrorsorwamings.,即可點擊Finish按鈕退出元件編輯器,否則需要根據(jù)提示修改設置。退出自定義元件編輯器對話框后,可以在Qsys界面的ComponentLibrary中看到多了Other目錄,其中包括自定義的元件Interrupt_Capturer,如圖6.44所示。點Add按鈕,添加該元件即彈出Interrupt_eapturer窗口;直接點擊Finish按鈕。連接clk等信號線,消除地址重疊。3)配置添加的Qsys系統(tǒng)元件(1)修改相關元件及外設名稱。在Qsys中按照以上方法添加到SystemContents中的元件及外設的名稱(Name列)是默認的,如中斷捕獲模塊的名稱為Interrupt_Capture_0。因此,需要根據(jù)實際情況對其重新命名。對Qsys界面SystemContents中的某個元件重新命名的方法是:在需要重新命名的元件名上點擊鼠標右鍵,然后選擇右鍵菜單中的Rename命令,即可輸入新的元件名稱,如圖6.45所示。根據(jù)上面的重命名方法,按照表6.18對Qsys中添加的元件及外設重新命名,表6.18沒有列出的元件保持默認名稱,如clk_0、hps_0、onchip_memory2_0、Interrupt_Capturer_0右鍵選Rename將pio_1改為dipsw_pio、pio_2改為button_pio(2)設置外設的頂層I/O接口。在Qsys的SystemContents標簽頁面的Export列,將Led_pio、dipsw_pio和button_pio所對應的external_connection的頂層I/O導出并命名。方法是:在Export列相應位置雙擊鼠標左鍵,并分別輸入fpga_led_pio、fpga_dipsw_pio和fpga_button_pio,如圖6.46所示。3)連接Qsys外設接口。Qsys中所添加的每個元件及外設都包括一些接口信號,默認情況下這些信號相互之間是不連接的,需要根據(jù)實際系統(tǒng)要求進行連接。例如將led_pio的clk信號連接到clk_0的clk信號上,可以在led_io的clk信號上點擊鼠標右鍵,在彈出的右鍵菜單中選擇led_pio.clkConnections下一級菜單中的clk_o.clk命令,如圖6.47所示。此時將發(fā)現(xiàn)該信號前面ConnectionS列中對應信號上的實心圓點即表示信號已經(jīng)連接(也可以直接用鼠標左鍵點擊Connections列中需要連接信號上的空心圓點進行信號連接)。按照以上方法,根據(jù)表6.19將相關的元件信號連接起來。連接后的信號情況如下:(4)設置Qsys中帶中斷元件的中斷請求(IRQ)。本實例Qsys系統(tǒng)中,撥碼開關Dipsw_pio、按鍵輸入button_pio和JTAGUART均具有中斷信號,這些中斷信號需要連接到HPS以及中斷捕獲Interrupt_Capturer_0上,同時需要設置相應的中斷等級。例如設置dipsw_pio的IRQ在dipsw_pio的s1上點擊鼠標右鍵,并選擇Connectionsdipsw_pio.irqhps_0.f2hirq0;下圖為設置按鍵輸入button_pio的中斷信號:注意:13.1與教材13.0版略有不同!重復上面的步驟,再選擇Connectionsdipsw_pio.irqInterrupt_Capturer_0.interrupt_receiver,如圖6.48所示。設置好中斷連接后,在Qsys的IRQ列分配IRQ等級,如圖6.49所示,分配給dipsw_pio的IRQ等級為0。仿照上面的方法,根據(jù)表6.20完成相關元件的IRQ及其等級設置。分配給dipsw_pio的IRQ等級為0、分配給button_pio的IRQ等級為1、分配給jtag-uart的IRQ等級為2。4)配置Qsys的地址映射(AddressMap)Qsys中所添加的元件及外設都需要分配對應的基地址,可以自動分配(在Qsys中選擇菜單SystemAssignBaseAddresses命令),也可以手動分配,本實例系統(tǒng)根據(jù)需要手動分配相應外設的基地址。在Qsys界面選擇AddressMap標簽頁,該標簽頁給出了系統(tǒng)中所有基于存儲器映射的從端口(slave)連接到存儲器映射主端口(master)的地址范圍,其中的空自部分表示主端口與從端口之間沒有連接,如圖6.50所示。自動分配的外設基地址手動分配相應外設的基地址(略)。參考:p222-223Qsys中外設基地址修改后,還可以將重要外設的基地址進行鎖定。例如要鎖定button_pio的基地址,在Qsys中返回到SystemContents標簽頁,在Base列,點擊button_pio.sl基地址前面的“鎖”圖標即可在基地址鎖定與解鎖狀態(tài)間切換。圖6.51所示為鎖定基地址后的結(jié)果。按照相同步驟,可以鎖定led_pio的基地址。設計好的系統(tǒng)Qsys界面最下方的Messages窗口中所提示的所有錯誤都應該解決了,在Qsys界而下方狀態(tài)欄顯示“0Errors,0Wamings”,如圖6.50或上圖所示。如果在Messages中還有錯誤存在,則需要根據(jù)錯誤提示進行相應的修改,直到?jīng)]有錯誤為止。5)產(chǎn)生Qsys系統(tǒng)注意:13.1的生成操作與教材中13.0版完全不同!實際操作以下面為準。在Qsys中,選Generate->Generate…,出現(xiàn)生成對話框。點Generate按鈕,開始生成。。。生成成功:點擊Close按鈕,回到Qsys界面。Qsys將產(chǎn)生指定格式的硬件描述語言(HDL)文件(Verilog或VHDL)用于QuartusⅡ工程編譯,同時產(chǎn)生一組與硬件系統(tǒng)定義相關的文件,包括定義了選定的HPS外設默認引腳分配的Tcl(ToolCommandLanguage)文件,定義了HPS與FPGA中多端口存儲器控制器的Tcl文件,定義了系統(tǒng)所用IP和用于TimeQuest時序約束的QIP文件。這些文件可以在工程目錄\soc_system\synthesis子目錄中找到。3.完成QuartusⅡ工程的編譯以上任務完成以后,Qsys將產(chǎn)生QuartusⅡ工程所需的硬件描述語言(HDL)文件及一組硬件系統(tǒng)信息文件,包括定義了HPS外設默認引腳分配的Tcl(ToolCommandLanguage)腳本文件,定義了HPS與FPGA中的多端口存儲器控制器的Tcl文件以及QIP文件。QIP文件中包括系統(tǒng)所用IP和TimeQuest時序約束所需的SDC(SynthesisDesignConstraint)文件。所有Qsys產(chǎn)生的這些文件可以在工程目錄\soc_system\synthesis中找到。1)在Quartusll工程中添加Qsys產(chǎn)生的系統(tǒng)模塊在QuartusⅡ中選擇菜單AssignmentsSettings命令,彈出如圖6.54所示的Settings對話框。選擇Category下面的Files,點擊Filename右側(cè)的“…”按鈕,在彈出的SelectFile對話框中,將文件類型設置為AllFiles(*.*),并選擇工程目錄\\soc_system\synthesis子目錄中的soc_system.qip文件(本例中是D:\altera_design\HPS_Qsys_Prj\HPS_Qsys_Prj\synthesis\HPS_Qsys_Prj.qip),最后點擊“打開”按鈕返回到Settings對話框。在Settings對話框中點擊Add按鈕,然后點擊OK按鈕返回到QuartusⅡ軟件。在QuartusⅡ軟件中新建一個原理圖文件,在原理圖空白處雙擊鼠標左鍵,彈出如圖6.55所示的Symbol對話框。在Libraries中選擇project下面的soc_system(本例為HPS_Qsys_Prj)符號,點擊OK按鈕返回,并將soc_system(本例為HPS_Qsys_Prj)符號添加到原理圖中。下圖是Qsys生成的系統(tǒng)如圖6.56所示,在添加的soc_system(本例為HPS_Qsys_Prj)元件上點擊鼠標右鍵,在彈出的右鍵菜單中選擇GeneratePinsforSymbolPorts命令,為元件添加輸入/輸出端口,所有端口名稱保存默認名稱不變(也可以根據(jù)需要修改端口名)。本實例系統(tǒng)中將hps_0_h2f_reset的輸出(命名為hps_fpga_reset_n)連接到系統(tǒng)的復位reset信號上,如圖6.57所示。點擊QuartusⅡ菜單FIIeSave(或SaveAs)命令保存原理圖文件,文件名用默認的原理圖文件名即可。2)分析綜合工程文件并分配引腳在分配引腳之前應該先對工程文件進行分析綜合(AnalysisandSynthesis),產(chǎn)生分配引腳所需的工程網(wǎng)表文件。在QuartusⅡ中選擇菜單processingStartStartAnalysis&Synthesis命令,如圖6.58所示,或直接點擊圖6.58中快捷工具欄所圈的快捷圖標,完成分析綜合后,如果沒有錯誤即可進入工程文件的引腳分配;分析綜合成功。進行引腳分配。由于系統(tǒng)中的HPS是在Qsys集成工具中例化得到的,因此,除了所使用的外部存儲器引腳以外,其他的專用引腳不需要在QuartuII中進行分配,而是在HPS例化過程中由Qsys自動完成HPs的引腳分配,并把相關信息保存在XML格式的文件中提供給軟件開發(fā)工具使用。但是HPS的外部存儲器引腳需要在QuartusⅡl中進行引腳分配,該引腳分配信息同樣保存在由Qsys產(chǎn)生的Tcl腳本文件中,只需要在Quartusll中執(zhí)行該腳本文件即可。在QuartusⅡ中選擇菜單ToolsTclScripts命令,在TCLScripts對話框中選擇project\soc_system\synthesis\submodules子目錄中的hps_sdram_p0_pin_assignments.tel文件;點擊Run按鈕執(zhí)行該Tcl文件,如圖6.59或上圖所示。Run后的結(jié)果如下圖。點OK按鈕可以在QuartusⅡ中點擊菜單ViewUtilitywindowsTclConsole命令,在TclConsole窗口中查看Tcl腳本文件的執(zhí)行結(jié)果。最后根據(jù)開發(fā)板(或系統(tǒng)板)上LED、撥碼開關以及按鍵的實際連接,選擇菜單Assignmentspinplanner命令,在pinplanner窗口對LED輸出、撥碼開關輸入及按鍵輸入端口進行引腳分配。參考補課材料:學習使用DE1-SoC開發(fā)板.docx時鐘引腳pio引腳分配:啟動全編譯:出錯!將與hps的gpio有關引腳電平改為1.8V再進行全編譯。全部100%通過。3-2)FPGA編程在QuartusⅡ中選擇菜單Toolsprogrammer命令,彈出如圖6.60所示的programmer對話框,點擊左上角的HardwareSetup按鈕,在彈出的硬件設置對話框中,選擇CurrentlySelectedhardware中的CVSoCKit[USB-1],點擊Close按鈕返回到Programmer對話框。在Programmer對話框中點擊左側(cè)的AutoDetect按鈕,如圖6.61所示。在彈出的SelectDeviee窗口選擇SCSXFC6D6ES芯片,點擊OK按鈕返回。在彈出如圖6.62所示的確認對話框中點擊Yes按

溫馨提示

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

評論

0/150

提交評論