FPGA配置和Flash編程課件_第1頁
FPGA配置和Flash編程課件_第2頁
FPGA配置和Flash編程課件_第3頁
FPGA配置和Flash編程課件_第4頁
FPGA配置和Flash編程課件_第5頁
已閱讀5頁,還剩221頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第5章

FPGA配置方式和配置過程------《片上系統(tǒng)嵌入式基礎(chǔ)教程》鄭州大學(xué)出版社出版鄭州坤升電子技術(shù)有限公司徐江峰等編著第5章

FPGA配置方式和配置過程------《片上系統(tǒng)本章將首先介紹FPGA配置方式和配置過程,然后簡單介紹了配置芯片、配置文件的種類以及配置電路設(shè)計要點(diǎn),本章最后講述了配置文件下載、Flash編程等方面的內(nèi)容,其中Flash編程包括NORFlash的編程、EPCS的編程。通過本章的內(nèi)容讀者將理解并掌握FPGA配置以及Flash編程、NiosII程序裝載等的相關(guān)內(nèi)容。主要內(nèi)容本章將首先介紹FPGA配置方式和配置過程,然后簡單介紹了配置第5章目錄5.1FPGA配置5.2Cyclone及CycloneIIFPGA配置5.3配置芯片5.4配置的軟件設(shè)置5.5配置文件5.6配置可靠性及電路設(shè)計注意事項(xiàng)5.7下載配置文件到FPGA5.8下載配置文件到EPCS5.9IDEFlashProgrammer介紹5.10用戶程序引導(dǎo)5.11使用IDEFlashProgrammer編程5.12創(chuàng)建目標(biāo)板Flash編程設(shè)計第5章目錄5.1FPGA配置第5章目錄5.1FPGA配置5.2Cyclone及CycloneIIFPGA配置5.3配置芯片5.4配置的軟件設(shè)置5.5配置文件5.6配置可靠性及電路設(shè)計注意事項(xiàng)5.7下載配置文件到FPGA5.8下載配置文件到EPCS5.9IDEFlashProgrammer介紹5.10用戶程序引導(dǎo)5.11使用IDEFlashProgrammer編程5.12創(chuàng)建目標(biāo)板Flash編程設(shè)計第5章目錄5.1FPGA配置5.1FPGA配置配置(configuration)是對FPGA的內(nèi)容進(jìn)行編程的過程。每次上電后都需要進(jìn)行配置是基于SRAM工藝FPGA的一個特點(diǎn),也可以說是一個缺點(diǎn)。FPGA配置過程如下:FPGA配置器件外部電路將配置數(shù)據(jù)載入片內(nèi)配置RAM中外部電路FPGA配置完成配置RAM配置RAM中的配置數(shù)據(jù):用于控制FPGA內(nèi)部可編程的內(nèi)部邏輯、內(nèi)部寄存器和I/O寄存器初始化,I/O驅(qū)動器使能等。之后FPGA進(jìn)入用戶模式。5.1FPGA配置配置(configuration)是對F5.1FPGA配置FPGA配置方式根據(jù)FPGA在配置電路中的角色,可以將配置方式分為三類:1.FPGA主動串行(AS)方式

2.JTAG方式3.FPGA被動(Passive)方式EPCS系列配置數(shù)據(jù)FPGA主動串行(AS)方式1下載工具或智能主機(jī)JTAG方式2EPC系列FPGA僅輸出響應(yīng)信號FPGAFPGA被動(Passive)方式35.1FPGA配置FPGA配置方式EPCS配置數(shù)據(jù)FPGA5.1FPGA配置FPGA配置方式根據(jù)FPGA在配置電路中的角色,可以將配置方式分為三類:1.FPGA主動串行(AS)方式

2.JTAG方式3.FPGA被動(Passive)方式EPCS系列配置數(shù)據(jù)FPGA主動串行(AS)方式1下載工具或智能主機(jī)JTAG方式2EPC系列FPGA僅輸出響應(yīng)信號FPGAFPGA被動(Passive)方式3被動方式可分為下列幾種方式: 被動串行方式(PS) 快速被動并行(FPP)方式被動并行異步(PPA)方式被動并行同步(PPS)方式被動串行異步(PSA)方式5.1FPGA配置FPGA配置方式EPCS配置數(shù)據(jù)FPGA5.1FPGA配置配置方式器件類別StratixIIStratix,StratixGXCycloneIICycloneAPEXIIAPEX20K,APEX20KE,APEX20KCMercuryACEX1KFLEX10K,FLEX10KE,FLEX10KAFLEX6000被動串行(PS)√√√√√√√√√√主動串行(AS)√√√快速被動并行(FPP)√√√被動并行同步(PPS)√√√√被動并行異步(PPA)√√√√√√√被動串行異步(PSA)√JTAG√√√√√√√√√僅支持邊界掃描測試AlteraFPGA配置方式列表5.1FPGA配置配置方式器件類別StratixIISt5.1FPGA配置CycloneFPGA配置方式表配置方式描述主動串行配置(AS)采用串行配置器件(EPCS1、EPCS4、EPCS16、EPCS64)被動配置(PS)1.采用專用配置器件(EPC1、EPC2、EPC4、EPC8、EPC16);2.采用配置控制器(單片機(jī)、CPLD等)配合Flash;3.下載電纜。JTAG配置通過JTAG進(jìn)行配置5.1FPGA配置CycloneFPGA配置方式表配置5.1FPGA配置FPGA配置過程FPGA的配置包括3各階段:復(fù)位、配置和初始化。復(fù)位配置初始化進(jìn)入用戶模式配置過程波形圖5.1FPGA配置FPGA配置過程復(fù)位配置初始化進(jìn)入配置過5.1FPGA配置FPGA配置過程FPGA的配置包括3各階段:復(fù)位、配置和初始化。復(fù)位配置初始化進(jìn)入用戶模式配置數(shù)據(jù)寫入到器件中器件內(nèi)部邏輯和寄存器初始化,I/O緩沖使能配置過程波形圖5.1FPGA配置FPGA配置過程復(fù)位配置初始化進(jìn)入配置數(shù)FPGA配置過程FPGA配置流程圖FPGA配置過程FPGA配置流程圖第5章目錄5.1FPGA配置5.2Cyclone及CycloneIIFPGA配置5.3配置芯片5.4配置的軟件設(shè)置5.5配置文件5.6配置可靠性及電路設(shè)計注意事項(xiàng)5.7下載配置文件到FPGA5.8下載配置文件到EPCS5.9IDEFlashProgrammer介紹5.10用戶程序引導(dǎo)5.11使用IDEFlashProgrammer編程5.12創(chuàng)建目標(biāo)板Flash編程設(shè)計第5章目錄5.1FPGA配置5.2Cyclone及CycloneIIFPGA配置Cyclone以及CycloneII

FPGA使用SRAM單元來存儲配置數(shù)據(jù)。FPGA中的SRAM是易失性的,每次上電之前,配置數(shù)據(jù)(或壓縮的配置數(shù)據(jù))必須重新下載到FPGA中。下面的2個條件均可使FPGA產(chǎn)生一次配置請求:給FPGA重新上電;FPGA的nConfig引腳上產(chǎn)生一個低電平到高電平的上升沿。5.2Cyclone及CycloneIIFPGA配置5.2Cyclone及CycloneIIFPGA配置Cyclone及CycloneIIFPGA的配置方式包括:FPGA主動串行(AS)配置方式;

FPGA被動(Passive)配置方式;JTAG配置方式。用戶可以通過設(shè)置FPGA上的MSEL0、MESL1兩個引腳的狀態(tài)來選擇配置方式。各種方式的MSEL0、MESL1設(shè)置如下表所列:5.2Cyclone及CycloneIIFPGA配置5.2Cyclone及CycloneIIFPGA配置MSEL1MSEL0配置方式備注00AS主動(串行配置器件)20M10快速AS主動(串行配置器件)40M,只限CycloneII01PS被動(CPLD控制)00或1JTAG配置配置方式設(shè)置說明:在上表中,如果只采用一種配置方式,則可以直接將MSEL0、MESL1連接到VCC(注意要與FPGA的IO口的供電VCCIO相同)或GND;如果需要多種配置方式,那么MSEL要用控制器(單片機(jī)、CPLD等)來控制以進(jìn)行切換;MSEL管腳在配置開始前必須處于一個固定的狀態(tài),因此不能將MSEL管腳懸空。5.2Cyclone及CycloneIIFPGA配置5.2Cyclone及CycloneIIFPGA配置另外,不同型號FPGA的配置文件大小不同,下表中列出了FPGA在不壓縮情況下二進(jìn)制配置文件(.rbf)的最大大小。設(shè)計者可以根據(jù)配置文件的大小來選擇合適的配置器件和其它存儲器。并可使用壓縮功能,來減小配置文件的大小。說明:同型號的FPGA配置文件會因所使用的單元不同而不同,配置文件越小下載速度和配置速度越快。5.2Cyclone及CycloneIIFPGA配置5.2Cyclone及CycloneIIFPGA配置器件類型器件型號數(shù)據(jù)大?。˙its)數(shù)據(jù)大?。˙ytes)CycloneEP1C3627,37678,422EP1C4924,512115,564EP1C61,167,216145,902EP1C122,326,528290,816EP1C203,559,608444,951CycloneIIEP2C51,265,792152,998EP2C81,983,536247,974EP2C203,892,496486,562EP2C356,858,656857,332EP2C509,963,3921,245,424EP2C7014,319,2161,789,902CycloneFPGA二進(jìn)制文件(.rbf)大小5.2Cyclone及CycloneIIFPGA配置主動串行配置主動串行配置方式(AS)是將配置數(shù)據(jù)事先存儲在串行配置器件EPCS中,然后在系統(tǒng)上電時Cyclone及CycloneIIFPGA通過串行接口讀取配置數(shù)據(jù)(如果是壓縮數(shù)據(jù),還會進(jìn)行解壓縮處理)對內(nèi)部的SRAM單元進(jìn)行配置。因?yàn)樯鲜雠渲眠^程中FPGA控制配置接口,因此通常稱為主動配置方式。5.2Cyclone及CycloneIIFPGA配置主動串行配置5.2Cyclone及CycloneII主動串行配置主動串行配置的電路原理圖說明:因?yàn)镕PGA上的nSTATUS、CONFIG_DONE管腳都是開漏結(jié)構(gòu),所以都要接上拉電阻。FPGA的片選腳nCE必須接地。用于對EPCS的編程5.2Cyclone及CycloneIIFPGA配置主動串行配置主動串行配置的電路原理圖說明:用于對EPCS的編主動串行配置復(fù)位配置初始化進(jìn)入用戶模式配置數(shù)據(jù)寫入到器件中器件內(nèi)部邏輯和寄存器初始化,I/O緩沖使能配置過程波形圖主動串行配置復(fù)位配置初始化進(jìn)入配置數(shù)據(jù)寫入到器件中器件內(nèi)部邏主動串行配置串行時鐘(DCLK)在配置結(jié)束后內(nèi)部振蕩器關(guān)閉。下表列出了DCLK的輸出頻率。對于CycloneIIFPGA,通過MSEL[]可以選擇時鐘為20MHz或40MHz。配置的時間與配置文件大小以及DCLK的頻率有關(guān),關(guān)于AS方式配置時間的估算請見下一小節(jié)。器件最小典型最大單位Cyclone141720MHzCycloneII1013202026405.2Cyclone及CycloneIIFPGA配置主動串行配置器件最小典型最大單位Cyclone141720M主動串行配置用戶可以在QuartusII軟件中選擇,用哪一個時鐘來進(jìn)行FPGA寄存器和用戶I/O口的初始化、以及是否在配置出錯后重新開始配置等內(nèi)容。如下圖所示的彈出窗口:5.2Cyclone及CycloneIIFPGA配置功能服用引腳設(shè)置主動串行配置5.2Cyclone及CycloneII主動串行配置(AS)的配置時間估算主動串行配置時間為串行配置器件數(shù)據(jù)傳送到FPGA的時間,這取決于DCLK的頻率以及配置文件的大小。以CycloneEP1C6器件為例,非壓縮的.rbf格式配置文件的大小為1167216位、DCLK最低頻率為14MHz(71ns),則最大配置時間為:1167216*71ns=82872336ns≈83ms當(dāng)DCLK的典型頻率為17MHz(59ns)時,配置時間為:1167216*59ns=68865744ns≈69ms5.2Cyclone及CycloneIIFPGA配置主動串行配置(AS)的配置時間估算5.2Cyclone及主動串行配置(AS)的配置時間估算如果允許配置數(shù)據(jù)壓縮,由于配置時要對數(shù)據(jù)進(jìn)行解壓縮,需要增加配置時間,一般要增加50%的配置時間,即EP1C6器件在采用壓縮數(shù)據(jù)進(jìn)行配置時需要約103.5ms的時間。此外,在配置完成后緊接著的FPGA寄存器和用戶I/O口初始化也需要消耗一定的時間(Cyclone為136個時鐘周期,CycloneII為299個時鐘周期),當(dāng)不采用CLKUSR管腳時鐘,而使用FPGA內(nèi)部10MHz時鐘時,CycloneEP1C6消耗13.6us的初始化時間。5.2Cyclone及CycloneIIFPGA配置主動串行配置(AS)的配置時間估算5.2Cyclone及JTAG配置通過JTAG接口,利用QuartusII軟件可以直接對FPGA進(jìn)行單獨(dú)的硬件重新配置。QuartusII軟件在編譯時會自動生成用于JTAG配置的.sof文件。如果同時使用AS方式和JTAG方式來配置FPGA,JTAG配置方式擁有最高的優(yōu)先級,此時AS方式將停止,而執(zhí)行JTAG方式配置。5.2Cyclone及CycloneIIFPGA配置主動串行配置的電路原理圖JTAG配置5.2Cyclone及CycloneIIJTAG配置5.2Cyclone及CycloneIIFPGA配置管腳描述功能TDI測試數(shù)據(jù)輸入指令、測試以及編程數(shù)據(jù)的串行輸入。數(shù)據(jù)在TCK的上升沿移入。如果電路板上的JTAG不需要,可以將該管腳連接到VCC。TDO測試數(shù)據(jù)輸出指令、測試以及編程數(shù)據(jù)的串行輸出。數(shù)據(jù)在TCK的下降沿移出。在沒有數(shù)據(jù)移出時,該管腳是高阻態(tài)。如果電路板上的JTAG不需要,可以不連接該管腳。TMS測試模式選擇控制信號輸入管腳,控制信號決定測試訪問端口控制狀態(tài)的轉(zhuǎn)換。狀態(tài)的轉(zhuǎn)換出現(xiàn)在TCK的上升沿。因此,TMS必須在TCK上升沿之前建立。如果電路板上的JTAG不需要,可以將該管腳連接到VCC。TCK測試時鐘輸入邊界掃描測試(BST)電路的時鐘輸入。一些操作發(fā)生在其上升沿,一些發(fā)生在下降沿。如果電路板上的JTAG不需要,可以將該管腳連接到GND。JTAG配置5.2Cyclone及CycloneIIJTAG配置利用QuartusII軟件和USBBlaster、ByteBlasterII等下載電纜可下載配置數(shù)據(jù)到FPGA。QuartusII軟件可以驗(yàn)證JTAG配置是否成功。JTAG配置通過下載電纜使用SOF、Jam或者JBC文件直接對FPGA進(jìn)行配置,這種配置方式只能用于調(diào)試階段,因?yàn)?,掉電后FPGA中的配置數(shù)據(jù)將丟失。

5.2Cyclone及CycloneIIFPGA配置ByteBlasterIIUSBBlasterJTAG配置5.2Cyclone及CycloneII第5章目錄5.1FPGA配置5.2Cyclone及CycloneIIFPGA配置5.3配置芯片5.4配置的軟件設(shè)置5.5配置文件5.6配置可靠性及電路設(shè)計注意事項(xiàng)5.7下載配置文件到FPGA5.8下載配置文件到EPCS5.9IDEFlashProgrammer介紹5.10用戶程序引導(dǎo)5.11使用IDEFlashProgrammer編程5.12創(chuàng)建目標(biāo)板Flash編程設(shè)計第5章目錄5.1FPGA配置AlteraFPGA的配置芯片可以分為3類:增強(qiáng)型配置器件:EPC16、EPC8、EPC4;主動串行配置器件:EPCS64、EPCS16、EPCS4和EPCS1;普通配置器件:EPC2、EPC1、EPC1441。5.3配置芯片AlteraFPGA的配置芯片可以分為3類:5.3配置芯5.3配置芯片器件存儲容量(bits)片上解壓縮支持在系統(tǒng)編程(ISP)支持可重編程操作電壓(V)EPC1616,777,216YesYesYes3.3EPC88,388,608YesYesYes3.3EPC44,194,304YesYesYes3.3EPCS6467,108,864NoNoYes3.3EPCS1616,777,216NoNoYes3.3EPCS44,194,304NoNoYes3.3EPCS11,048,576NoNoYes3.3EPC21,695,680NoYesYes3.3或5EPC11,046,496NoNoNo3.3或5EPC1441440,800NoNoNo3.3或5各配置芯片的屬性如下表所示:5.3配置芯片器件存儲容量(bits)片上解壓縮支持在系統(tǒng)第5章目錄5.1FPGA配置5.2Cyclone及CycloneIIFPGA配置5.3配置芯片5.4配置的軟件設(shè)置5.5配置文件5.6配置可靠性及電路設(shè)計注意事項(xiàng)5.7下載配置文件到FPGA5.8下載配置文件到EPCS5.9IDEFlashProgrammer介紹5.10用戶程序引導(dǎo)5.11使用IDEFlashProgrammer編程5.12創(chuàng)建目標(biāo)板Flash編程設(shè)計第5章目錄5.1FPGA配置5.4配置的軟件設(shè)置配置方式及配置芯片選擇在QuartusII軟件中,可以設(shè)置配置方式和配置芯片。配置選項(xiàng)卡5.4配置的軟件設(shè)置配置方式及配置芯片選擇配置選項(xiàng)卡5.4配置的軟件設(shè)置配置方式及配置芯片選擇在QuartusII軟件中,可以設(shè)置配置方式和配置芯片。配置方式(AS、PS)選擇配置模式(本地或遠(yuǎn)程)選擇配置器件(EPCS系列、EPC系列)壓縮配置選項(xiàng)卡5.4配置的軟件設(shè)置配置方式及配置芯片選擇配置方式(AS、5.4配置的軟件設(shè)置復(fù)用配置引腳處理當(dāng)用戶選擇了一種配置方式后,在【Dual-PurposePins】選項(xiàng)卡中將自動把這種方式下可復(fù)用為IO口的管腳列出。用戶可選擇如何處理這些引腳。復(fù)用配置引腳處理5.4配置的軟件設(shè)置復(fù)用配置引腳處理復(fù)用配置引腳處理5.4配置的軟件設(shè)置復(fù)用配置引腳處理【General】選項(xiàng)卡,用于有關(guān)于配置的通用選項(xiàng)。功能復(fù)用引腳設(shè)置5.4配置的軟件設(shè)置復(fù)用配置引腳處理功能復(fù)用引腳設(shè)置第5章目錄5.1FPGA配置5.2Cyclone及CycloneIIFPGA配置5.3配置芯片5.4配置的軟件設(shè)置5.5配置文件5.6配置可靠性及電路設(shè)計注意事項(xiàng)5.7下載配置文件到FPGA5.8下載配置文件到EPCS5.9IDEFlashProgrammer介紹5.10用戶程序引導(dǎo)5.11使用IDEFlashProgrammer編程5.12創(chuàng)建目標(biāo)板Flash編程設(shè)計第5章目錄5.1FPGA配置5.5配置文件配置文件的格式QuartusII開發(fā)軟件能生成一個或多個用于配置電路的配置文件。SRAM目標(biāo)文件(.sof).sof文件一般是在調(diào)試時通過下載電纜和JTAG直接下載到FPGA中的SRAM中。SOF文件在QuattusII軟件編譯時自動生成。所有其他配置文件都是由SOF文件轉(zhuǎn)換生成的。5.5配置文件配置文件的格式SRAM目標(biāo)文件(.sof)5.5配置文件配置文件的格式QuartusII開發(fā)軟件能生成一個或多個用于配置電路的配置文件。編程目標(biāo)文件(.pof).pof文件用于對各種Altera配置芯片進(jìn)行編程。當(dāng)在QuartusII中設(shè)置好配置芯片類型后,軟件會在編譯時為用戶生成對應(yīng)器件類型的POF文件。多個FPGA的sof文件可放到一個POF文件中,形成一個配置文件。QuartusII也可以將配置文件分到幾個配置芯片中。5.5配置文件配置文件的格式編程目標(biāo)文件(.pof)5.5配置文件配置文件的格式QuartusII開發(fā)軟件能生成一個或多個用于配置電路的配置文件。原始二進(jìn)制文件(.rbf)RBF是原始二進(jìn)制配置數(shù)據(jù)的文件,只包含配置數(shù)據(jù)的內(nèi)容。RBF文件通常被用于外部帶微處理器的配置電路中。在被動配置方式(PS)時,可以將.rbf文件存儲在大容量存儲器中(如NORFlash),然后通過微控制器讀取二進(jìn)制數(shù)據(jù)并裝載到FPGA中去。5.5配置文件配置文件的格式原始二進(jìn)制文件(.rbf)5.5配置文件配置文件的格式QuartusII開發(fā)軟件能生成一個或多個用于配置電路的配置文件。原始編程數(shù)據(jù)文件(.rpd)RPD是包含Cyclone器件二進(jìn)制位流配置數(shù)據(jù)的二進(jìn)制文件。該文件存儲在串行配置器件中,用于帶嵌入式處理器環(huán)境,但在QuartusII軟件以外CycloneFPGA主動配置方式的配置。RPD文件的大小等于目標(biāo)串行配置器件存儲容量大小。但不同于RBF文件,它只給單一的配置器件提供配置。每個字節(jié)的低位LSB應(yīng)先寫入串行配置器件。5.5配置文件配置文件的格式原始編程數(shù)據(jù)文件(.rpd)5.5配置文件配置文件的格式QuartusII開發(fā)軟件能生成一個或多個用于配置電路的配置文件。十六進(jìn)制文件(.hex)HEX文件是Intel

HEX格式的ASCII文件。微控制器或外部主機(jī)可使用HEX文件來存儲和傳送配置數(shù)據(jù)。該文件也可以用于第三方的編程器對Altera公司的配置器件進(jìn)行編程。5.5配置文件配置文件的格式十六進(jìn)制文件(.hex)5.5配置文件配置文件的格式QuartusII開發(fā)軟件能生成一個或多個用于配置電路的配置文件。文本列表文件(.ttf)文本列表文件是一種提供了逗號分隔的列表ASCII文件,該文件中的配置數(shù)據(jù)用于FPP、PPS、PPA和位寬。TTF文件可以允許用戶將配置數(shù)據(jù)以包含或源命令行的形式作為微控制器的源代碼,微控制器能從配置器件和大容量存儲器中訪問這些數(shù)據(jù)并下載到目標(biāo)器件(FPGA)。5.5配置文件配置文件的格式文本列表文件(.ttf)5.5配置文件配置文件的格式QuartusII開發(fā)軟件能生成一個或多個用于配置電路的配置文件。JAM文件(.jam)JAM文件是用來存儲器件編程信息的ASCII文本文件。這些文件在QusrtusII編程器和帶嵌入式處理器的環(huán)境中常用于一個或多個器件的編程、校驗(yàn)、查空。5.5配置文件配置文件的格式JAM文件(.jam)5.5配置文件配置文件的格式QuartusII開發(fā)軟件能生成一個或多個用于配置電路的配置文件。字節(jié)編碼文件(.jbc)JBC文件是同JAM文件內(nèi)容一樣的二進(jìn)制文件。此外還有串行位流文件(.sbf)是用于FLEX10K和FLEX6000器件的配置。5.5配置文件配置文件的格式字節(jié)編碼文件(.jbc)5.5配置文件配置文件設(shè)置和轉(zhuǎn)換QuartusII軟件中指定生成哪種格式的配置文件。配置過程波形圖5.5配置文件配置文件設(shè)置和轉(zhuǎn)換配置過程波形圖5.5配置文件配置文件設(shè)置和轉(zhuǎn)換用QuartusII軟件可對SOF和POF文件進(jìn)行轉(zhuǎn)換,生成其它格式的文件。編程文件的轉(zhuǎn)換5.5配置文件配置文件設(shè)置和轉(zhuǎn)換編程文件的轉(zhuǎn)換5.5配置文件配置文件設(shè)置和轉(zhuǎn)換SOF文件->RBF文件轉(zhuǎn)換步驟如下:①②③④⑤⑥配置過程波形圖5.5配置文件配置文件設(shè)置和轉(zhuǎn)換①②③④⑤⑥配置過程波形5.5配置文件配置文件的壓縮QuartusII為Cyclone、CycloneII以及StratixII提供了配置數(shù)據(jù)可壓縮特性,用戶可以為FPGA選擇容量較小的EPCS器件,以節(jié)省成本。ALTERA給出對配置數(shù)據(jù)的壓縮率可達(dá)到35到60%。當(dāng)在QuartusII軟件中使能壓縮特性時,軟件自動采用壓縮配置數(shù)據(jù)來生成POF配置文件。通過壓縮后的配置文件減小了對配置器件或Flash的存儲空間需求。5.5配置文件配置文件的壓縮5.5配置文件配置文件的壓縮有兩種方法來使用壓縮特性:在用戶設(shè)計編譯前,可在編譯設(shè)置菜單中來選擇壓縮特性;在用戶設(shè)計編譯后,可利用File菜單中的文件轉(zhuǎn)換器ConvetProgrammingFiles進(jìn)行壓縮。通過文件轉(zhuǎn)換可利用SOF文件生成各種格式的壓縮文件。5.5配置文件配置文件的壓縮5.5配置文件配置文件的壓縮方法一:編譯前選擇壓縮特性方法二:用文件轉(zhuǎn)換器進(jìn)行壓縮5.5配置文件配置文件的壓縮方法一:編譯前選擇壓縮特性方法第5章目錄5.1FPGA配置5.2Cyclone及CycloneIIFPGA配置5.3配置芯片5.4配置的軟件設(shè)置5.5配置文件5.6配置可靠性及電路設(shè)計注意事項(xiàng)5.7下載配置文件到FPGA5.8下載配置文件到EPCS5.9IDEFlashProgrammer介紹5.10用戶程序引導(dǎo)5.11使用IDEFlashProgrammer編程5.12創(chuàng)建目標(biāo)板Flash編程設(shè)計第5章目錄5.1FPGA配置5.6配置可靠性及電路設(shè)計注意事項(xiàng)配置的可靠性Altera的FPGA結(jié)構(gòu)中設(shè)計了一些保護(hù)電路來減小電源上電和數(shù)據(jù)噪聲的影響,使基于SRAM工藝的FPGA可靠性大大提高。為了提供可靠性主要采取了以下幾個方面:1.在配置過程中,采用CRC電路對輸入到FPGA中的每一幀配置數(shù)據(jù)進(jìn)行校驗(yàn),確保配置數(shù)據(jù)的正確性;2.AlteraFPGA提供了保護(hù)電路要求在系統(tǒng)在掉電后重新配置,以保證FPGA在系統(tǒng)掉電時的高可靠性。5.6配置可靠性及電路設(shè)計注意事項(xiàng)配置的可靠性5.6配置可靠性及電路設(shè)計注意事項(xiàng)電路設(shè)計注意事項(xiàng)在配置電路設(shè)計時,通常應(yīng)該注意下面幾點(diǎn):1.在設(shè)計DCLK和TCK時,要將其當(dāng)作高速的時鐘信號來處理;2.在有多片F(xiàn)PGA配置鏈中,一般建議將各片F(xiàn)PGA的DCLK、DATA0(DATA[7..0]、nCONFIG、nSTATUS、和CONF_DONE信號連在一起。這樣可以確保各FPGA配置同時開始和結(jié)束;3.確保FPGA配置管腳的電平和配置器件的電平兼容;4.確保所有配置管腳按照FPGA的數(shù)據(jù)手冊進(jìn)行連接。5.6配置可靠性及電路設(shè)計注意事項(xiàng)電路設(shè)計注意事項(xiàng)第5章目錄5.1FPGA配置5.2Cyclone及CycloneIIFPGA配置5.3配置芯片5.4配置的軟件設(shè)置5.5配置文件5.6配置可靠性及電路設(shè)計注意事項(xiàng)5.7下載配置文件到FPGA5.8下載配置文件到EPCS5.9IDEFlashProgrammer介紹5.10用戶程序引導(dǎo)5.11使用IDEFlashProgrammer編程5.12創(chuàng)建目標(biāo)板Flash編程設(shè)計第5章目錄5.1FPGA配置5.7下載配置文件到FPGA要使用JTAG下載配置數(shù)據(jù)到FPGA,首先要生成可用于JTAG下載的配置數(shù)據(jù)文件,這些配置數(shù)據(jù)文件包括:.sof、.Jam以及.JBC。一般來說,JTAG方式利用SOF文件即可,JAM和JBC可以不用。利用JATG接口和ByteBlasterII電纜下載配置數(shù)據(jù)到FPGA的過程,如下:5.7下載配置文件到FPGA要使用JTAG下載配置數(shù)據(jù)到F5.7下載配置文件到FPGA①②③④⑤⑥⑦JTAG下載配置數(shù)據(jù)過程5.7下載配置文件到FPGA①②③④⑤⑦JTAG下載配置數(shù)5.7下載配置文件到FPGA①②③④ByteBlasterII下載電纜安裝5.7下載配置文件到FPGA①②③④ByteBlaster第5章目錄5.1FPGA配置5.2Cyclone及CycloneIIFPGA配置5.3配置芯片5.4配置的軟件設(shè)置5.5配置文件5.6配置可靠性及電路設(shè)計注意事項(xiàng)5.7下載配置文件到FPGA5.8下載配置文件到EPCS5.9IDEFlashProgrammer介紹5.10用戶程序引導(dǎo)5.11使用IDEFlashProgrammer編程5.12創(chuàng)建目標(biāo)板Flash編程設(shè)計第5章目錄5.1FPGA配置5.8下載配置文件到EPCS使用AS方式對CycloneFPGA配置前,必須將配置文件寫入串行配置器件EPCS。寫入的方法有3種:在QuartusII的Programmer中,通過專門與EPCS連接的AS下載接口來下載.pof文件到EPCS;在QuartusII的Programmer中,使用JTAG接口,通過FPGA中間通道來間接對EPCS進(jìn)行編程;使用NiosIIIDE中的FlashProgrammer對EPCS進(jìn)行編程。5.8下載配置文件到EPCS使用AS方式對Cyclone5.8下載配置文件到EPCSAS接口的EPCS直接編程利用ByteBlasterII、AS接口、.pof配置文件以及QuartusII的Programmer可直接對EPCS進(jìn)行編程,這種方式速度快,但需要專門的AS接口。下載過程如下:5.8下載配置文件到EPCSAS接口的EPCS直接編程5.8下載配置文件到EPCS①②③④⑤⑥⑦EPCS的AS編程5.8下載配置文件到EPCS①②③④⑤⑥⑦EPCS的AS編5.8下載配置文件到EPCSJTAG接口的EPCS間接編程JTAG接口的EPCS間接編程是指利用QuartusII的Programmer、FPGA的JTAG接口以及Altera提供的用于編程時配置FPGA的SerialFlashLoader(SFL)來對EPCS進(jìn)行編程。EPCS編程示意圖(a)傳統(tǒng)通過AS接口對AS接口對EPCS編程(a)通過SFL和JTAG接口對EPCS編程5.8下載配置文件到EPCSJTAG接口的EPCS間接編程5.8下載配置文件到EPCS利用JTAG和SFL對EPCS的編程過程示意圖.jic或.jam5.8下載配置文件到EPCS利用JTAG和SFL對EPCS5.8下載配置文件到EPCSSOF文件轉(zhuǎn)換為JIC文件SOF文件轉(zhuǎn)換為JIC文件的過程如下所示:5.8下載配置文件到EPCSSOF文件轉(zhuǎn)換為JIC文件5.8下載配置文件到EPCS①②③④⑤文件轉(zhuǎn)換對話框5.8下載配置文件到EPCS①②③④⑤文件轉(zhuǎn)換對話框5.8下載配置文件到EPCS⑥·⑦選擇器件5.8下載配置文件到EPCS⑥·⑦選擇器件5.8下載配置文件到EPCS⑧⑨⑩選擇添加被轉(zhuǎn)換文件5.8下載配置文件到EPCS⑧⑨⑩選擇添加被轉(zhuǎn)換文件5.8下載配置文件到EPCS⑾⑿⒀設(shè)置轉(zhuǎn)換配置文件壓縮窗口5.8下載配置文件到EPCS⑾⑿⒀設(shè)置轉(zhuǎn)換配置文件壓縮窗口5.8下載配置文件到EPCSJIC文件轉(zhuǎn)換為JAM文件要使用JAM文件,用戶必須首先將SOF文件轉(zhuǎn)換為JIC文件,然后再將JIC文件轉(zhuǎn)換為JAM文件。轉(zhuǎn)換步驟如下:5.8下載配置文件到EPCSJIC文件轉(zhuǎn)換為JAM文件5.8下載配置文件到EPCS①②③④選擇添加進(jìn)行轉(zhuǎn)換的JIC文件5.8下載配置文件到EPCS①②③④選擇添加進(jìn)行轉(zhuǎn)換的JI5.8下載配置文件到EPCS⑤⑥⑦5.8下載配置文件到EPCS⑤⑥⑦5.8下載配置文件到EPCSJIC和JAM文件的內(nèi)容SFL的配置映像。這個配置映像是在文件轉(zhuǎn)換時當(dāng)用戶選擇目標(biāo)FPGA時(見圖5.21)由QuartusII軟件創(chuàng)建的;在對串行配置器件進(jìn)行編程之前,SFL配置映像要對FPGA進(jìn)行配置;串行配置器件的配置數(shù)據(jù)。這個配置數(shù)據(jù)來源于用戶選擇的SOF文件,在編程過程中這些配置數(shù)據(jù)將被寫入串行配置器件EPCS。5.8下載配置文件到EPCSJIC和JAM文件的內(nèi)容5.8下載配置文件到EPCS使用JIC文件和QuartusIIProgrammer對EPCS編程通過前面的方法將SOF文件轉(zhuǎn)換成JIC文件??梢岳肑IC文件和QusrtusIIProgrammer對串行配置器件EPCS進(jìn)行編程,步驟如下:選中SFL映像對FPGA進(jìn)行配置選中配置數(shù)據(jù)寫入EPCS開始編程5.8下載配置文件到EPCS使用JIC文件和Quartus5.8下載配置文件到EPCS使用JAM文件和QuartusIIProgrammer對EPCS編程JIC文件轉(zhuǎn)成JAM文件,可以利用JAM文件和QuartusIIProgrammer對串行配置器件EPCS進(jìn)行編程,步驟如下:使用JIC和QuartusIIProgrmmer進(jìn)行EPCS編程5.8下載配置文件到EPCS使用JAM文件和Quartus第5章目錄5.1FPGA配置5.2Cyclone及CycloneIIFPGA配置5.3配置芯片5.4配置的軟件設(shè)置5.5配置文件5.6配置可靠性及電路設(shè)計注意事項(xiàng)5.7下載配置文件到FPGA5.8下載配置文件到EPCS5.9IDEFlashProgrammer介紹5.10用戶程序引導(dǎo)5.11使用IDEFlashProgrammer編程5.12創(chuàng)建目標(biāo)板Flash編程設(shè)計第5章目錄5.1FPGA配置5.9IDEFlashProgrammer介紹NiosIIIDE提供了FlashProgramer工具來對目標(biāo)板上遵守CFI(commonflashinterface)規(guī)范的Flash進(jìn)行編程。IDE的FlashProgramer通過使用Altera的下載電纜能夠方便的對目標(biāo)板上連接在FPGA上的Flash進(jìn)行編程。IDE的FlashProgramer除了能對連接在FPGA上的Flash進(jìn)行編程外,還能對連接在FPGA上的串行配置器件EPCS進(jìn)行編程。5.9IDEFlashProgrammer介紹Nios5.9IDEFlashProgrammer介紹IDEFlashProgrammer編程工作過程IDEFlashProgrammer通過2個過程將數(shù)據(jù)寫入Flash。第一步:使用Flash編程設(shè)計對FPGA進(jìn)行配置第二步:傳送編程內(nèi)容到Flash器件5.9IDEFlashProgrammer介紹IDE5.9IDEFlashProgrammer介紹Flash編程設(shè)計Flash編程設(shè)計實(shí)際就是一個由SOPCBuilder系統(tǒng)生成的最小FPGA設(shè)計。Flash編程設(shè)計是IDEFlashProgrammer的關(guān)鍵組成部分。除此之外,還必須包括:與主機(jī)(PC機(jī))通訊的JTAG接口;由主機(jī)提供的寫入Flash的編程數(shù)據(jù)。不同的電路板(目標(biāo)板)往往使用不同的Flash器件,并且Flash與FPGA的管腳連接及FPGA型號也不相同。因此,每個Flash編程設(shè)計都與具體的目標(biāo)板相聯(lián)系,不能用于其它的目標(biāo)板。5.9IDEFlashProgrammer介紹Flas5.9IDEFlashProgrammer介紹目標(biāo)板Flash編程設(shè)計一個目標(biāo)板Flash編程設(shè)計是一組SOPCBuilder文件,這些文件包含了用戶使用電路板的一些特有信息,其中必須指明FPGA與Flash的連接關(guān)系。包含下列信息:每一個連接到電路板FPGA上的Flash的參考元件標(biāo)號,如U7;Flash器件在Flash編程設(shè)計中的基地址;主機(jī)上用于配置電路板上FPGA的Flash編程設(shè)計的SOF文件。參考元件標(biāo)號用于區(qū)分設(shè)計中不同的Flash器件。電路板上的Flash器件在設(shè)計時的命名和基地址可能不同,但參考元件標(biāo)號總是相同的。5.9IDEFlashProgrammer介紹目標(biāo)板F5.9IDEFlashProgrammer介紹Flash編程內(nèi)容的類型用戶軟件;FPGA的配置數(shù)據(jù);任意內(nèi)容。5.9IDEFlashProgrammer介紹Flas5.9IDEFlashProgrammer介紹Flash文件所有要通過IDEProgrammer寫入Flash中的數(shù)據(jù)文件都要轉(zhuǎn)換為能被FlashProgrammer讀取的.flash文件。Flash文件通過其后綴.flash來識別,盡管它們與工業(yè)標(biāo)準(zhǔn)SREC文件相同。IDEFlashProgrammer在后臺提供了elf2flash、sof2flash、bin2flash三個命令來分別將這三種文件轉(zhuǎn)換為flash文件,這三個命令在IDEFlashProgrammer后臺自動調(diào)用執(zhí)行而不需用戶干預(yù),當(dāng)然用戶也可以在NiosIISDKshell中通過命令行來執(zhí)行文件轉(zhuǎn)換。5.9IDEFlashProgrammer介紹Flas第5章目錄5.1FPGA配置5.2Cyclone及CycloneIIFPGA配置5.3配置芯片5.4配置的軟件設(shè)置5.5配置文件5.6配置可靠性及電路設(shè)計注意事項(xiàng)5.7下載配置文件到FPGA5.8下載配置文件到EPCS5.9IDEFlashProgrammer介紹5.10用戶程序引導(dǎo)5.11使用IDEFlashProgrammer編程5.12創(chuàng)建目標(biāo)板Flash編程設(shè)計第5章目錄5.1FPGA配置FPGA5.10用戶程序引導(dǎo)用戶程序可以存放在Flash中,也可以存放在EPCS,因此用戶程序可以從Flash引導(dǎo),也可以從EPCS中引導(dǎo)。用戶程序FlashEPCS用戶程序用戶引導(dǎo)程序FPGA5.10用戶程序引導(dǎo)用戶程序可以存放在Flash中5.10用戶程序引導(dǎo)從CFIFlash引導(dǎo)FPGA上電或復(fù)位配置成功后,如果配置中包含的NiosII處理器復(fù)位地址指向Flash的地址空間,那么程序?qū)腇lash引導(dǎo)。SOPCBuilder指定復(fù)位地址為Flash5.10用戶程序引導(dǎo)從CFIFlash引導(dǎo)SOPCBu5.10用戶程序引導(dǎo)從串行配置器件EPCS引導(dǎo)如果使用串行配置器件EPCS,且配置數(shù)據(jù)的容量小于EPCS的容量,那么剩余的存儲空間可用來存放用戶程序。EPCS控制器結(jié)構(gòu)框圖Boot-LoaderROMEPCS控制器配置存儲空間通用存儲空間EPCS配置器件Avalon總線NiosIICPU片內(nèi)外設(shè)AlteraFPGA存儲FPGA配置數(shù)據(jù)剩余空間可用于存儲用戶非易失性數(shù)據(jù)。1KB的片內(nèi)存儲器5.10用戶程序引導(dǎo)從串行配置器件EPCS引導(dǎo)EPCS控制5.10用戶程序引導(dǎo)從串行配置器件EPCS引導(dǎo)IDE的FlashProgrammer能將配置數(shù)據(jù)文件(.sof)和用戶程序(.elf)寫入到EPCS中。當(dāng)用戶程序存放在EPCS中時,如果想從EPCS中引導(dǎo)程序,在SOPCBuilder中必須添加EPCS控制器,且必須在SOPCBuilder中指定NiosII處理器的復(fù)位地址指向EPCS控制器(epcs_controller)。5.10用戶程序引導(dǎo)從串行配置器件EPCS引導(dǎo)5.10用戶程序引導(dǎo)從串行配置器件EPCS引導(dǎo)SOPCBuilder指定復(fù)位地址為epcs_controller5.10用戶程序引導(dǎo)從串行配置器件EPCS引導(dǎo)SOPCB5.10用戶程序引導(dǎo)引導(dǎo)復(fù)制程序Alter提供了引導(dǎo)復(fù)制程序,它能根據(jù)用戶在IDE中設(shè)置的用戶程序文件(.elf)連接地址來重新裝載程序,然后跳過.elf文件的連接地址執(zhí)行程序。引導(dǎo)復(fù)制程序是IDEFlashProgrammer在后臺執(zhí)行elf2flash命令時判斷并自動加入完成的。BootCopierMy_sw.elfMy_sw.flash加入BootCopier示意圖5.10用戶程序引導(dǎo)引導(dǎo)復(fù)制程序引導(dǎo)復(fù)制程序是IDEFl5.10用戶程序引導(dǎo)用戶程序ELF文件連接設(shè)置在NiosIIIDE中工程的屬性頁控制了工程中的程序與硬件系統(tǒng)的相互影響關(guān)系以及IDE怎樣編譯連接該應(yīng)用工程。用戶IDE工程庫屬性設(shè)置對話框局部圖5.10用戶程序引導(dǎo)用戶程序ELF文件連接設(shè)置用戶IDE工5.10用戶程序引導(dǎo)用戶程序引導(dǎo)小結(jié)通過SOPCBuilder和IDE用戶工程庫屬性頁中的不同設(shè)置,可實(shí)現(xiàn)用戶程序的不同引導(dǎo)和在不同存儲空間運(yùn)行,現(xiàn)總結(jié)于下表。SOPCBuilder中ResetAddressIDE中.elf連接存儲空間程序運(yùn)行情況FlashSDRAM從Flash中復(fù)制到SDRAM運(yùn)行Onchip_RAM從Flash中復(fù)制到Onchip_RAM運(yùn)行Onchip_ROMOnchip_ROM(2)FlashFlash(3)Epcs_controllerEpcs_controller(4)Epcs_controllerSDRAM從EPCS中復(fù)制到SDRAM運(yùn)行Onchip_RAM從EPCS中復(fù)制到Onchip_RAM運(yùn)行Onchip_ROMOnchip_ROM(2)FlashFlash(5)5.10用戶程序引導(dǎo)用戶程序引導(dǎo)小結(jié)SOPCBuilde第5章目錄5.1FPGA配置5.2Cyclone及CycloneIIFPGA配置5.3配置芯片5.4配置的軟件設(shè)置5.5配置文件5.6配置可靠性及電路設(shè)計注意事項(xiàng)5.7下載配置文件到FPGA5.8下載配置文件到EPCS5.9IDEFlashProgrammer介紹5.10用戶程序引導(dǎo)5.11使用IDEFlashProgrammer編程5.12創(chuàng)建目標(biāo)板Flash編程設(shè)計第5章目錄5.1FPGA配置5.11使用IDEFlashProgrammer編程選擇目標(biāo)板Flash編程設(shè)計5.11使用IDEFlashProgrammer編程5.11使用IDEFlashProgrammer編程從SOPCBuilder啟動NiosIIIDE編譯連接用戶工程建立軟件工程后,進(jìn)行編譯連接5.11使用IDEFlashProgrammer編程5.11使用IDEFlashProgrammer編程打開IDEFlashProgrammerFlashProgrammer對話框啟動FlashProgrammmer界面5.11使用IDEFlashProgrammer編程5.11使用IDEFlashProgrammer編程FlashProgrammer對話框5.11使用IDEFlashProgrammer編程第5章目錄5.1FPGA配置5.2Cyclone及CycloneIIFPGA配置5.3配置芯片5.4配置的軟件設(shè)置5.5配置文件5.6配置可靠性及電路設(shè)計注意事項(xiàng)5.7下載配置文件到FPGA5.8下載配置文件到EPCS5.9IDEFlashProgrammer介紹5.10用戶程序引導(dǎo)5.11使用IDEFlashProgrammer編程5.12創(chuàng)建目標(biāo)板Flash編程設(shè)計第5章目錄5.1FPGA配置5.12創(chuàng)建目標(biāo)板Flash編程設(shè)計目標(biāo)板編程設(shè)計對Flash編程必不可少,其提供了FlashProgrammer對Flash進(jìn)行編程所需的全部信息,包括Flash的容量以及flash的引腳連接等等。目標(biāo)板Flash編程設(shè)計包含下列內(nèi)容:每個在電路板上連接到FPGA的Flash芯片上的參考標(biāo)號;Flash芯片在Flash編程設(shè)計中的基地址;一個針對用戶板,經(jīng)過裁剪的Flash編程設(shè)計;一個用戶板的Flash編程設(shè)計的配置文件(.sof)。只有Nios開發(fā)套件7.1版本以下才需要用戶自己創(chuàng)建目標(biāo)板Flash編程設(shè)計。Nios7.1及其以上版本已經(jīng)集成,用戶編譯完即可自動下載。5.12創(chuàng)建目標(biāo)板Flash編程設(shè)計目標(biāo)板編程設(shè)計對Fla5.12創(chuàng)建目標(biāo)板Flash編程設(shè)計一個用戶板包含下列文件:class.ptf-描述連接到FPGA的Flash,并且指出用戶板Flash編程設(shè)計的存放位置;<board_name>.ptf-Flash編程設(shè)計的SOPCBuilder系統(tǒng)文件;<board_name>.qpf-Flash編程設(shè)計的QuartusII工程文件;<board_name>.sof-Flash編程設(shè)計的FPGA配置文件。5.12創(chuàng)建目標(biāo)板Flash編程設(shè)計一個用戶板包含下列文件5.12創(chuàng)建目標(biāo)板Flash編程設(shè)計每一個Flash編程設(shè)計都包含下列元件:NiosIICPU;JTAGUART;如果采用EPCS串行配置器件,則需要Activeserialmemoryinterface(ASMI);Tri-statebridge;CFI規(guī)范的Flashinterface;SystemIDperipheral;用于存放程序以及作為數(shù)據(jù)緩沖的On-chipmemory。5.12創(chuàng)建目標(biāo)板Flash編程設(shè)計每一個Flash編程設(shè)5.12創(chuàng)建目標(biāo)板Flash編程設(shè)計下面以SmartSOPC多功能教學(xué)實(shí)驗(yàn)開發(fā)平臺上QuickSOPC核心板的Flash編程設(shè)計為例,敘述創(chuàng)建目標(biāo)板Flash編程設(shè)計的步驟:NiosSDKshell啟動方法12啟動后界面5.12創(chuàng)建目標(biāo)板Flash編程設(shè)計下面以SmartSOP5.12創(chuàng)建目標(biāo)板Flash編程設(shè)計創(chuàng)建命令參數(shù)和提示信息命令和參數(shù)創(chuàng)建信息提示下一步的工作35.12創(chuàng)建目標(biāo)板Flash編程設(shè)計創(chuàng)建命令參數(shù)和提示信息5.12創(chuàng)建目標(biāo)板Flash編程設(shè)計啟動QuartusII軟件并打開剛才創(chuàng)建的新工程,SmartSOPC_Board_cyclone_1c6.qpf;在QuartusII軟件中,從【Assignments】>>【Device】打開setting對話框,選擇實(shí)際電路板上所用的FPGA型號,本例為EP1C6Q240C8;從【Tools】>>【SOPCBuilder】來啟動SOPCBuilder軟件;對【SystemContents】標(biāo)簽頁的設(shè)置。5.12創(chuàng)建目標(biāo)板Flash編程設(shè)計啟動QuartusI添加三態(tài)橋AvalonTri-StateBridge。5.12創(chuàng)建目標(biāo)板Flash編程設(shè)計添加AvalonTri-stateBridge8添加三態(tài)橋AvalonTri-StateBridge。添加CFI接口的Flash5.12創(chuàng)建目標(biāo)板Flash編程設(shè)計添加CFI接口Flash9Flash接口的時序設(shè)置添加CFI接口的Flash5.12創(chuàng)建目標(biāo)板Flash編程修改CPU的設(shè)置5.12創(chuàng)建目標(biāo)板Flash編程設(shè)計修改經(jīng)濟(jì)核為快速核10修改CPU的設(shè)置5.12創(chuàng)建目標(biāo)板Flash編程設(shè)計修改經(jīng)修改CPU的設(shè)置5.12創(chuàng)建目標(biāo)板Flash編程設(shè)計10指定Cache大小修改CPU的設(shè)置5.12創(chuàng)建目標(biāo)板Flash編程設(shè)計10指修改JTAG_UART的配置5.12創(chuàng)建目標(biāo)板Flash編程設(shè)計11修改JTAG_UART的配置修改JTAG_UART的配置5.12創(chuàng)建目標(biāo)板Flash編修改JTAG_UART的配置5.12創(chuàng)建目標(biāo)板Flash編程設(shè)計12More“Board_System”Settings選項(xiàng)卡修改JTAG_UART的配置5.12創(chuàng)建目標(biāo)板Flash編5.12創(chuàng)建目標(biāo)板Flash編程設(shè)計選擇進(jìn)入【SystemGeneration】,關(guān)閉【Simulation】選項(xiàng)然后點(diǎn)擊;當(dāng)生成完成后,點(diǎn)擊退出并返回到QuartusII;在任意處右擊,在彈出的快捷菜單中選擇【UpdateSymbolorBlock】以更新;電路板上實(shí)際使用的振蕩器輸出頻率不能達(dá)到50MHz以上,加入一個PLL以提高時鐘頻率。本例使用PLL將時鐘頻率提升為80MHz。5.12創(chuàng)建目標(biāo)板Flash編程設(shè)計選擇進(jìn)入【System添加、連接并命名引腳。5.12創(chuàng)建目標(biāo)板Flash編程設(shè)計18SmartSOPC_Board_cyclone_1c6頂層圖添加、連接并命名引腳。5.12創(chuàng)建目標(biāo)板Flash編程設(shè)計5.12創(chuàng)建目標(biāo)板Flash編程設(shè)計如果在Flash接口所在的三態(tài)總線上還有掛有其它的外設(shè),用戶必須確保這些在本設(shè)計中不使用的外設(shè)不會影響Flash數(shù)據(jù)的讀寫;進(jìn)行管腳分配。如果用戶在其它的設(shè)計中已經(jīng)有包含F(xiàn)lash、時鐘、復(fù)位等管腳的分配,則可直接利用;點(diǎn)擊【File】>>【Save】保存設(shè)計;點(diǎn)擊【Processing】>>【StartCompilation】編譯工程。編譯成功后,目標(biāo)板Flash編程設(shè)計即成功創(chuàng)建。打開SOPCBuilder即可在【Target】下的Board欄中找到剛才的目標(biāo)板Flash編程設(shè)計,對于本例為SmartSOPC_Board_1c6。5.12創(chuàng)建目標(biāo)板Flash編程設(shè)計如果在Flash接口所5.12創(chuàng)建目標(biāo)板Flash編程設(shè)計說明:創(chuàng)建好的目標(biāo)板Flash編程設(shè)計在任何設(shè)計的SOPCBuilder中都能使用。如果想讓該目標(biāo)板Flash編程設(shè)計在其它的PC機(jī)上也能使用,將整個設(shè)計文件夾拷貝到NiosII安裝路徑<安裝盤>\altera\kits\nios2\components目錄下即可。因此,無論使用mk_target_board命令創(chuàng)建時的路徑如何,在創(chuàng)建完成后,將整個設(shè)計文件夾拷貝到<安裝盤>\altera\kits\nios2\components目錄下。5.12創(chuàng)建目標(biāo)板Flash編程設(shè)計說明:第5章

FPGA配置方式和配置過程------《片上系統(tǒng)嵌入式基礎(chǔ)教程》鄭州大學(xué)出版社出版鄭州坤升電子技術(shù)有限公司徐江峰等編著第5章

FPGA配置方式和配置過程------《片上系統(tǒng)本章將首先介紹FPGA配置方式和配置過程,然后簡單介紹了配置芯片、配置文件的種類以及配置電路設(shè)計要點(diǎn),本章最后講述了配置文件下載、Flash編程等方面的內(nèi)容,其中Flash編程包括NORFlash的編程、EPCS的編程。通過本章的內(nèi)容讀者將理解并掌握FPGA配置以及Flash編程、NiosII程序裝載等的相關(guān)內(nèi)容。主要內(nèi)容本章將首先介紹FPGA配置方式和配置過程,然后簡單介紹了配置第5章目錄5.1FPGA配置5.2Cyclone及CycloneIIFPGA配置5.3配置芯片5.4配置的軟件設(shè)置5.5配置文件5.6配置可靠性及電路設(shè)計注意事項(xiàng)5.7下載配置文件到FPGA5.8下載配置文件到EPCS5.9IDEFlashProgrammer介紹5.10用戶程序引導(dǎo)5.11使用IDEFlashProgrammer編程5.12創(chuàng)建目標(biāo)板Flash編程設(shè)計第5章目錄5.1FPGA配置第5章目錄5.1FPGA配置5.2Cyclone及CycloneIIFPGA配置5.3配置芯片5.4配置的軟件設(shè)置5.5配置文件5.6配置可靠性及電路設(shè)計注意事項(xiàng)5.7下載配置文件到FPGA5.8下載配置文件到EPCS5.9IDEFlashProgrammer介紹5.10用戶程序引導(dǎo)5.11使用IDEFlashProgrammer編程5.12創(chuàng)建目標(biāo)板Flash編程設(shè)計第5章目錄5.1FPGA配置5.1FPGA配置配置(configuration)是對FPGA的內(nèi)容進(jìn)行編程的過程。每次上電后都需要進(jìn)行配置是基于SRAM工藝FPGA的一個特點(diǎn),也可以說是一個缺點(diǎn)。FPGA配置過程如下:FPGA配置器件外部電路將配置數(shù)據(jù)載入片內(nèi)配置RAM中外部電路FPGA配置完成配置RAM配置RAM中的配置數(shù)據(jù):用于控制FPGA內(nèi)部可編程的內(nèi)部邏輯、內(nèi)部寄存器和I/O寄存器初始化,I/O驅(qū)動器使能等。之后FPGA進(jìn)入用戶模式。5.1FPGA配置配置(configuration)是對F5.1FPGA配置FPGA配置方式根據(jù)FPGA在配置電路中的角色,可以將配置方式分為三類:1.FPGA主動串行(AS)方式

2.JTAG方式3.FPGA被動(Passive)方式EPCS系列配置數(shù)據(jù)FPGA主動串行(AS)方式1下載工具或智能主機(jī)JTAG方式2EPC系列FPGA僅輸出響應(yīng)信號FPGAFPGA被動(Passive)方式35.1FPGA配置FPGA配置方式EPCS配置數(shù)據(jù)FPGA5.1FPGA配置FPGA配置方式根據(jù)FPGA在配置電路中的角色,可以將配置方式分為三類:1.FPGA主動串行(AS)方式

2.JTAG方式3.FPGA被動(Passive)方式EPCS系列配置數(shù)據(jù)FPGA主動串行(AS)方式1下載工具或智能主機(jī)JTAG方式2EPC系列FPGA僅輸出響應(yīng)信號FPGAFPGA被動(Passive)方式3被動方式可分為下列幾種方式: 被動串行方式(PS) 快速被動并行(FPP)方式被動并行異步(PPA)方式被動并行同步(PPS)方式被動串行異步(PSA)方式5.1FPGA配置FPGA配置方式EPCS配置數(shù)據(jù)FPGA5.1FPGA配置配置方式器件類別StratixIIStratix,StratixGXCycloneIICycloneAPEXIIAPEX20K,APEX20KE,APEX20KCMercuryACEX1KFLEX10K,FLEX10KE,FLEX10KAFLEX6000被動串行(PS)√√√√√√√√√√主動串行(AS)√√√快速被動并行(FPP)√√√被動并行同步(PPS)√√√√被動并行異步(PPA)√√√√√√√被動串行異步(PSA)√JTAG√√√√√√√√√僅支持邊界掃描測試AlteraFPGA配置方式列表5.1FPGA配置配置方式器件類別StratixIISt5.1FPGA配置CycloneFPGA配置方式表配置方式描述主動串行配置(AS)采用串行配置器件(EPCS1、EPCS4、EPCS16、EPCS64)被動配置(PS)1.采用專用配置器件(EPC1、EPC2、EPC4、EPC8、EPC16);2.采用配置控制器(單片機(jī)、CPLD等)配合Flash;3.下載電纜。JTAG配置通過JTAG進(jìn)行配置5.1FPGA配置CycloneFPGA配置方式表配置5.1FPGA配置FPGA配置過程FPGA的配置包括3各階段:復(fù)位、配置和初始化。復(fù)位配置初始化進(jìn)入用戶模式配置過程波形圖5.1FPGA配置FPGA配置過程復(fù)位配置初始化進(jìn)入配置過5.1FPGA配置FPGA配置過程FPGA的配置包括3各階段:復(fù)位、配置和初始化。復(fù)位配置初始化進(jìn)入用戶模式配置數(shù)據(jù)寫入到器件中器件內(nèi)部邏輯和寄存器初始化,I/O緩沖使能配置過程波形圖5.1FPGA配置FPGA配置過程復(fù)位配置初始化進(jìn)入配置數(shù)FPGA配置過程FPGA配置流程圖FPGA配置過程FPGA配置流程圖第5章目錄5.1FPGA配置5.2Cyclone及CycloneIIFPGA配置5.3配置芯片5.4配置的軟件設(shè)置5.5配置文件5.6配置可靠性及電路設(shè)計注意事項(xiàng)5.7下載配置文件到FPGA5.8下載配置文件到EPCS5.9IDEFlashProgrammer介紹5.10用戶程序引導(dǎo)5.11使用IDEFlashProgrammer編程5.12創(chuàng)建目標(biāo)板Flash編程設(shè)計第5章目錄5.1FPGA配置5.2Cyclone及CycloneIIFPGA配置Cyclone以及CycloneII

FPGA使用SRAM單元來存儲配置數(shù)據(jù)。FPGA中的SRAM是易失性的,每次上電之前,配置數(shù)據(jù)(或壓縮的配置數(shù)據(jù))必須重新下載到FPGA中。下面的2個條件均可使FPGA產(chǎn)生一次配置請求:給FPGA重新上電;FPGA的nConfig引腳上產(chǎn)生一個低電平到高電平的上升沿。5.2Cyclone及CycloneIIFPGA配置5.2Cyclone及CycloneIIFPGA配置Cyclone及CycloneIIFPGA的配置方式包括:FPGA主動串行(AS)配置方式;

FPGA被動(Passive)配置方式;JTAG配置方式。用戶可以通過設(shè)置FPGA上的MSEL0、MESL1兩個引腳的狀態(tài)來選擇配置方式。各種方式的MSEL0、MESL1設(shè)置如下表所列:5.2Cyclone及CycloneIIFPGA配置5.2Cyclone及CycloneIIFPGA配置MSEL1MSEL0配置方式備注00AS主動(串行配置器件)20M10快速AS主動(串行配置器件)40M,只限CycloneII01PS被動(CPLD控制)00或1JTAG配置配置方式設(shè)置說明:在上表中,如果只采用一種配置方式,則可以直接將MSEL0、MESL1

溫馨提示

  • 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

提交評論