版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、基于FPGA的SOPC設(shè)計(jì)信息學(xué)院李貞妮二一三年五月1第五章 FPGA配置和FLASH編程2本章將首先介紹FPGA配置方式和配置過程,然后簡單介紹了配置芯片、配置文件的種類以及配置電路設(shè)計(jì)要點(diǎn),本章最后講述了配置文件下載、Flash編程等方面的內(nèi)容,其中Flash編程包括NOR Flash的編程、EPCS的編程。通過本章的內(nèi)容讀者將理解并掌握FPGA配置以及Flash編程、NiosII程序裝載等的相關(guān)內(nèi)容。 主要內(nèi)容3第5章 目錄5.1 FPGA配置 5.2 Cyclone及Cyclone II FPGA配置5.3 配置芯片5.4 配置的軟件設(shè)置5.5 配置文件5.6 配置可靠性及電路設(shè)計(jì)注意
2、事項(xiàng)5.7 下載配置文件到FPGA5.8 下載配置文件到EPCS5.9 IDE Flash Programmer介紹5.10 用戶程序引導(dǎo)5.11 使用IDE Flash Programmer 編程5.12 創(chuàng)建目標(biāo)板Flash編程設(shè)計(jì)4第5章 目錄5.1 FPGA配置 5.2 Cyclone及Cyclone II FPGA配置5.3 配置芯片5.4 配置的軟件設(shè)置5.5 配置文件5.6 配置可靠性及電路設(shè)計(jì)注意事項(xiàng)5.7 下載配置文件到FPGA5.8 下載配置文件到EPCS5.9 IDE Flash Programmer介紹5.10 用戶程序引導(dǎo)5.11 使用IDE Flash Progra
3、mmer 編程5.12 創(chuàng)建目標(biāo)板Flash編程設(shè)計(jì)55.1 FPGA配置配置(configuration)是對FPGA的內(nèi)容進(jìn)行編程的過程。每次上電后都需要進(jìn)行配置是基于SRAM工藝FPGA的一個(gè)特點(diǎn),也可以說是一個(gè)缺點(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)入用戶模式。65.1 FPGA配置FPGA配置方式根據(jù)FPGA在配置電路中的角色,可以將配置方式分為三類:1.FPGA主動串行(AS)方式
4、 2. JTAG方式 3. FPGA被動(Passive)方式EPCS系列配置數(shù)據(jù)FPGA主動串行(AS)方式1下載工具或智能主機(jī)JTAG方式2EPC系列FPGA僅輸出響應(yīng)信號FPGAFPGA被動(Passive)方式375.1 FPGA配置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被動方式可分為下列幾種方式: 被動
5、串行方式(PS) 快速被動并行(FPP)方式 被動并行異步(PPA)方式 被動并行同步(PPS)方式 被動串行異步(PSA)方式85.1 FPGA配置配置方式器件類別Stratix IIStratix ,Stratix GXCyclone IICycloneAPEX IIAPEX20K,APEX20KE,APEX20KCMercuryACEX 1KFLEX10K,FLEX10KE,FLEX10KAFLEX6000被動串行(PS)主動串行(AS)快速被動并行(FPP)被動并行同步(PPS)被動并行異步(PPA)被動串行異步(PSA)JTAG僅支持邊界掃描測試Altera FPGA配置方式列表95
6、.1 FPGA配置Cyclone FPGA配置方式表配 置 方 式描 述主動串行配置(AS)采用串行配置器件(EPCS1、EPCS4、EPCS16、EPCS64)被動配置(PS)1采用專用配置器件(EPC1、EPC2、EPC4、EPC8、EPC16);2采用配置控制器(單片機(jī)、CPLD等)配合Flash;3下載電纜。JTAG配置通過JTAG進(jìn)行配置105.1 FPGA配置FPGA配置過程FPGA的配置包括3各階段:復(fù)位、配置和初始化。復(fù)位配置初始化進(jìn)入用戶模式配置過程波形圖115.1 FPGA配置FPGA配置過程FPGA的配置包括3各階段:復(fù)位、配置和初始化。復(fù)位配置初始化進(jìn)入用戶模式配置數(shù)據(jù)
7、寫入到器件中器件內(nèi)部邏輯和寄存器初始化,I/O緩沖使能配置過程波形圖12FPGA配置過程FPGA 配置流程圖13第5章 目錄5.1 FPGA配置 5.2 Cyclone及Cyclone II FPGA配置5.3 配置芯片5.4 配置的軟件設(shè)置5.5 配置文件5.6 配置可靠性及電路設(shè)計(jì)注意事項(xiàng)5.7 下載配置文件到FPGA5.8 下載配置文件到EPCS5.9 IDE Flash Programmer介紹5.10 用戶程序引導(dǎo)5.11 使用IDE Flash Programmer 編程5.12 創(chuàng)建目標(biāo)板Flash編程設(shè)計(jì)145.2 Cyclone及Cyclone II FPGA配置Cyclon
8、e 以及Cyclone IIFPGA使用SRAM單元來存儲配置數(shù)據(jù)。FPGA中的SRAM是易失性的,每次上電之前,配置數(shù)據(jù)(或壓縮的配置數(shù)據(jù))必須重新下載到FPGA中。下面的2個(gè)條件均可使FPGA產(chǎn)生一次配置請求:給FPGA重新上電;FPGA的nConfig引腳上產(chǎn)生一個(gè)低電平到高電平的上升沿。155.2 Cyclone及Cyclone II FPGA配置Cyclone及Cyclone II FPGA的配置方式包括:FPGA主動串行(AS)配置方式; FPGA被動(Passive)配置方式 ;JTAG配置方式 。用戶可以通過設(shè)置FPGA上的MSEL0、MESL1兩個(gè)引腳的狀態(tài)來選擇配置方式。各
9、種方式的MSEL0、MESL1設(shè)置如下表所列:165.2 Cyclone及Cyclone II FPGA配置MSEL1MSEL0配置方式備注00AS主動(串行配置器件)20MHz10快速AS主動(串行配置器件)40MHz,只限Cyclone II01PS被動(CPLD控制)00或1JTAG配置配置方式設(shè)置說明:在上表中,如果只采用一種配置方式,則可以直接將MSEL0、MESL1連接到VCC(注意要與FPGA的IO口的供電VCCIO相同)或GND;如果需要多種配置方式,那么MSEL要用控制器(單片機(jī)、CPLD等)來控制以進(jìn)行切換;MSEL管腳在配置開始前必須處于一個(gè)固定的狀態(tài),因此不能將MSEL
10、管腳懸空。175.2 Cyclone及Cyclone II FPGA配置另外,不同型號FPGA的配置文件大小不同,下表中列出了FPGA在不壓縮情況下二進(jìn)制配置文件(.rbf)的最大大小。設(shè)計(jì)者可以根據(jù)配置文件的大小來選擇合適的配置器件和其它存儲器。并可使用壓縮功能,來減小配置文件的大小。說明:同型號的FPGA配置文件會因所使用的單元不同而不同,配置文件越小下載速度和配置速度越快。185.2 Cyclone及Cyclone II FPGA配置器件類型器件型號數(shù)據(jù)大?。˙its)數(shù)據(jù)大?。˙ytes)CycloneEP1C3627,37678,422EP1C4924,512115,564EP1C6
11、1,167,216145,902EP1C122,326,528290,816EP1C203,559,608444,951Cyclone IIEP2C51,265,792152,998EP2C81,983,536247,974EP2C203,892,496486,562EP2C356,858,656857,332EP2C509,963,3921,245,424EP2C7014,319,2161,789,902Cyclone FPGA 二進(jìn)制文件(.rbf)大小19主動串行配置主動串行配置方式(AS)是將配置數(shù)據(jù)事先存儲在串行配置器件EPCS中,然后在系統(tǒng)上電時(shí)Cyclone及Cyclone II
12、 FPGA通過串行接口讀取配置數(shù)據(jù)(如果是壓縮數(shù)據(jù),還會進(jìn)行解壓縮處理)對內(nèi)部的SRAM單元進(jìn)行配置。因?yàn)樯鲜雠渲眠^程中FPGA控制配置接口,因此通常稱為主動配置方式。5.2 Cyclone及Cyclone II FPGA配置20主動串行配置主動串行配置的電路原理圖說明:因?yàn)镕PGA上的nSTATUS、CONFIG_DONE管腳都是開漏結(jié)構(gòu),所以都要接上拉電阻。FPGA的片選腳nCE必須接地。用于對EPCS的編程5.2 Cyclone及Cyclone II FPGA配置21主動串行配置復(fù)位配置初始化進(jìn)入用戶模式配置數(shù)據(jù)寫入到器件中器件內(nèi)部邏輯和寄存器初始化,I/O緩沖使能配置過程波形圖22主動
13、串行配置串行時(shí)鐘(DCLK)在配置結(jié)束后內(nèi)部振蕩器關(guān)閉。下表列出了DCLK的輸出頻率。對于Cyclone II FPGA,通過MSEL可以選擇時(shí)鐘為20MHz或40MHz。配置的時(shí)間與配置文件大小以及DCLK的頻率有關(guān),關(guān)于AS方式配置時(shí)間的估算請見下一小節(jié)。器件最小典型最大單位Cyclone141720MHzCyclone II1013202026405.2 Cyclone及Cyclone II FPGA配置23主動串行配置用戶可以在QuartusII軟件中選擇,用哪一個(gè)時(shí)鐘來進(jìn)行FPGA寄存器和用戶I/O口的初始化、以及是否在配置出錯(cuò)后重新開始配置等內(nèi)容。如下圖所示的彈出窗口:5.2 Cy
14、clone及Cyclone II FPGA配置功能服用引腳設(shè)置24主動串行配置(AS)的配置時(shí)間估算主動串行配置時(shí)間為串行配置器件數(shù)據(jù)傳送到FPGA的時(shí)間,這取決于DCLK的頻率以及配置文件的大小。以Cyclone EP1C6器件為例,非壓縮的.rbf格式配置文件的大小為1167216位、DCLK最低頻率為14MHz(71ns),則最大配置時(shí)間為:1167216*71ns82872336ns83ms當(dāng)DCLK的典型頻率為17MHz(59ns)時(shí),配置時(shí)間為:1167216*59ns=68865744ns 69ms5.2 Cyclone及Cyclone II FPGA配置25主動串行配置(AS)
15、的配置時(shí)間估算如果允許配置數(shù)據(jù)壓縮,由于配置時(shí)要對數(shù)據(jù)進(jìn)行解壓縮,需要增加配置時(shí)間,一般要增加50的配置時(shí)間,即EP1C6器件在采用壓縮數(shù)據(jù)進(jìn)行配置時(shí)需要約103.5ms的時(shí)間。此外,在配置完成后緊接著的FPGA寄存器和用戶I/O口初始化也需要消耗一定的時(shí)間(Cyclone為136個(gè)時(shí)鐘周期,Cyclone II為299個(gè)時(shí)鐘周期),當(dāng)不采用CLKUSR管腳時(shí)鐘,而使用FPGA內(nèi)部10MHz時(shí)鐘時(shí),Cyclone EP1C6消耗13.6us的初始化時(shí)間。5.2 Cyclone及Cyclone II FPGA配置26JTAG配置通過JTAG接口,利用Quartus II軟件可以直接對FPGA進(jìn)行
16、單獨(dú)的硬件重新配置。Quartus II軟件在編譯時(shí)會自動生成用于JTAG配置的.sof文件。如果同時(shí)使用AS方式和JTAG方式來配置FPGA,JTAG配置方式擁有最高的優(yōu)先級,此時(shí)AS方式將停止,而執(zhí)行JTAG方式配置。5.2 Cyclone及Cyclone II FPGA配置JTAG配置的電路原理圖27JTAG配置5.2 Cyclone及Cyclone II FPGA配置管腳描述功 能TDI測試數(shù)據(jù)輸入指令、測試以及編程數(shù)據(jù)的串行輸入。數(shù)據(jù)在TCK的上升沿移入。如果電路板上的JTAG不需要,可以將該管腳連接到VCC。TDO測試數(shù)據(jù)輸出指令、測試以及編程數(shù)據(jù)的串行輸出。數(shù)據(jù)在TCK的下降沿移
17、出。在沒有數(shù)據(jù)移出時(shí),該管腳是高阻態(tài)。如果電路板上的JTAG不需要,可以不連接該管腳。TMS測試模式選擇控制信號輸入管腳,控制信號決定測試訪問端口控制狀態(tài)的轉(zhuǎn)換。狀態(tài)的轉(zhuǎn)換出現(xiàn)在TCK的上升沿。因此,TMS必須在TCK上升沿之前建立。如果電路板上的JTAG不需要,可以將該管腳連接到VCC。TCK測試時(shí)鐘輸入邊界掃描測試(BST)電路的時(shí)鐘輸入。一些操作發(fā)生在其上升沿,一些發(fā)生在下降沿。如果電路板上的JTAG不需要,可以將該管腳連接到GND。28JTAG配置利用Quartus II軟件和USB Blaster、ByteBlaster II等下載電纜可下載配置數(shù)據(jù)到FPGA。Quartus II軟
18、件可以驗(yàn)證JTAG配置是否成功。JTAG配置通過下載電纜使用SOF、Jam或者JBC文件直接對FPGA進(jìn)行配置,這種配置方式只能用于調(diào)試階段,因?yàn)?,掉電后FPGA中的配置數(shù)據(jù)將丟失。 5.2 Cyclone及Cyclone II FPGA配置ByteBlaster IIUSB Blaster29第5章 目錄5.1 FPGA配置 5.2 Cyclone及Cyclone II FPGA配置5.3 配置芯片5.4 配置的軟件設(shè)置5.5 配置文件5.6 配置可靠性及電路設(shè)計(jì)注意事項(xiàng)5.7 下載配置文件到FPGA5.8 下載配置文件到EPCS5.9 IDE Flash Programmer介紹5.10
19、用戶程序引導(dǎo)5.11 使用IDE Flash Programmer 編程5.12 創(chuàng)建目標(biāo)板Flash編程設(shè)計(jì)30Altera FPGA的配置芯片可以分為3類:增強(qiáng)型配置器件:EPC16、EPC8、EPC4;主動串行配置器件:EPCS64、EPCS16、EPCS4和EPCS1;普通配置器件:EPC2、EPC1、EPC1441。5.3 配置芯片315.3 配置芯片器件存儲容量(bits)片上解壓縮支持在系統(tǒng)編程(ISP)支持可重編程操作電壓(V)EPC1616,777,216YesYesYes3.3EPC88,388,608YesYesYes3.3EPC44,194,304YesYesYes3.
20、3EPCS6467,108,864 NoNoYes3.3EPCS1616,777,216 NoNoYes3.3EPCS44,194,304NoNoYes3.3EPCS11,048,576NoNoYes3.3EPC21,695,680NoYesYes3.3或5EPC11,046,496NoNoNo3.3或5EPC1441440,800NoNoNo3.3或5各配置芯片的屬性如下表所示:32第5章 目錄5.1 FPGA配置 5.2 Cyclone及Cyclone II FPGA配置5.3 配置芯片5.4 配置的軟件設(shè)置5.5 配置文件5.6 配置可靠性及電路設(shè)計(jì)注意事項(xiàng)5.7 下載配置文件到FPGA
21、5.8 下載配置文件到EPCS5.9 IDE Flash Programmer介紹5.10 用戶程序引導(dǎo)5.11 使用IDE Flash Programmer 編程5.12 創(chuàng)建目標(biāo)板Flash編程設(shè)計(jì)335.4 配置的軟件設(shè)置配置方式及配置芯片選擇在Quartus II軟件中,可以設(shè)置配置方式和配置芯片。配置選項(xiàng)卡345.4 配置的軟件設(shè)置配置方式及配置芯片選擇在Quartus II軟件中,可以設(shè)置配置方式和配置芯片。配置方式(AS、PS)選擇配置模式(本地或遠(yuǎn)程)選擇配置器件(EPCS系列、EPC系列)壓縮配置選項(xiàng)卡355.4 配置的軟件設(shè)置復(fù)用配置引腳處理當(dāng)用戶選擇了一種配置方式后,在【
22、Dual-Purpose Pins】選項(xiàng)卡中將自動把這種方式下可復(fù)用為IO口的管腳列出。用戶可選擇如何處理這些引腳。復(fù)用配置引腳處理365.4 配置的軟件設(shè)置復(fù)用配置引腳處理【General】選項(xiàng)卡,用于有關(guān)于配置的通用選項(xiàng)。功能復(fù)用引腳設(shè)置37第5章 目錄5.1 FPGA配置 5.2 Cyclone及Cyclone II FPGA配置5.3 配置芯片5.4 配置的軟件設(shè)置5.5 配置文件5.6 配置可靠性及電路設(shè)計(jì)注意事項(xiàng)5.7 下載配置文件到FPGA5.8 下載配置文件到EPCS5.9 IDE Flash Programmer介紹5.10 用戶程序引導(dǎo)5.11 使用IDE Flash Pr
23、ogrammer 編程5.12 創(chuàng)建目標(biāo)板Flash編程設(shè)計(jì)385.5 配置文件配置文件的格式Quartus II開發(fā)軟件能生成一個(gè)或多個(gè)用于配置電路的配置文件。SRAM目標(biāo)文件(.sof).sof文件一般是在調(diào)試時(shí)通過下載電纜和JTAG直接下載到FPGA中的SRAM中。SOF文件在Quattus II軟件編譯時(shí)自動生成。所有其他配置文件都是由SOF文件轉(zhuǎn)換生成的。395.5 配置文件配置文件的格式Quartus II開發(fā)軟件能生成一個(gè)或多個(gè)用于配置電路的配置文件。編程目標(biāo)文件(.pof).pof文件用于對各種Altera配置芯片進(jìn)行編程。當(dāng)在Quartus II中設(shè)置好配置芯片類型后,軟件會
24、在編譯時(shí)為用戶生成對應(yīng)器件類型的POF文件。多個(gè)FPGA的sof文件可放到一個(gè)POF文件中,形成一個(gè)配置文件。Quartus II也可以將配置文件分到幾個(gè)配置芯片中。405.5 配置文件配置文件的格式Quartus II開發(fā)軟件能生成一個(gè)或多個(gè)用于配置電路的配置文件。原始二進(jìn)制文件(.rbf)RBF是原始二進(jìn)制配置數(shù)據(jù)的文件,只包含配置數(shù)據(jù)的內(nèi)容。RBF文件通常被用于外部帶微處理器的配置電路中。在被動配置方式(PS)時(shí),可以將.rbf文件存儲在大容量存儲器中(如NOR Flash),然后通過微控制器讀取二進(jìn)制數(shù)據(jù)并裝載到FPGA中去。415.5 配置文件配置文件的格式Quartus II開發(fā)軟
25、件能生成一個(gè)或多個(gè)用于配置電路的配置文件。原始編程數(shù)據(jù)文件(.rpd)RPD是包含Cyclone器件二進(jìn)制位流配置數(shù)據(jù)的二進(jìn)制文件。該文件存儲在串行配置器件中,用于帶嵌入式處理器環(huán)境,但在Quartus II軟件以外Cyclone FPGA主動配置方式的配置。RPD文件的大小等于目標(biāo)串行配置器件存儲容量大小。但不同于RBF文件,它只給單一的配置器件提供配置。每個(gè)字節(jié)的低位LSB應(yīng)先寫入串行配置器件。425.5 配置文件配置文件的格式Quartus II開發(fā)軟件能生成一個(gè)或多個(gè)用于配置電路的配置文件。十六進(jìn)制文件(.hex)HEX文件是Intel HEX格式的ASCII文件。微控制器或外部主機(jī)可
26、使用HEX文件來存儲和傳送配置數(shù)據(jù)。該文件也可以用于第三方的編程器對Altera公司的配置器件進(jìn)行編程。435.5 配置文件配置文件的格式Quartus II開發(fā)軟件能生成一個(gè)或多個(gè)用于配置電路的配置文件。文本列表文件(.ttf)文本列表文件是一種提供了逗號分隔的列表ASCII文件。TTF文件可以允許用戶將配置數(shù)據(jù)以包含或源命令行的形式作為微控制器的源代碼,微控制器能從配置器件和大容量存儲器中訪問這些數(shù)據(jù)并下載到目標(biāo)器件(FPGA)。445.5 配置文件配置文件的格式Quartus II開發(fā)軟件能生成一個(gè)或多個(gè)用于配置電路的配置文件。JAM文件(.jam)JAM文件是用來存儲器件編程信息的AS
27、CII文本文件。這些文件在QusrtusII編程器和帶嵌入式處理器的環(huán)境中常用于一個(gè)或多個(gè)器件的編程、校驗(yàn)、查空。455.5 配置文件配置文件的格式Quartus II開發(fā)軟件能生成一個(gè)或多個(gè)用于配置電路的配置文件。字節(jié)編碼文件(.jbc)JBC文件是同JAM文件內(nèi)容一樣的二進(jìn)制文件。此外還有串行位流文件(.sbf)是用于FLEX 10K和FLEX6000器件的配置。465.5 配置文件配置文件設(shè)置和轉(zhuǎn)換Quartus II軟件中指定生成哪種格式的配置文件。配置過程波形圖475.5 配置文件配置文件設(shè)置和轉(zhuǎn)換用Quartus II軟件可對SOF和POF文件進(jìn)行轉(zhuǎn)換,生成其它格式的文件。編程文件
28、的轉(zhuǎn)換485.5 配置文件配置文件設(shè)置和轉(zhuǎn)換SOF文件RBF文件轉(zhuǎn)換步驟如下: 編程文件的轉(zhuǎn)換495.5 配置文件配置文件的壓縮Quartus II 為Cyclone、Cyclone II以及StratixII提供了配置數(shù)據(jù)可壓縮特性,用戶可以為FPGA選擇容量較小的EPCS器件,以節(jié)省成本。ALTERA給出對配置數(shù)據(jù)的壓縮率可達(dá)到35到60%。當(dāng)在Quartus II軟件中使能壓縮特性時(shí),軟件自動采用壓縮配置數(shù)據(jù)來生成POF配置文件。通過壓縮后的配置文件減小了對配置器件或Flash的存儲空間需求。505.5 配置文件配置文件的壓縮有兩種方法來使用壓縮特性:在用戶設(shè)計(jì)編譯前,可在編譯設(shè)置菜單中
29、來選擇壓縮特性;在用戶設(shè)計(jì)編譯后,可利用File菜單中的文件轉(zhuǎn)換器Convet Programming Files進(jìn)行壓縮。通過文件轉(zhuǎn)換可利用SOF文件生成各種格式的壓縮文件。515.5 配置文件配置文件的壓縮方法一:編譯前選擇壓縮特性方法二:用文件轉(zhuǎn)換器進(jìn)行壓縮52第5章 目錄5.1 FPGA配置 5.2 Cyclone及Cyclone II FPGA配置5.3 配置芯片5.4 配置的軟件設(shè)置5.5 配置文件5.6 配置可靠性及電路設(shè)計(jì)注意事項(xiàng)5.7 下載配置文件到FPGA5.8 下載配置文件到EPCS5.9 IDE Flash Programmer介紹5.10 用戶程序引導(dǎo)5.11 使用I
30、DE Flash Programmer 編程5.12 創(chuàng)建目標(biāo)板Flash編程設(shè)計(jì)535.6 配置可靠性及電路設(shè)計(jì)注意事項(xiàng)配置的可靠性Altera的FPGA結(jié)構(gòu)中設(shè)計(jì)了一些保護(hù)電路來減小電源上電和數(shù)據(jù)噪聲的影響,使基于SRAM工藝的FPGA可靠性大大提高。為了提供可靠性主要采取了以下幾個(gè)方面:1在配置過程中,采用CRC電路對輸入到FPGA中的每一幀配置數(shù)據(jù)進(jìn)行校驗(yàn),確保配置數(shù)據(jù)的正確性;2Altera FPGA提供了保護(hù)電路要求在系統(tǒng)在掉電后重新配置,以保證FPGA在系統(tǒng)掉電時(shí)的高可靠性。545.6 配置可靠性及電路設(shè)計(jì)注意事項(xiàng)電路設(shè)計(jì)注意事項(xiàng)在配置電路設(shè)計(jì)時(shí),通常應(yīng)該注意下面幾點(diǎn):1在設(shè)計(jì)D
31、CLK和TCK時(shí),要將其當(dāng)作高速的時(shí)鐘信號來處理;2在有多片F(xiàn)PGA配置鏈中,一般建議將各片F(xiàn)PGA的DCLK、DATA0(DATA7.0、nCONFIG、nSTATUS、和CONF_DONE信號連在一起。這樣可以確保各FPGA配置同時(shí)開始和結(jié)束;3確保FPGA配置管腳的電平和配置器件的電平兼容;4確保所有配置管腳按照FPGA的數(shù)據(jù)手冊進(jìn)行連接。55第5章 目錄5.1 FPGA配置 5.2 Cyclone及Cyclone II FPGA配置5.3 配置芯片5.4 配置的軟件設(shè)置5.5 配置文件5.6 配置可靠性及電路設(shè)計(jì)注意事項(xiàng)5.7 下載配置文件到FPGA5.8 下載配置文件到EPCS5.9
32、 IDE Flash Programmer介紹5.10 用戶程序引導(dǎo)5.11 使用IDE Flash Programmer 編程5.12 創(chuàng)建目標(biāo)板Flash編程設(shè)計(jì)565.7 下載配置文件到FPGA要使用JTAG下載配置數(shù)據(jù)到FPGA,首先要生成可用于JTAG下載的配置數(shù)據(jù)文件,這些配置數(shù)據(jù)文件包括:.sof、.Jam以及.JBC。一般來說,JTAG方式利用SOF文件即可,JAM和JBC可以不用。利用JATG接口和ByteBlasterII電纜下載配置數(shù)據(jù)到FPGA的過程,如下:575.7 下載配置文件到FPGAJTAG下載配置數(shù)據(jù)過程585.7 下載配置文件到FPGAByteBlaster
33、 II 下載電纜安裝59第5章 目錄5.1 FPGA配置 5.2 Cyclone及Cyclone II FPGA配置5.3 配置芯片5.4 配置的軟件設(shè)置5.5 配置文件5.6 配置可靠性及電路設(shè)計(jì)注意事項(xiàng)5.7 下載配置文件到FPGA5.8 下載配置文件到EPCS5.9 IDE Flash Programmer介紹5.10 用戶程序引導(dǎo)5.11 使用IDE Flash Programmer 編程5.12 創(chuàng)建目標(biāo)板Flash編程設(shè)計(jì)605.8 下載配置文件到EPCS使用AS方式對Cyclone FPGA配置前,必須將配置文件寫入串行配置器件EPCS。寫入的方法有3種:在QuartusII的P
34、rogrammer中,通過專門與EPCS連接的AS下載接口來下載.pof文件到EPCS;在QuartusII的Programmer中,使用JTAG接口,通過FPGA中間通道來間接對EPCS進(jìn)行編程;使用Nios II IDE中的Flash Programmer對EPCS進(jìn)行編程。615.8 下載配置文件到EPCSAS接口的EPCS直接編程利用ByteBlasterII、AS接口、.pof配置文件以及QuartusII的Programmer可直接對EPCS進(jìn)行編程,這種方式速度快,但需要專門的AS接口。下載過程如下:625.8 下載配置文件到EPCSEPCS的AS編程635.8 下載配置文件到E
35、PCSJTAG接口的EPCS間接編程JTAG接口的EPCS間接編程是指利用Quartus II的Programmer、FPGA的JTAG接口以及Altera提供的用于編程時(shí)配置FPGA的Serial FlashLoader(SFL)來對EPCS進(jìn)行編程。EPCS編程示意圖(a) 傳統(tǒng)通過AS接口對AS接口對EPCS編程(a) 通過SFL和JTAG接口對EPCS編程645.8 下載配置文件到EPCS利用JTAG和SFL對EPCS的編程過程示意圖.jic或.jam655.8 下載配置文件到EPCSSOF文件轉(zhuǎn)換為JIC文件SOF文件轉(zhuǎn)換為JIC文件的過程如下所示:665.8 下載配置文件到EPCS
36、文件轉(zhuǎn)換對話框675.8 下載配置文件到EPCS選擇器件685.8 下載配置文件到EPCS選擇添加被轉(zhuǎn)換文件695.8 下載配置文件到EPCS設(shè)置轉(zhuǎn)換配置文件壓縮窗口705.8 下載配置文件到EPCSJIC文件轉(zhuǎn)換為JAM文件要使用JAM文件,用戶必須首先將SOF文件轉(zhuǎn)換為JIC文件,然后再將JIC文件轉(zhuǎn)換為JAM文件。轉(zhuǎn)換步驟如下:715.8 下載配置文件到EPCS選擇添加進(jìn)行轉(zhuǎn)換的JIC文件725.8 下載配置文件到EPCS735.8 下載配置文件到EPCSJIC和JAM文件的內(nèi)容SFL的配置映像。這個(gè)配置映像是在文件轉(zhuǎn)換時(shí)當(dāng)用戶選擇目標(biāo)FPGA時(shí)(見圖5.21)由QuartusII軟件創(chuàng)
37、建的;在對串行配置器件進(jìn)行編程之前,SFL配置映像要對FPGA進(jìn)行配置;串行配置器件的配置數(shù)據(jù)。這個(gè)配置數(shù)據(jù)來源于用戶選擇的SOF文件,在編程過程中這些配置數(shù)據(jù)將被寫入串行配置器件EPCS。745.8 下載配置文件到EPCS使用JIC文件和Quartus II Programmer對EPCS編程通過前面的方法將SOF文件轉(zhuǎn)換成JIC文件??梢岳肑IC文件和Qusrtus II Programmer 對串行配置器件EPCS進(jìn)行編程,步驟如下:選中SFL映像對FPGA進(jìn)行配置選中配置數(shù)據(jù)寫入EPCS開始編程使用JIC和Quartus II Progrmmer 進(jìn)行EPCS編程755.8 下載配置
38、文件到EPCS使用JAM文件和Quartus II Programmer對EPCS編程JIC文件轉(zhuǎn)成JAM文件,可以利用JAM文件和Quartus II Programmer對串行配置器件EPCS進(jìn)行編程,步驟如下:使用JAM和Quartus II Progrmmer 進(jìn)行EPCS編程76第5章 目錄5.1 FPGA配置 5.2 Cyclone及Cyclone II FPGA配置5.3 配置芯片5.4 配置的軟件設(shè)置5.5 配置文件5.6 配置可靠性及電路設(shè)計(jì)注意事項(xiàng)5.7 下載配置文件到FPGA5.8 下載配置文件到EPCS5.9 IDE Flash Programmer介紹5.10 用戶程
39、序引導(dǎo)5.11 使用IDE Flash Programmer 編程5.12 創(chuàng)建目標(biāo)板Flash編程設(shè)計(jì)775.9 IDE Flash Programmer介紹Nios II IDE 提供了Flash Programer工具來對目標(biāo)板上遵守CFI(common flash interface)規(guī)范的Flash進(jìn)行編程。IDE的Flash Programer通過使用Altera的下載電纜能夠方便的對目標(biāo)板上連接在FPGA上的Flash進(jìn)行編程。IDE的Flash Programer除了能對連接在FPGA上的Flash進(jìn)行編程外,還能對連接在FPGA上的串行配置器件EPCS進(jìn)行編程。785.9 I
40、DE Flash Programmer介紹IDE Flash Programmer編程工作過程IDE Flash Programmer通過2個(gè)過程將數(shù)據(jù)寫入Flash。第一步:使用Flash編程設(shè)計(jì)對FPGA進(jìn)行配置第二步:傳送編程內(nèi)容到Flash器件795.9 IDE Flash Programmer介紹Flash編程設(shè)計(jì)Flash編程設(shè)計(jì)實(shí)際就是一個(gè)由SOPC Builder系統(tǒng)生成的最小FPGA設(shè)計(jì)。Flash編程設(shè)計(jì)是IDE Flash Programmer的關(guān)鍵組成部分。除此之外,還必須包括:與主機(jī)(PC機(jī))通訊的JTAG接口;由主機(jī)提供的寫入Flash的編程數(shù)據(jù)。不同的電路板(目標(biāo)
41、板)往往使用不同的Flash器件,并且Flash與FPGA的管腳連接及FPGA型號也不相同。因此,每個(gè)Flash編程設(shè)計(jì)都與具體的目標(biāo)板相聯(lián)系,不能用于其它的目標(biāo)板。805.9 IDE Flash Programmer介紹目標(biāo)板Flash編程設(shè)計(jì)一個(gè)目標(biāo)板Flash編程設(shè)計(jì)是一組SOPC Builder文件,這些文件包含了用戶使用電路板的一些特有信息,其中必須指明FPGA與Flash的連接關(guān)系。包含下列信息:每一個(gè)連接到電路板FPGA上的Flash的參考元件標(biāo)號,如U7;Flash器件在Flash編程設(shè)計(jì)中的基地址;主機(jī)上用于配置電路板上FPGA的Flash編程設(shè)計(jì)的SOF文件。參考元件標(biāo)號用
42、于區(qū)分設(shè)計(jì)中不同的Flash器件。電路板上的Flash器件在設(shè)計(jì)時(shí)的命名和基地址可能不同,但參考元件標(biāo)號總是相同的。815.9 IDE Flash Programmer介紹Flash編程內(nèi)容的類型用戶軟件:由NIOSII IDE生成,以.elf為后綴,將用戶軟件寫入Flash;FPGA的配置數(shù)據(jù):以.sof為后綴,NIOS II IDE允許用戶使用FPGA配置數(shù)據(jù)對Flash進(jìn)行編程;任意內(nèi)容:指所有用戶想寫入FLASH中的二進(jìn)制類型數(shù)據(jù)文件(.bin),例如:圖片,聲音等。825.9 IDE Flash Programmer介紹Flash文件所有要通過IDE Programmer寫入Flas
43、h中的數(shù)據(jù)文件都要轉(zhuǎn)換為能被Flash Programmer讀取的.flash文件。Flash文件通過其后綴.flash來識別。IDE Flash Programmer在后臺提供了elf2flash、sof2flash、bin2flash三個(gè)命令來分別將這三種文件轉(zhuǎn)換為flash文件,這三個(gè)命令在IDE Flash Programmer后臺自動調(diào)用執(zhí)行而不需用戶干預(yù),當(dāng)然用戶也可以在Nios II SDK shell中通過命令行來執(zhí)行文件轉(zhuǎn)換。83第5章 目錄5.1 FPGA配置 5.2 Cyclone及Cyclone II FPGA配置5.3 配置芯片5.4 配置的軟件設(shè)置5.5 配置文件5
44、.6 配置可靠性及電路設(shè)計(jì)注意事項(xiàng)5.7 下載配置文件到FPGA5.8 下載配置文件到EPCS5.9 IDE Flash Programmer介紹5.10 用戶程序引導(dǎo)5.11 使用IDE Flash Programmer 編程5.12 創(chuàng)建目標(biāo)板Flash編程設(shè)計(jì)84FPGA5.10 用戶程序引導(dǎo)用戶程序可以存放在Flash中,也可以存放在EPCS,因此用戶程序可以從Flash引導(dǎo),也可以從EPCS中引導(dǎo)。用戶程序FlashEPCS用戶程序用戶引導(dǎo)程序855.10 用戶程序引導(dǎo)從CFI Flash引導(dǎo)FPGA上電或復(fù)位配置成功后,如果配置中包含的Nios II處理器復(fù)位地址指向Flash的地
45、址空間,那么程序?qū)腇lash引導(dǎo)。SOPC Builder指定復(fù)位地址為Flash865.10 用戶程序引導(dǎo)從串行配置器件EPCS引導(dǎo)如果使用串行配置器件EPCS,且配置數(shù)據(jù)的容量小于EPCS的容量,那么剩余的存儲空間可用來存放用戶程序。EPCS控制器結(jié)構(gòu)框圖Boot-LoaderROMEPCS控制器配置存儲空間通用存儲空間EPCS配置器件Avalon總線NiosIICPU片內(nèi)外設(shè)Altera FPGA存儲FPGA配置數(shù)據(jù)剩余空間可用于存儲用戶非易失性數(shù)據(jù)。1KB的片內(nèi)存儲器875.10 用戶程序引導(dǎo)從串行配置器件EPCS引導(dǎo)IDE的Flash Programmer能將配置數(shù)據(jù)文件(.sof
46、)和用戶程序(.elf)寫入到EPCS中。當(dāng)用戶程序存放在EPCS中時(shí),如果想從EPCS中引導(dǎo)程序,在SOPC Builder中必須添加EPCS控制器,且必須在SOPC Builder中指定Nios II處理器的復(fù)位地址指向EPCS控制器(epcs_controller)。885.10 用戶程序引導(dǎo)從串行配置器件EPCS引導(dǎo)SOPC Builder指定復(fù)位地址為epcs_controller895.10 用戶程序引導(dǎo)引導(dǎo)復(fù)制程序(Boot-copier Program)Alter提供了引導(dǎo)復(fù)制程序,它能根據(jù)用戶在IDE中設(shè)置的用戶程序文件(.elf)連接地址來重新裝載程序,然后跳過.elf文件
47、的連接地址執(zhí)行程序。引導(dǎo)復(fù)制程序是IDE Flash Programmer在后臺執(zhí)行elf2flash命令時(shí)判斷并自動加入完成的。Boot CopierMy_sw.elfMy_sw.flash加入Boot Copier 示意圖905.10 用戶程序引導(dǎo)用戶程序ELF文件連接設(shè)置在Nios II IDE中工程的屬性頁控制了工程中的程序與硬件系統(tǒng)的相互影響關(guān)系以及IDE怎樣編譯連接該應(yīng)用工程。用戶IDE工程庫屬性設(shè)置對話框局部圖915.10 用戶程序引導(dǎo)用戶程序引導(dǎo)小結(jié)通過SOPC Builder和IDE用戶工程庫屬性頁中的不同設(shè)置,可實(shí)現(xiàn)用戶程序的不同引導(dǎo)和在不同存儲空間運(yùn)行,現(xiàn)總結(jié)于下表。SO
48、PC Builder中Reset AddressIDE中.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)92第5章 目錄5.1 FPGA配置 5
49、.2 Cyclone及Cyclone II FPGA配置5.3 配置芯片5.4 配置的軟件設(shè)置5.5 配置文件5.6 配置可靠性及電路設(shè)計(jì)注意事項(xiàng)5.7 下載配置文件到FPGA5.8 下載配置文件到EPCS5.9 IDE Flash Programmer介紹5.10 用戶程序引導(dǎo)5.11 使用IDE Flash Programmer 編程5.12 創(chuàng)建目標(biāo)板Flash編程設(shè)計(jì)935.11 使用IDE Flash Programmer 編程選擇目標(biāo)板Flash編程設(shè)計(jì)945.11 使用IDE Flash Programmer 編程從SOPC Builder啟動 Nios II IDE編譯連接用戶
50、工程建立軟件工程后,進(jìn)行編譯連接955.11 使用IDE Flash Programmer 編程打開IDE Flash ProgrammerFlash Programmer 對話框啟動Flash Programmmer界面965.11 使用IDE Flash Programmer 編程Flash Programmer 對話框97第5章 目錄5.1 FPGA配置 5.2 Cyclone及Cyclone II FPGA配置5.3 配置芯片5.4 配置的軟件設(shè)置5.5 配置文件5.6 配置可靠性及電路設(shè)計(jì)注意事項(xiàng)5.7 下載配置文件到FPGA5.8 下載配置文件到EPCS5.9 IDE Flash
51、Programmer介紹5.10 用戶程序引導(dǎo)5.11 使用IDE Flash Programmer 編程5.12 創(chuàng)建目標(biāo)板Flash編程設(shè)計(jì)985.12 創(chuàng)建目標(biāo)板Flash編程設(shè)計(jì)目標(biāo)板編程設(shè)計(jì)對Flash編程必不可少,其提供了Flash Programmer對Flash進(jìn)行編程所需的全部信息,包括Flash的容量以及flash的引腳連接等等。目標(biāo)板Flash編程設(shè)計(jì)包含下列內(nèi)容:每個(gè)在電路板上連接到FPGA的Flash芯片上的參考標(biāo)號;Flash芯片在Flash編程設(shè)計(jì)中的基地址 ;一個(gè)針對用戶板,經(jīng)過裁剪的Flash編程設(shè)計(jì);一個(gè)用戶板的Flash編程設(shè)計(jì)的配置文件(.sof ) 。
52、只有Nios 開發(fā)套件 7.1版本以下才需要用戶自己創(chuàng)建目標(biāo)板Flash編程設(shè)計(jì)。Nios 7.1及其以上版本已經(jīng)集成,用戶編譯完 即可自動下載。995.12 創(chuàng)建目標(biāo)板Flash編程設(shè)計(jì)一個(gè)用戶板包含下列文件:class.ptf-描述連接到FPGA的Flash,并且指出用戶板Flash編程設(shè)計(jì)的存放位置;.ptf-Flash編程設(shè)計(jì)的SOPC Builder系統(tǒng)文件;.qpf-Flash編程設(shè)計(jì)的Quartus II工程文件;.sof-Flash編程設(shè)計(jì)的FPGA配置文件。1005.12 創(chuàng)建目標(biāo)板Flash編程設(shè)計(jì)每一個(gè)Flash編程設(shè)計(jì)都包含下列元件:Nios II CPU;JTAG UART;如果采用EPCS串行配置器件,則需要Active serial memory interface(ASMI);Tri-state bridge;CF
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年圓弧槽形倒邊磨輪項(xiàng)目投資價(jià)值分析報(bào)告
- 2025至2030年雙頭螺柱項(xiàng)目投資價(jià)值分析報(bào)告
- 2025年標(biāo)準(zhǔn)軸承項(xiàng)目可行性研究報(bào)告
- 二零二五年編劇助理及場記職務(wù)聘用協(xié)議書13篇
- 2025至2030年六帶燙平機(jī)項(xiàng)目投資價(jià)值分析報(bào)告
- 2025年度內(nèi)控制度培訓(xùn)與執(zhí)行指導(dǎo)服務(wù)合同
- 二零二五年度企業(yè)貸款股東動產(chǎn)抵押擔(dān)保合同范本
- 2025年全球及中國人形機(jī)器人無框力矩電機(jī)行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報(bào)告
- 2025年全球及中國工業(yè)一體式觸控平板電腦行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報(bào)告
- 2025-2030全球后裝載機(jī)卡車行業(yè)調(diào)研及趨勢分析報(bào)告
- 2024年度碳陶剎車盤分析報(bào)告
- 四川省綿陽市2025屆高三上學(xué)期第二次診斷性考試語文試題(含答案)
- 2025年1月 浙江首考英語試卷
- 2025年1月廣西2025屆高三調(diào)研考試英語試卷(含答案詳解)
- 質(zhì)檢工作計(jì)劃書2025質(zhì)檢部工作計(jì)劃范文
- 《復(fù)旦大學(xué)》課件
- 承包魚塘維修施工合同范例
- 2024年遼寧鐵道職業(yè)技術(shù)學(xué)院高職單招(英語/數(shù)學(xué)/語文)筆試歷年參考題庫含答案解析
- 勞動防護(hù)用品知識考試試題(含答案)
- 高中教師業(yè)務(wù)知識考試 數(shù)學(xué)試題及答案
- GB/T 9290-2008表面活性劑工業(yè)乙氧基化脂肪胺分析方法
評論
0/150
提交評論