fpga和flash編程_第1頁
已閱讀1頁,還剩92頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第5章 FPGA配置和Flash編程,本章將首先介紹FPGA配置方式和配置過程,然后簡單介紹了配置芯片、配置文件的種類以及配置電路設(shè)計要點,本章最后講述了配置文件下載、Flash編程等方面的內(nèi)容,其中Flash編程包括Flash的編程、EPCS的編程。,主要內(nèi)容,第5章 目錄,5.1 FPGA配置 5.2 Cyclone及Cyclone II FPGA配置5.3 配置芯片5.4 配置的軟件設(shè)置

2、5.5 配置文件5.6 配置可靠性及電路設(shè)計注意事項5.7 下載配置文件到FPGA5.8 下載配置文件到EPCS5.9 IDE Flash Programmer介紹5.10 用戶程序引導5.11 使用IDE Flash Programmer 編程,第5章 目錄,5.1 FPGA配置 5.2 Cyclone及Cyclone II FPGA配置5.3 配置芯片5.4 配置的軟件

3、設(shè)置5.5 配置文件5.6 配置可靠性及電路設(shè)計注意事項5.7 下載配置文件到FPGA5.8 下載配置文件到EPCS5.9 IDE Flash Programmer介紹5.10 用戶程序引導5.11 使用IDE Flash Programmer 編程,5.1 FPGA配置,,,,配置(configuration)是對FPGA的內(nèi)容進行編程的過程。每次上電后都需要進行配置是基于SRAM工藝FPGA的一個特點,也

4、可以說是一個缺點。FPGA配置過程如下:,外部電路將配置數(shù)據(jù)載入片內(nèi)配置RAM中,,,外部電路,,FPGA配置完成,配置RAM,配置RAM中的配置數(shù)據(jù):用于控制FPGA內(nèi)部可編程的內(nèi)部邏輯、內(nèi)部寄存器和I/O引腳初始化,I/O驅(qū)動器使能等。之后FPGA進入用戶模式。,,,,5.1 FPGA配置,,,FPGA配置方式根據(jù)FPGA在配置電路中的角色,可以將配置方式分為三類:1.FPGA主動串行(AS)方式 2. JTAG方式 3

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

6、主動串行(AS)方式,,1,下載工具或智能主機,,,JTAG方式,2,,,,FPGA僅輸出響應信號,,FPGA被動(Passive)方式,3,,被動方式可分為下列幾種方式: 被動串行方式(PS) 快速被動并行(FPP)方式 被動并行異步(PPA)方式 被動并行同步(PPS)方式 被動串行異步(PSA)方式,,5.1 FPGA配置,,,Altera F

7、PGA配置方式列表,5.1 FPGA配置,,,Cyclone FPGA配置方式表,5.1 FPGA配置,,FPGA配置過程FPGA的配置包括3各階段:復位、配置和初始化。,,,,復位,配置,初始化,進入用戶模式,,,,,,,配置過程波形圖,5.1 FPGA配置,,FPGA配置過程FPGA的配置包括3各階段:復位、配置和初始化。,,,,復位,配置,初始化,進入用戶模式,,,,,,,,,,配置數(shù)據(jù)寫入到器件中,,器件內(nèi)部邏輯和寄存器

8、初始化,I/O緩沖使能,,配置過程波形圖,,FPGA配置過程,,FPGA 配置流程圖,第5章 目錄,5.1 FPGA配置 5.2 Cyclone及Cyclone II FPGA配置5.3 配置芯片5.4 配置的軟件設(shè)置5.5 配置文件5.6 配置可靠性及電路設(shè)計注意事項5.7 下載配置文件到FPGA5.8 下載配置文件到EPCS5.9 IDE Flash Programmer介紹

9、5.10 用戶程序引導5.11 使用IDE Flash Programmer 編程,5.2 Cyclone及Cyclone II FPGA配置,,,,Cyclone 以及Cyclone II FPGA使用SRAM單元來存儲配置數(shù)據(jù)。FPGA中的SRAM是易失性的,每次上電之前,配置數(shù)據(jù)(或壓縮的配置數(shù)據(jù))必須重新下載到FPGA中。下面的2個條件均可使FPGA產(chǎn)生一次配置請求:給FPGA重新上電;FPGA的nConfig引腳

10、上產(chǎn)生一個低電平到高電平的上升沿。,5.2 Cyclone及Cyclone II FPGA配置,,,,Cyclone及Cyclone II FPGA的配置方式包括:FPGA主動串行(AS)配置方式; FPGA被動串行(PS)配置方式 ;JTAG配置方式 。用戶可以通過設(shè)置FPGA上的MSEL0、MESL1兩個引腳的狀態(tài)來選擇配置方式。各種方式的MSEL0、MESL1設(shè)置如下表所列:,5.2 Cyclone及Cyclone

11、II FPGA配置,,,配置方式設(shè)置,說明:在上表中,如果只采用一種配置方式,則可以直接將MSEL0、MESL1連接到VCC(注意要與FPGA的IO口的供電VCCIO相同)或GND;如果需要多種配置方式,那么MSEL要用控制器(單片機、CPLD等)來控制以進行切換;MSEL管腳在配置開始前必須處于一個固定的狀態(tài),因此不能將MSEL管腳懸空。,5.2 Cyclone及Cyclone II FPGA配置,,,,另外,不同型號FPGA

12、的配置文件大小不同,下表中列出了FPGA在不壓縮情況下二進制配置文件(.rbf)的最大大小。設(shè)計者可以根據(jù)配置文件的大小來選擇合適的配置器件和其它存儲器。并可使用壓縮功能,來減小配置文件的大小。,說明:同型號的FPGA配置文件會因所使用的單元不同而不同,配置文件越小下載速度和配置速度越快。,5.2 Cyclone及Cyclone II FPGA配置,,,Cyclone FPGA 二進制文件(.rbf)大小,,,主動串行配置主動串行

13、配置方式(AS)是將配置數(shù)據(jù)事先存儲在串行配置器件EPCS中,然后在系統(tǒng)上電時Cyclone及Cyclone II FPGA通過串行接口讀取配置數(shù)據(jù)(如果是壓縮數(shù)據(jù),還會進行解壓縮處理)對內(nèi)部的SRAM單元進行配置。因為上述配置過程中FPGA控制配置接口,因此通常稱為主動配置方式。,5.2 Cyclone及Cyclone II FPGA配置,,,主動串行配置,主動串行配置的電路原理圖,說明:因為FPGA上的nSTATUS、CONFI

14、G_DONE管腳都是開漏結(jié)構(gòu),所以都要接上拉電阻。FPGA的片選腳nCE必須接地。,用于對EPCS的編程,5.2 Cyclone及Cyclone II FPGA配置,主動串行配置(一個配置器件配置多個FPGA芯片1),主動串行配置(一個配置器件配置多個FPGA芯片2),主動串行配置(一個配置器件配置多個FPGA芯片3),,主動串行配置,,,,復位,配置,初始化,進入用戶模式,,,,,,,,,配置數(shù)據(jù)寫入到器件中,器件內(nèi)部邏輯和寄存器

15、初始化,I/O緩沖使能,配置過程波形圖,,,主動串行配置串行時鐘(DCLK)在配置結(jié)束后內(nèi)部振蕩器關(guān)閉。下表列出了DCLK的輸出頻率。對于Cyclone II FPGA,通過MSEL[]可以選擇時鐘為20MHz或40MHz。配置的時間與配置文件大小以及DCLK的頻率有關(guān)。,5.2 Cyclone及Cyclone II FPGA配置,,,主動串行配置用戶可以在QuartusII軟件中選擇,用哪一個時鐘來進行FPGA寄存器和用戶I/

16、O口的初始化、以及是否在配置出錯后重新開始配置等內(nèi)容。如下圖所示的彈出窗口:,5.2 Cyclone及Cyclone II FPGA配置,功能服用引腳設(shè)置,,,,,主動串行配置(AS)的配置時間估算主動串行配置時間為串行配置器件數(shù)據(jù)傳送到FPGA的時間,這取決于DCLK的頻率以及配置文件的大小。以Cyclone EP1C6器件為例,非壓縮的.rbf格式配置文件的大小為1167216位、DCLK最低頻率為14MHz(71ns),則最

17、大配置時間為:1167216*71ns=82872336ns≈83ms當DCLK的典型頻率為17MHz(59ns)時,配置時間為:1167216*59ns=68865744ns ≈69ms,5.2 Cyclone及Cyclone II FPGA配置,,,主動串行配置(AS)的配置時間估算如果允許配置數(shù)據(jù)壓縮,由于配置時要對數(shù)據(jù)進行解壓縮,需要增加配置時間,一般要增加50%的配置時間,即EP1C6器件在采用壓縮數(shù)據(jù)進行配置時需要

18、約103.5ms的時間。此外,在配置完成后緊接著的FPGA寄存器和用戶I/O口初始化也需要消耗一定的時間(Cyclone為136個時鐘周期,Cyclone II為299個時鐘周期),當不采用CLKUSR管腳時鐘,而使用FPGA內(nèi)部10MHz時鐘時,Cyclone EP1C6消耗13.6us的初始化時間。,5.2 Cyclone及Cyclone II FPGA配置,,,JTAG配置通過JTAG接口,利用Quartus II軟件可以直

19、接對FPGA進行單獨的硬件重新配置。Quartus II軟件在編譯時會自動生成用于JTAG配置的.sof文件。如果同時使用AS方式和JTAG方式來配置FPGA,JTAG配置方式擁有最高的優(yōu)先級,此時AS方式將停止,而執(zhí)行JTAG方式配置。,5.2 Cyclone及Cyclone II FPGA配置,,主動串行配置的電路原理圖,,,JTAG配置,5.2 Cyclone及Cyclone II FPGA配置,,,,JTAG配置利用Qu

20、artus II軟件和USB Blaster、ByteBlaster II等下載電纜可下載配置數(shù)據(jù)到FPGA。Quartus II軟件可以驗證JTAG配置是否成功。JTAG配置通過下載電纜使用SOF、Jam或者JBC文件直接對FPGA進行配置,這種配置方式只能用于調(diào)試階段,因為,掉電后FPGA中的配置數(shù)據(jù)將丟失。,5.2 Cyclone及Cyclone II FPGA配置,ByteBlaster II,USB Blaster,第5章

21、 目錄,5.1 FPGA配置 5.2 Cyclone及Cyclone II FPGA配置5.3 配置芯片5.4 配置的軟件設(shè)置5.5 配置文件5.6 配置可靠性及電路設(shè)計注意事項5.7 下載配置文件到FPGA5.8 下載配置文件到EPCS5.9 IDE Flash Programmer介紹5.10 用戶程序引導5.11 使用IDE Flash Programmer 編程,

22、,,Altera FPGA的配置芯片可以分為3類:增強型配置器件:EPC16、EPC8、EPC4;主動串行配置器件:EPCS64、EPCS16、EPCS4和EPCS1;普通配置器件:EPC2、EPC1、EPC1441。,5.3 配置芯片,,,5.3 配置芯片,各配置芯片的屬性如下表所示:,第5章 目錄,5.1 FPGA配置 5.2 Cyclone及Cyclone II FPGA配置5.3 配置芯片

23、5.4 配置的軟件設(shè)置5.5 配置文件5.6 配置可靠性及電路設(shè)計注意事項5.7 下載配置文件到FPGA5.8 下載配置文件到EPCS5.9 IDE Flash Programmer介紹5.10 用戶程序引導5.11 使用IDE Flash Programmer 編程,,,5.4 配置的軟件設(shè)置,配置方式及配置芯片選擇在Quartus II軟件中,可以設(shè)置配置方式和配置芯片。,,,,,配置選項卡,,,5

24、.4 配置的軟件設(shè)置,配置方式及配置芯片選擇在Quartus II軟件中,可以設(shè)置配置方式和配置芯片。,,配置方式(AS、PS)選擇,,配置模式(本地或遠程)選擇,,配置器件(EPCS系列、EPC系列),,壓縮,配置選項卡,,,5.4 配置的軟件設(shè)置,復用配置引腳處理當用戶選擇了一種配置方式后,在【Dual-Purpose Pins】選項卡中將自動把這種方式下可復用為IO口的管腳列出。用戶可選擇如何處理這些引腳。,復用配置引腳處

25、理,,第5章 目錄,5.1 FPGA配置 5.2 Cyclone及Cyclone II FPGA配置5.3 配置芯片5.4 配置的軟件設(shè)置5.5 配置文件5.6 配置可靠性及電路設(shè)計注意事項5.7 下載配置文件到FPGA5.8 下載配置文件到EPCS5.9 IDE Flash Programmer介紹5.10 用戶程序引導5.11 使用IDE Flash Programm

26、er 編程,,,,5.5 配置文件,配置文件的格式Quartus II開發(fā)軟件能生成一個或多個用于配置電路的配置文件。,SRAM目標文件(.sof).sof文件一般是在調(diào)試時通過下載電纜和JTAG直接下載到FPGA中的SRAM中。SOF文件在Quattus II軟件編譯時自動生成。所有其他配置文件都是由SOF文件轉(zhuǎn)換生成的。,,,5.5 配置文件,配置文件的格式Quartus II開發(fā)軟件能生成一個或多個用于配置電路的配置文件。,

27、,編程目標文件(.pof).pof文件用于對各種Altera配置芯片進行編程。當在Quartus II中設(shè)置好配置芯片類型后,軟件會在編譯時為用戶生成對應器件類型的POF文件。多個FPGA的sof文件可放到一個POF文件中,形成一個配置文件。Quartus II也可以將配置文件分到幾個配置芯片中。,,,5.5 配置文件,配置文件的格式Quartus II開發(fā)軟件能生成一個或多個用于配置電路的配置文件。,,原始二進制文件(.rbf)

28、RBF是原始二進制配置數(shù)據(jù)的文件,只包含配置數(shù)據(jù)的內(nèi)容。RBF文件通常被用于外部帶微處理器的配置電路中。在被動配置方式(PS)時,可以將.rbf文件存儲在大容量存儲器中(如NOR Flash),然后通過微控制器讀取二進制數(shù)據(jù)并裝載到FPGA中去。,,,5.5 配置文件,配置文件的格式Quartus II開發(fā)軟件能生成一個或多個用于配置電路的配置文件。,,原始編程數(shù)據(jù)文件(.rpd)RPD是包含Cyclone器件二進制位流配置數(shù)據(jù)

29、的二進制文件。該文件存儲在串行配置器件中,用于沒有Quartus II軟件的嵌入式環(huán)境。FPGA可以以此進行主動串行配置。RPD文件的大小等于目標串行配置器件存儲容量大小。但不同于RBF文件,即使只是給單一的配置器件提供配置。每個字節(jié)的低位LSB應先寫入串行配置器件。,,,5.5 配置文件,配置文件的格式Quartus II開發(fā)軟件能生成一個或多個用于配置電路的配置文件。,,十六進制文件(.hex)HEX文件是Intel HEX格式

30、的ASCII文件。微控制器或外部主機可使用HEX文件來存儲和傳送配置數(shù)據(jù)。該文件也可以用于第三方的編程器對Altera公司的配置器件進行編程。,,,5.5 配置文件,配置文件的格式Quartus II開發(fā)軟件能生成一個或多個用于配置電路的配置文件。,,文本列表文件(.ttf)文本列表文件是一種提供了逗號分隔的列表ASCII文件,該文件中的配置數(shù)據(jù)用于FPP、PPS、PPA和位寬。TTF文件可以允許用戶將配置數(shù)據(jù)以包含或源命令行的形

31、式作為微控制器的源代碼,微控制器能從配置器件和大容量存儲器中訪問這些數(shù)據(jù)并下載到目標器件(FPGA)。,,,5.5 配置文件,配置文件的格式Quartus II開發(fā)軟件能生成一個或多個用于配置電路的配置文件。,,JAM文件(.jam)JAM文件是用來存儲器件編程信息的ASCII文本文件。這些文件在QusrtusII編程器和帶嵌入式處理器的環(huán)境中常用于一個或多個器件的編程、校驗、查空。,,,5.5 配置文件,配置文件的格式Quart

32、us II開發(fā)軟件能生成一個或多個用于配置電路的配置文件。,,字節(jié)編碼文件(.jbc)JBC文件是同JAM文件內(nèi)容一樣的二進制文件。此外還有串行位流文件(.sbf)是用于FLEX 10K和FLEX6000器件的配置。,,,5.5 配置文件,配置文件設(shè)置和轉(zhuǎn)換Quartus II軟件中指定生成哪種格式的配置文件。,,,,,配置文件格式設(shè)置,,,5.5 配置文件,配置文件設(shè)置和轉(zhuǎn)換用Quartus II軟件可對SOF和POF文件進

33、行轉(zhuǎn)換,生成其它格式的文件。,編程文件的轉(zhuǎn)換,,,5.5 配置文件,配置文件設(shè)置和轉(zhuǎn)換SOF文件->RBF文件轉(zhuǎn)換步驟如下:,①,②,③,④,⑤,⑥,配置文件格式轉(zhuǎn)換,,,5.5 配置文件,配置文件的壓縮Quartus II 為Cyclone、Cyclone II以及StratixII提供了配置數(shù)據(jù)可壓縮特性,用戶可以為FPGA選擇容量較小的EPCS器件,以節(jié)省成本。ALTERA給出對配置數(shù)據(jù)的壓縮率可達到35%到60%。當

34、在Quartus II軟件中使能壓縮特性時,軟件自動采用壓縮配置數(shù)據(jù)來生成POF配置文件。通過壓縮后的配置文件減小了對配置器件或Flash的存儲空間需求。,,,5.5 配置文件,配置文件的壓縮有兩種方法來使用壓縮特性:在用戶設(shè)計編譯前,可在編譯設(shè)置菜單中來選擇壓縮特性;在用戶設(shè)計編譯后,可利用File菜單中的文件轉(zhuǎn)換器Convet Programming Files進行壓縮。通過文件轉(zhuǎn)換可利用SOF文件生成各種格式的壓縮文件。,

35、,,5.5 配置文件,配置文件的壓縮,方法一:編譯前選擇壓縮特性,方法二:用文件轉(zhuǎn)換器進行壓縮,第5章 目錄,5.1 FPGA配置 5.2 Cyclone及Cyclone II FPGA配置5.3 配置芯片5.4 配置的軟件設(shè)置5.5 配置文件5.6 配置可靠性及電路設(shè)計注意事項5.7 下載配置文件到FPGA5.8 下載配置文件到EPCS5.9 IDE Flash Program

36、mer介紹5.10 用戶程序引導5.11 使用IDE Flash Programmer 編程,,,5.6 配置可靠性及電路設(shè)計注意事項,配置的可靠性Altera的FPGA結(jié)構(gòu)中設(shè)計了一些保護電路來減小電源上電和數(shù)據(jù)噪聲的影響,使基于SRAM工藝的FPGA可靠性大大提高。為了提供可靠性主要采取了以下幾個方面:1.在配置過程中,采用CRC電路對輸入到FPGA中的每一幀配置數(shù)據(jù)進行校驗,確保配置數(shù)據(jù)的正確性;2.Altera F

37、PGA提供了保護電路要求在系統(tǒng)在掉電后重新配置,以保證FPGA在系統(tǒng)掉電時的高可靠性。,,,5.6 配置可靠性及電路設(shè)計注意事項,電路設(shè)計注意事項在配置電路設(shè)計時,通常應該注意下面幾點:1.在設(shè)計DCLK和TCK時,要將其當作高速的時鐘信號來處理;2.在有多片F(xiàn)PGA配置鏈中,一般建議將各片F(xiàn)PGA的DCLK、DATA0(DATA[7..0]、nCONFIG、nSTATUS、和CONF_DONE信號連在一起。這樣可以確保各FPGA

38、配置同時開始和結(jié)束;3.確保FPGA配置管腳的電平和配置器件的電平兼容;4.確保所有配置管腳按照FPGA的數(shù)據(jù)手冊進行連接。,第5章 目錄,5.1 FPGA配置 5.2 Cyclone及Cyclone II FPGA配置5.3 配置芯片5.4 配置的軟件設(shè)置5.5 配置文件5.6 配置可靠性及電路設(shè)計注意事項5.7 下載配置文件到FPGA5.8 下載配置文件到EPCS5.9

39、IDE Flash Programmer介紹5.10 用戶程序引導5.11 使用IDE Flash Programmer 編程,,5.7 下載配置文件到FPGA,要使用JTAG下載配置數(shù)據(jù)到FPGA,首先要生成可用于JTAG下載的配置數(shù)據(jù)文件,這些配置數(shù)據(jù)文件包括:.sof、.Jam以及.JBC。一般來說,JTAG方式利用SOF文件即可,JAM和JBC可以不用。利用JATG接口和ByteBlasterII電纜下載配置數(shù)據(jù)到FP

40、GA的過程,如下:,,5.7 下載配置文件到FPGA,①,②,③,④,⑤,⑥,⑦,JTAG下載配置數(shù)據(jù)過程,,5.7 下載配置文件到FPGA,①,②,③,④,ByteBlaster II 下載電纜安裝,第5章 目錄,5.1 FPGA配置 5.2 Cyclone及Cyclone II FPGA配置5.3 配置芯片5.4 配置的軟件設(shè)置5.5 配置文件5.6 配置可靠性及電路設(shè)計注意事項5.7

41、 下載配置文件到FPGA5.8 下載配置文件到EPCS5.9 IDE Flash Programmer介紹5.10 用戶程序引導5.11 使用IDE Flash Programmer 編程,,5.8 下載配置文件到EPCS,使用AS方式對Cyclone FPGA配置前,必須將配置文件寫入串行配置器件EPCS。寫入的方法有3種:在QuartusII的Programmer中,通過專門與EPCS連接的AS下載接口來下載.p

42、of文件到EPCS;在QuartusII的Programmer中,使用JTAG接口,通過FPGA中間通道來間接對EPCS進行編程;使用Nios II IDE中的Flash Programmer對EPCS進行編程。,,,5.8 下載配置文件到EPCS,AS接口的EPCS直接編程利用ByteBlasterII、AS接口、.pof配置文件以及QuartusII的Programmer可直接對EPCS進行編程,這種方式速度快,但需要專門的A

43、S接口。下載過程如下:,,5.8 下載配置文件到EPCS,①,②,③,④,⑤,⑥,⑦,EPCS的AS編程,,,5.8 下載配置文件到EPCS,JTAG接口的EPCS間接編程JTAG接口的EPCS間接編程是指利用Quartus II的Programmer、FPGA的JTAG接口以及Altera提供的用于編程時配置FPGA的Serial FlashLoader(SFL)來對EPCS進行編程。,EPCS編程示意圖,(a) 傳統(tǒng)通過AS接口對

44、AS接口對EPCS編程,(a) 通過SFL和JTAG接口對EPCS編程,,,,5.8 下載配置文件到EPCS,,利用JTAG和SFL對EPCS的編程過程示意圖,.jic或.jam,,,5.8 下載配置文件到EPCS,①,②,③,④,⑤,文件轉(zhuǎn)換對話框,SOF文件轉(zhuǎn)換為JIC文件,,5.8 下載配置文件到EPCS,⑥·,⑦,選擇器件,,5.8 下載配置文件到EPCS,⑧,⑨,⑩,選擇添加被轉(zhuǎn)換文件,,5.8 下載配置文件到EPC

45、S,⑾,⑿,⒀,設(shè)置轉(zhuǎn)換配置文件壓縮窗口,,,5.8 下載配置文件到EPCS,JIC文件轉(zhuǎn)換為JAM文件要使用JAM文件,用戶必須首先將SOF文件轉(zhuǎn)換為JIC文件,然后再將JIC文件轉(zhuǎn)換為JAM文件。轉(zhuǎn)換步驟如下:,,5.8 下載配置文件到EPCS,①,②,③,④,選擇添加進行轉(zhuǎn)換的JIC文件,,5.8 下載配置文件到EPCS,⑤,⑥,⑦,,,5.8 下載配置文件到EPCS,JIC和JAM文件的內(nèi)容SFL的配置映像。這個配置映像是在

46、文件轉(zhuǎn)換時當用戶選擇目標FPGA時由QuartusII軟件創(chuàng)建的;在對串行配置器件進行編程之前,SFL配置映像要對FPGA進行配置;串行配置器件的配置數(shù)據(jù)。這個配置數(shù)據(jù)來源于用戶選擇的SOF文件,在編程過程中這些配置數(shù)據(jù)將被寫入串行配置器件EPCS。,,,5.8 下載配置文件到EPCS,使用JIC文件和Quartus II Programmer對EPCS編程通過前面的方法將SOF文件轉(zhuǎn)換成JIC文件??梢岳肑IC文件和Qusrtu

47、s II Programmer 對串行配置器件EPCS進行編程,步驟如下:,選中SFL映像對FPGA進行配置,選中配置數(shù)據(jù)寫入EPCS,開始編程,,,5.8 下載配置文件到EPCS,使用JAM文件和Quartus II Programmer對EPCS編程JIC文件轉(zhuǎn)成JAM文件,可以利用JAM文件和Quartus II Programmer對串行配置器件EPCS進行編程,步驟如下:,使用JIC和Quartus II Progrmme

48、r 進行EPCS編程,第5章 目錄,5.1 FPGA配置 5.2 Cyclone及Cyclone II FPGA配置5.3 配置芯片5.4 配置的軟件設(shè)置5.5 配置文件5.6 配置可靠性及電路設(shè)計注意事項5.7 下載配置文件到FPGA5.8 下載配置文件到EPCS5.9 IDE Flash Programmer介紹5.10 用戶程序引導5.11 使用IDE Flash

49、Programmer 編程,,5.9 IDE Flash Programmer介紹,Nios II IDE 提供了Flash Programer工具來對目標板上遵守CFI(common flash interface)規(guī)范的Flash進行編程。Flash Programer通過使用Altera的下載電纜能夠方便的對目標板上連接在FPGA上的Flash進行編程。IDE的Flash Programer除了能對連接在FPGA上的Flash進

50、行編程外,還能對連接在FPGA上的串行配置器件EPCS進行編程。,,,,5.9 IDE Flash Programmer介紹,IDE Flash Programmer編程工作過程IDE Flash Programmer通過2個過程將數(shù)據(jù)寫入Flash。,第一步:使用Flash編程設(shè)計對FPGA進行配置,第二步:傳送編程內(nèi)容到Flash器件,,,5.9 IDE Flash Programmer介紹,Flash編程內(nèi)容的類型用戶軟件;

51、FPGA的配置數(shù)據(jù);任意內(nèi)容。,,,5.9 IDE Flash Programmer介紹,Flash文件所有要通過IDE Programmer寫入Flash中的數(shù)據(jù)文件都要轉(zhuǎn)換為能被Flash Programmer讀取的.flash文件。IDE Flash Programmer在后臺提供了elf2flash、sof2flash、bin2flash三個命令來分別將這三種文件轉(zhuǎn)換為flash文件,這三個命令在IDE Flash Pro

52、grammer后臺自動調(diào)用執(zhí)行而不需用戶干預。,第5章 目錄,5.1 FPGA配置 5.2 Cyclone及Cyclone II FPGA配置5.3 配置芯片5.4 配置的軟件設(shè)置5.5 配置文件5.6 配置可靠性及電路設(shè)計注意事項5.7 下載配置文件到FPGA5.8 下載配置文件到EPCS5.9 IDE Flash Programmer介紹5.10 用戶程序引導5.11

53、 使用IDE Flash Programmer 編程,,5.10 用戶程序引導,用戶程序可以存放在Flash中,也可以存放在EPCS,因此用戶程序可以從Flash引導,也可以從EPCS中引導。,用戶程序,用戶程序,用戶引導程序,,,5.10 用戶程序引導,從CFI Flash引導FPGA上電或復位配置成功后,如果配置中包含的Nios II處理器復位地址指向Flash的地址空間,那么程序?qū)腇lash引導。,SOPC Builder指定

54、復位地址為Flash,,,,5.10 用戶程序引導,從串行配置器件EPCS引導如果使用串行配置器件EPCS,且配置數(shù)據(jù)的容量小于EPCS的容量,那么剩余的存儲空間可用來存放用戶程序。,EPCS控制器結(jié)構(gòu)框圖,,,,,,Boot-Loader,ROM,EPCS控制器,,,,配置存,儲空間,,通用存,儲空間,EPCS配置器件,,,Avalon,總線,,,NiosII,CPU,,,片內(nèi)外設(shè),Altera FPGA,,,,,,,,,,,,,,

55、,,,存儲FPGA配置數(shù)據(jù),剩余空間可用于存儲用戶非易失性數(shù)據(jù)。,1KB的片內(nèi)存儲器,,,5.10 用戶程序引導,從串行配置器件EPCS引導IDE的Flash Programmer能將配置數(shù)據(jù)文件(.sof)和用戶程序(.elf)寫入到EPCS中。當用戶程序存放在EPCS中時,如果想從EPCS中引導程序,在SOPC Builder中必須添加EPCS控制器,且必須在SOPC Builder中指定Nios II處理器的復位地址指向EPC

56、S控制器(epcs_controller)。,,5.10 用戶程序引導,從串行配置器件EPCS引導,SOPC Builder指定復位地址為epcs_controller,,,5.10 用戶程序引導,引導復制程序Altera提供了引導復制程序,它能根據(jù)用戶在IDE中設(shè)置的用戶程序文件(.elf)連接地址來重新裝載程序,然后跳到.elf文件的連接地址執(zhí)行程序。,,引導復制程序是IDE Flash Programmer在后臺執(zhí)行elf2fl

57、ash命令時判斷并自動加入完成的。,,加入Boot Copier 示意圖,,5.10 用戶程序引導,,用戶程序ELF文件連接設(shè)置在Nios II IDE中工程的屬性頁控制了工程中的程序與硬件系統(tǒng)的相互影響關(guān)系以及IDE怎樣編譯連接該應用工程。,用戶IDE工程庫屬性設(shè)置對話框局部圖,,,5.10 用戶程序引導,用戶程序引導小結(jié)通過SOPC Builder和IDE用戶工程庫屬性頁中的不同設(shè)置,可實現(xiàn)用戶程序的不同引導和在不同存儲空間運行

58、,現(xiàn)總結(jié)于下表。,,第5章 目錄,5.1 FPGA配置 5.2 Cyclone及Cyclone II FPGA配置5.3 配置芯片5.4 配置的軟件設(shè)置5.5 配置文件5.6 配置可靠性及電路設(shè)計注意事項5.7 下載配置文件到FPGA5.8 下載配置文件到EPCS5.9 IDE Flash Programmer介紹5.10 用戶程序引導5.11 使用IDE Flash P

溫馨提示

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

評論

0/150

提交評論