




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第七章 FPGA配置和配置和 Flash編程編程本章主要內容本章主要內容 本章對本章對FPGA配置和編程技術進行了討配置和編程技術進行了討論,重點介紹論,重點介紹Cyclone II的配置芯片、配置的配置芯片、配置模式、配置器件的信號連接,配置數據的模式、配置器件的信號連接,配置數據的編程方法等內容。編程方法等內容。 目前大部分FPGA都是基于SRAM工藝的,而SRAM工藝的芯片在掉電后信息就會丟失,需要外加專用配置芯片,在上電時,由這個專用配置芯片把配置數據加載到FPGA 中,之后FPGA就可以正常工作,配置器件是基于Flash存儲器的器件, 所以FPGA的配置和編程技術是SOPC開發中必須
2、掌握的技術。本章主要內容本章主要內容 第7章 目錄q1 FPGA配置概述配置概述q2. Cyclone II系列系列 FPGA配置配置q3. FPGA的配置器件的配置器件q4.Quartus II中中 FPGA配置的選項配置的選項q5.FPGA配置調試技配置調試技 術術q6.IDE Flash Programmer介紹介紹q7.用戶程序引導用戶程序引導q8.在在IDE模式下使用模式下使用 NIOS2FLASh Programmerq9.板子描述編輯器板子描述編輯器7.1 FPGA配置概述配置概述 Altera的FPGA共支持7種配置模式,不同系列的FPGA所支持的配置模式也不同。所有的配置模式
3、通過主機或配置器件來實現。如下表7-1所示,注:雖然通過JTAG引腳不能配置FLEX 6000,可以進行JTAG邊 界掃描測試。7種配置模式說明如下:表7-1 FPGA配置模式支持表 被動串行(PS) 該配置模式需要增強型配置器件(EPC16、EPC8和EPC4)、配置器件EPC2、EPC1、EPC1441等;串行同步微處理器接口;USB Blaster USB口下載電纜、MasterBlaster通訊電纜、ByteBlaster II并行下載電纜或ByteBlasterMV并行端口下載電纜等。 主動串行(AS) 該配置模式需要串行配置器件(EPCS1和EPCS4等)。 被動并行同步(PPS)
4、 該配置模式需要使用一并行同步微處理器接口。 快速被動并行(FPP) 該配置模式需要一增強的配置器件或者并行同步微處理器接口,在每個時鐘周期裝載8位配置數據,其速度是PPS的8倍。 被動并行異步(PPA)該配置模式需要一并行異步微處理器接口,該模式下,微處理器把目標設備作為存儲器。 被動串行異步 該配置模式需要一串行異步微處理器接口。 JTAG 該配置模式通過IEEE Std. 1149.1 (JTAG)引腳實現。7種配置模式說明如下:1被動配置模式概述被動配置模式概述 當FPGA工作時,配置數據被保存在其片內SRAM中。由于SRAM的易失性,每次上電時配置數據必須被重新裝載到SRAM中,FP
5、GA配置完成后,其寄存器和I/O引腳必須被初始化,初始化完成后,FPGA進入在系統操作的用戶模式。在配置、初始化和用戶模式期間,配置引腳的波形如圖7-1所示。圖7-1配置周期波形圖nFPGA的nCONFIG引腳上由低到高的跳變啟動配置周期。配置周期由3個階段組成:復位、配置和初始化。nnCONFIG和nSTATUS為高電平時啟動配置階段。n在初始化期間,內部邏輯、內部和I/O寄存器被初始化且I/O緩沖器被允許。nnCONFIG引腳從高到低,再變為高電平將啟動一次新的配置周期。n配置過程的狀態轉換如下圖7-2所示。 圖7-2 配置過程的狀態轉換圖2選擇配置模式選擇配置模式nAltera FPGA
6、的配置數據可使用主動、被動或JTAG配置模式進行裝載。 n使用被動配置模式,當系統在運行時,可重新配置FPGA來改變其功能。nFPGA配置模式由MSEL引腳來決定。 n被動串行配置(PS)n主動串行配置(AS)n被動并行同步配置(PPS)n快速被動并行配置(FPP)n被動并行異步配置(PPA)n被動串行異步配置(PSA)nJTAG配置Altera FPGA支持的7種配置模式7.2 Cyclone II系列系列FPGA配置配置 nCyclone II系列FPGA使用SRAM存儲器進行配置。由于SRAM的易失性,每次上電時,配置數據必須重新下載到Cyclone II系列FPGA中。n本節說明Cyc
7、lone II的配置特點,討論Cyclone II系列FPGA的配置方法,給出配置引腳的定義及Cyclone II的配置文件格式。7.2.1 Cyclone II系列FPGA配置概述 n可以采用AS、PS和JTAG配置模式來配Cyclone II系列FPGA。采用何種配置模式由MSEL引腳的電平來決定,如表7-2所示。 表7-2 Cyclone配置模式配置模式MSEL1MSEL0AS(20MHz)(1)00PS01快速AS(40MHz)(1)10JTAG(2)(3)(3) 使用AS,PS或JTAG接口下載配置數據到Cyclone II FPGA,其所需設備如表7-3所示。 表7-3 Cyclo
8、ne II FPGA配置模式配置模式描述AS配置 使用串行配置器件(EPCS1、 EPCS4、EPCS16或EPCS64)PS配置使用增強型配置器件(EPC4、 EPC8、和EPC16)或使用配置器件EPC2和EPC1,一個智能主機(微處理器)或一個下載電纜JTAG配置使用一個下載電纜,一個智能主機(微處理器)或者JAM 標準測試和編程語言(STAPL),通過JTAG引腳進行配置7.2.2 配置文件 表7-4 列出了Cyclone II FPGA的未壓縮的配置文件大小。要計算多個FPGA配置所需的存儲空間,需將每個FPGA的文件大小相加。 表7-4 Cyclone II 的原始(raw)二進制
9、文件(.rbf)大小FPGA型號數據大?。ㄎ唬祿笮。ㄗ止潱〦P2C51,265,792152,998EP2C81,983,536247,974EP2C203,892,496486,562EP2C356,858,656857,332EP2C509,963,3921,245,424EP2C7014,319,2161,789,902 表7-4 中的數據是在設計被編譯之前文件大小的預估值。不同的配置文件格式,例如十六進制(.hex)或Tabular文本文件(.ttf)格式,將有不同的文件大小。然而對QuartusII軟件的不同版本,對同一型號的FPGA的設計將有相同大小的未壓縮配置文件。若采用壓縮
10、文件,由于壓縮率取決于設計,文件的大小在編譯后可能不同。7.2.3配置數據的壓縮nCyclone II系列FPGA支持配置數據的解壓縮,該特性節省配置存儲空間和配置時間??砂褖嚎s的配置數據存儲在配置器件或其他存儲器中,配置時傳送壓縮的位流數據到Cyclone II FPGA。在配置期間,Cyclone II系列的FPGA實時解壓縮且對FPGA中的SRAM進行編程。n預估(Preliminary)數據表明:配置位流數據的壓縮比例為35%50%。nCyclone II FPGA支持AS和PS模式下的解壓縮。JTAG模式不支持解壓縮。 當多個Cyclone II FPGA級聯時,可為鏈中每個FPGA
11、選擇壓縮特性。圖7-3 所示是兩個Cyclone器件的級聯。第一個器件允許壓縮特性,且從配置器件接收壓縮的數據流,第2個Cyclone II器件禁止壓縮特性,且接收未壓縮數據。在Quartus II軟件中可以創建該設置下的編程文件(例如. POF文件)。 圖7-3 在編程文件中的壓縮和未壓縮配置數據7.2.4 AS配置模式n在AS配置模式下,使用一個串行配置器件對Cyclone II FPGA進行配置。這些配置器件包含非易失性存儲器,價格便宜,且具有4個引腳的簡單接口。這些特性使串行配置器件成為一個理想的低成本的配置解決方案。 n串行配置器件提供訪問配置數據的串行接口,在FPGA配置期間,Cy
12、clone II FPGA通過串行接口讀配置數據,解壓縮數據(如果需要),配置其SRAM單元。注:當使用AS模式配置Cyclone II設備時,Cyclone II具有解壓縮功能。 表7-5是AS模式下的MSEL引腳設置。表7-5 Cyclone II配置模式配置模式MSEL1MSEL0AS(20 MHz)(1)00快速AS(40 MHz)(1)10表7-5注:(1)EPCS16和EPCS64支持40 MHz的DCLK。其他EPCS器件支持20 MHz.的DCLK。1單設備AS配置 串行配置器件有一個4引腳接口:串行時鐘輸入(DCLK)、串行數據輸出(DATA)、AS數據輸入(ASDI)和一個
13、低有效片選(nCS)。4引腳接口與Cyclone II引腳相連。如圖7-4 所示。圖7-4 單設備AS配置 配置周期由復位、配置和初始化等3個階段組成。(1)復位階段 當nCONFIG或nSTATUS為低時,FPGA處于復位狀態。POR之后,Cyclone II釋放nSTATUS,Cyclone II設備進入配置模式。(2)配置階段 Cyclone II設備產生的DCLK信號控制整個配置周期,提供串行接口的定時。表7-6 列出了AS DCLK的輸出頻率。 表7-6 AS DCLK的輸出頻率選擇晶振最小值典型最大值單位40MHz202640MHz20MHz101320MHz(3)初始化階段 在C
14、yclone II FPGA中,初始化時鐘源可以是10MHz(典型的)內部振蕩器(與AS的內部振蕩器無關),也可以是CLKUSR引腳。(4)用戶模式 初始化完成后,FPGA進入用戶模式。在用戶模式,用戶的I/O引腳將不再有弱上拉電阻,且由用戶設計來決定其狀態。(5)配置錯誤 2多個多個FPGA的的AS配置配置 使用一個配置器件可對多個Cyclone II FPGA進行配置。 在級聯鏈中的第一個FPGA是配置主設備,且控制整個鏈中FPGA的配置。第一片選擇AS配置模式,其他各片(配置從設備)選為PS配置模式。其他系列的支持PS配置模式的FPGA也可以串聯到鏈中,在多片FPGA組成的串聯鏈中,每個
15、FPGA的nCONFIG、nSTATUS、CONF_DONE、 DCLK和DATA0引腳的連接方法如圖7-4 所示。圖7-4 多個FPGA的AS配置 如圖7-4 所示,所有目標FPGA的nSTATUS和CONF_DONE引腳連在一起并與上拉電阻相連。這些引腳是漏極開路的雙向引腳。 通過CLKUSR引腳,可選擇鏈中每個設備進入用戶模式的先后次序。 如果配置數據超過串行配置器件的容量,必須選擇較大的配置設備和/或允許壓縮特性。配置多個設備時,配置數據的大小是每個設備配置數據容量的總和。3多個多個FPGA配置為同一設計配置為同一設計 有時多個FPGA需要配置相同的系統設計或.SOF文件。下面介紹兩種
16、方法,2種方法都不能對串行配置器件進行串聯。(1)多個SOFs文件 第一種方法是將.SOF文件的2個拷貝存放在串行配置器件中,用第一個拷貝配置Cyclone II主設備,而用第2個拷貝同時配置所有其他從設備。本設置中,Cyclone II主設備是在AS模式,其他從設備工作在PS模式。如圖7-5 所示。圖7-5 多個FPGA的AS配置(2個SOFs文件) 圖7-5 用2個SOF文件配置4個同型號的Cyclone II設備,3個從設備同時進行配置。所示方法的優點是:對Cyclone II主設備可有不同的SOF文件,但所有的Cyclone II從設備必須被配置為同樣的SOF文件。該配置方法中的SOF
17、文件可以是壓縮或未壓縮的。(2)單個SOF文件 第2種配置方法使用同一SOF文件配置主設備和從設備,此時串行配置器件只保存SOF文件的一個拷貝。其連接方法如圖7-6 所示。在圖中,主設備設為AS模式,從設備設為PS模式(MSEL=01),可以在鏈中連接一個或多個從設備,所有從設備連接方式相同。圖7-6 一個SOF文件配置多個FPGA 4AS配置時間的估計配置時間的估計nAS配置時間是指從串行配置器件傳送數據到Cyclone II FPGA所花費的時間。Cyclone II的DCLK輸出(用內部振蕩器產生)作為串行接口的時鐘,如表7-5 所示:如果使用40 MHz振蕩器,DCLK的最小頻率是20
18、 MHz (50 ns)。所以對EP2C5的最大配置時間是:n RBF容量(DCLK最大周期/每個DCLK周期1位)= 最大配置時間估計值n1223980bits (50 ns / 1 bit) = 61.2 msn要估計典型配置時間,可使用表7-5 中列出的典型DCLK周期。對一個典型38.46 ns的DCLK周期,典型的配置時間是47.1 ms。允許壓縮特性減少發送到Cyclone II設備的配置數據,同時也縮短配置時間,平均來看,數據壓縮可減少配置時間約50%。 5串行配置器件的編程串行配置器件的編程n串行配置器件是基于非易失性的Flash存儲器的,n可以利用AS編程接口對串行配置器件進
19、行在系統編程,在系統編程期間,下載電纜使nCE為高電平,禁止FPGA對AS接口的訪問。n將nCONFIG信號拉低可以使Cyclone II FPGA處于復位狀態。編程結束后,下載電纜釋放nCE和nCONFIG信號,允許通過下拉和上拉電阻使nCE為GND,nCONFIG為Vcc。圖7-7 是下載電纜與串行配置器件的連接示意圖。圖7-7 串行配置器件的在系統編程 n可以通過Quartus II軟件和相應的配置器件編程適配器對串行配置器件進行編程。所有的串行配置器件是8腳或16腳的SOIC(small outline integrated circuit)封裝,可用PLMSEPC-8適配器進行編程。
20、n空的串行配置器件在安裝到PCB板上之前可使用APU或其他第三方編程硬件進行編程。n串聯配置器件可通過運行SRunner的外部處理器進行在系統編程。n。SRunner的串行配置器件編程時序與Quartus II Programmer 的編程時序類似。n圖7-8 給出了使用串行配置器件采用AS配置模式的時序圖。圖7-8 AS配置時序7.2.5 PS配置模式配置模式n在PS模式下,使用配置器件、下載電纜或智能主機(例如MAX II器件或微處理器)來配置Cyclone II FPGA。PS模式下配置Cyclone II FPGA時可使用壓縮特性。 使用PS配置模式時MSEL1接地(0),MSEL0應
21、接高(1)。n1使用使用MAX II器件進行進行PS模式下單個設備配置模式下單個設備配置nPS模式下,可使用MAX II器件作為一個智能主機,把存儲器(例如Flash存儲器)中的配置數據傳送到目標FPGA中。配置數據可以是RBF、 HEX 或TTF等格式。圖7-9是Cyclone II設備與MAX II器件的配置接口連接圖。圖7-9 使用外部主機的單個FPGA的PS配置n上電后,Cyclone II設備首先經過POR,持續約100ms,在POR期間,設備將復位,保持nSTATUS為低電平。使所有用戶I/O引腳處于三態。FPGA成功退出POR后,所有用戶引腳繼續為三態。n配置周期由復位、配置和初
22、始化三個階段組成。n(1)復位階段n(2)配置階段n(3)初始化階段 2MAX II器件作為主設備器件作為主設備PS模式下多個模式下多個FPGA的配置的配置 圖7-10是使用MAX II器件配置多個FPGA的示意圖。該電路與單設備配置圖類似,只是多個FPGA被級聯。第一個FPGA的nCE接地,其nCEO與下一個設備的nCE相連。 一個FPGA的nCEO引腳可懸空或作為用戶I/O使用。圖7-10 使用外部主機的多個FPGA的配置n通過CLKUSR引腳可控制鏈中設備初始化的時間與先后順序。若鏈中每個設備需要的初始化時鐘數相同,則它們同時進入用戶模式,否則進入用戶模式的時間會不同。n若多個FPGA配
23、置數據相同,可把所有設備的nCE接地,其他配置引腳連在一起,配置后,nCEO引腳可作為用戶I/O引腳,所有設備同時啟動且完成配置。nPS配置時序必須滿足建立和保持參數以及最大時鐘頻率。當使用微處理器或另一個智能主設備來控制PS接口時,確保滿足時序要求。PS配置時序波形如圖7-11所示。圖7-11 PS配置時序波形表7-7 定義了Cyclone II設備PS配置時的時序參數。表7-7 Cyclone II設備的時序參數使用微處理的使用微處理的PS配置配置n在PS配置模式下,微處理器從存儲器(例如Flash)取出配置數據,將數據傳送到目標Cyclone IIFPGA。其配置過程與使用MAX II作
24、為主設備進行PS配置相同。使用配置器件的單個使用配置器件的單個FPGA的的PS配置配置n可使用配置器件(例如EPC、EPC或增強型配置器件)通過串行位流配置數據對Cyclone IIFPGA進行配置。配置數據存儲在配置器件中,圖7-12給出了FPGA和配置器件的連接示意圖。圖7-12 使用增強型配置器件的單個FPGA的PS配置5使用一個配置器件對多個使用一個配置器件對多個FPGA進行進行PS配置配置 圖7-13 采用增強型配置器件配置多個FPGA,其 電路與單個設備配置電路類似,只是多個FPGA要進行級聯。 圖7-13 增強型配置器件對多個FPGA進行PS配置 增強型的配置器件支持最多8個并行
25、配置。n-bit(n=1、2、4或8)PS配置模式允許增強型配置器件同時配置多個FPGA。各個FPGA可以是不同系列不同型號,也可以具有不同的設計。每個FPGA對應一個DATA引腳,其連接方式如圖7-14 所示。圖7-14 使用增強型配置器件同時對多個FPGA進行PS配置nQuartus II軟件允許設置n=1、2、4或8。但采用這些模式可配置1到8個FPGA。n若多個Cyclone II FPGA配置數據相同,nCE接地,nCEO懸空,nCEO引腳也可以用作用戶I/O引腳。n配置鏈中每個FPGA的nCONFIG、nSTATUS、DCLK、DATA0和CONF_DONE引腳連接在一起,配置信號
26、可能需要驅動。確保DCLK和DATA信號每3個設備加一級驅動。所有設備將同時啟動和完成配置。圖7-15是PS模式下多個設備接收同一配置數據的示意圖。圖7-15 使用增強型配置器件對接收同一配置數據的多個FPGA進行PS配置6使用下載電纜的使用下載電纜的PS配置配置n上電后,Cyclone II設備經過約100ms的POR, FPGA成功退出POR后,nSTATUS被釋放,所有用戶I/O引腳為三態。n使用下載電纜時,Auto-restart configuration after error選項不可用。n另外,當使用Quartus II programmer和下載電纜對FPGA進行編程時,Ena
27、ble user-supplied start-up clock選項不可用。該選項在SOF文件中被禁止。圖7-18 是使用下載電纜進行PS配置的示意圖。圖7-18使用下載電纜進行PS配置 圖7-19 使用下載電纜PS配置多個FPGA圖7-21 使用下載電纜和配置器件對FPGA進行PS配置7.2.6 JTAG配置模式配置模式n聯合測試行動組(JTAG)已經開發了一個邊界掃描測試規約。nJTAG配置模式的優先權高于其他配置模式,這意味著JTAG配置可打斷其他模式下的配置過程。n采用JTAG模式進行配置,不支持Cyclone II解壓縮特性。n在JTAG配置期間,所有用戶I/O引腳是三態的。n表7-
28、9 對每個JTAG引腳功能進行了說明。 表7-9 專用JTAG引腳 引腳名稱引腳類型描述TDI 測試數據輸入指令、測試和編程數據的串行輸入引腳,數據在TCK的上沿被傳送。若電路板上不使用JTAG接口,該引腳接Vcc可禁止JTAG電路 TDO 測試數據輸出 指令、測試和編程數據的串行數據輸出引腳,數據在TCK的下沿被傳送。若無數據輸出,該引腳為三態。若板上不需要JTAG接口,該引腳懸空可禁止JTAG電路 TMS 測試模式選擇 提供控制信號的輸入引腳,該信號決定TAP控制器狀態機的變化。狀態機的變化發生在TCK的上沿,所以在TCK上沿到來之前,TMS必須已建立。在TCK的上沿,TMS被測試。若不使
29、用JTAG接口,該引腳接Vcc可禁止JTAG電路 TCK 測試時鐘輸入 BST電路的時鐘輸入,某些操作發生在上沿,有些在下沿,若JTAG接口不使用,該引腳接GND禁止JTAG電路 表7-9注:TDO輸出由VCCIO供電。若VCCIO接到3.3V,則I/O引腳和TDO由3.3V電壓驅動。1單個設備的單個設備的JTAG配置配置 圖7-21 使用下載電纜的單個設備的JTAG配置 若配置JTAG鏈中的單個設備,編程軟件設置其他設備在旁路(BYPASS)模式。該模式可允許編程軟件對目標設備進行編程或驗證。一個時鐘周期后配置數據出現在TDO引腳。配置完成后,Quartus II軟件對配置進行驗證。 在JT
30、AG模式下忽略CLKUSR選項,因為SOF文件禁止該選項。DEV_CLRn(chip_wide reset)和DEV_OE(chip-wide output enable)引腳不影響JTAG邊界掃描或編程操作。改變這兩個引腳的狀態將不影響JTAG操作。表7-9 在JTAG配置期間專用配置引腳的連接信號名稱描述nCE對配置鏈中所有Cyclone II設備,nCE應被驅動為低電平,可以通過電阻與地相連或通過某些控制電路驅動它。對處在AS或PS配置鏈中的FPGA,或按照配置鏈中的相同順序進行JTAG配置時,配置期間nCE應接GND。nCEO對配置鏈中所有的Cyclone II設備,nCEO可用作用戶
31、I/O,或與下一個設備的nCE相連。此時該引腳通過一外接的10k上拉電阻拉高到Vccio,若nCEO未與其他設備的nCE引腳連接,配置后可作為用戶I/O引腳。MSEL這些引腳支持其他非JTAG配置模式,若只使用JTAG模式,將這些引腳接地。nCONFIG通過上拉電阻與Vcc相連,或通過某些控制電路拉高。nSTATUS通過10k電阻拉到Vcc。當在同一配置鏈中配置多片設備時,每個nSTATUS引腳應分別被拉到Vcc,在JTAG配置期間,nSTATUS為低指示配置錯誤已發生。CONF_DONE通過10k電阻拉到Vcc,當在同一配置鏈中配置多片設備時,每個CONF_DONE引腳應分別被拉到Vcc,在
32、JTAG配置結束后,該引腳為高,指示配置成功。DCLK可根據方便接高或低,不應該懸空。圖7-22 使用微處理器處理單個設備的JTAG配置 2多個設備的多個設備的JTAG配置配置 圖7-23 使用下載電纜的多個設備的JTAG配置 Altera的支持JTAG的其他系列FPGA也可連接到同樣的JTAG鏈進行設備的編程和配置。n1.Jam STAPLn2.JRunner配置配置Cyclone II FPGAn3.使用使用JTAG接口對串行配置器件在系統接口對串行配置器件在系統編程編程圖7-24單個設備JTAG配置圖 7.2.6 Cyclone II系列系列FPGA的配置引腳定義的配置引腳定義表7-10
33、 Cyclone II系列FPGA的專用配置引腳引腳名稱用戶模式配置模式引腳類型MSEL1,0-All輸入nCONFIG-All輸入nSTATUS-All雙向、漏極開路CONF_DONE-All雙向、漏極開路nCE-All輸入nCEO若選項為ON則N/A若選項為OFF則I/OAll輸出ASDO在AS模式N/A在PS和JTAG模式I/OAS輸出nCSO在AS模式N/A在PS和JTAG模式I/OAS輸出DCLK-PS,AS輸入(PS),輸出(AS)DATA0-All輸入nMSEL1.0n該引腳是2位配置輸入,用來選擇Cyclone II設備的配置模式。詳見表7-1。該引腳必須連到地或VCCIO。n
34、nCONFIGn該引腳是配置控制輸入引腳。若在用戶模式該引腳被拉低,FPGA將丟棄其配置數據,進入復位狀態,且使所有I/O引腳為三態。nnSTATUSn上電后,nSTATUS為低,經過POR時間后被釋放。n該引腳提供Cyclone II設備狀態的輸入和輸出。n配置和初始化之后,把nSTATUS驅動為低電平不影響被配置的設備。n表7-11列出了可選的配置引腳。若這些可選的配置引腳在Quartus II軟件中未使能,它們可作為通用I/O引腳。所以在配置期間,這些引腳為用戶I/O引腳且處于有弱上拉電阻的三態。表7-11 可選的配置引腳引腳名稱用戶模式引腳類型CLKUSRN/A:若選項為ONI/O:若
35、選項為OFF輸入INIT_DONEN/A:若選項為ONI/O:若選項為OFF輸出漏極開路DEV_OEN/A:若選項為ONI/O:若選項為OFF輸入DEV_CLRnN/A:若選項為ONI/O:若選項為OFF輸入nCLKUSR CLKUSR是一個可選的由用戶提供的時鐘輸入,用來同步一個或多個設備的初始化。在Quartus II軟件中選項Enable user-supplied start-up clock (CLKUSR)為ON時,使能該引腳。nINIT_DONE INIT_DONE是一個狀態引腳,用來指示設備初始化是否完成,是否處于用戶模式。當nCONFIG為低且在配置開始時,該引腳是三態的且被
36、一個外接的10k上拉電阻拉高,當INIT_DONE的使能位被編程到FPGA時,INIT_DONE引腳將變低。當初始化完成時,INIT_DONE將被釋放且被拉高,FPGA進入用戶模式。故監測電路必須能夠檢測到一個低到高的跳變。在Quartus II軟件中選項Enable INIT_DONE output為ON 將使能該引腳。nDEV_OE 當該引腳為低時,所有I/O引腳是三態的。當為高時,所有引腳的狀態由編程決定。在Quartus II中選項Enable device-wide output enable (DEV_OE)為ON將使能該引腳。nDEV_CLRn 該可選引腳為低時,所有寄存器被清0
37、,當為高時,所有寄存器由編程決定。在Quartus II中選項Enable device-wide reset (DEV_CLRn)為ON將使能該引腳。 表7-12列出了專用的JTAG引腳,在配置之前和配置期間,JTAG引腳必須保持穩定以防止JTAG指令意外的裝載。TCK引腳有一個弱內部下拉電阻且TDI和TMS JTAG輸入引腳有內部弱上拉電阻。 表7-12 專用JTAG引腳引腳名稱用戶模式引腳類型TDIN/A輸入TDON/A輸出TMSN/A輸入TCKN/A輸入nTDI 指令、測試和編程數據的串行輸入引腳。數據在TCK的上升沿被移入。若不用JTAG接口,該引腳應接Vcc,禁止JTAG電路。nT
38、DO 指令、測試和編程數據的串行輸出引腳。在TCK的下沿數據被移出。若數據沒有正在被移出FPGA設備,該引腳為三態。若板子不用JTAG接口,該引腳應懸空,禁止JTAG電路。nTMS 提供控制信號的輸入引腳,以決定TAP控制器狀態機的變遷。在狀態機內發生的轉換發生在TCK的上沿。所以TMS在TCK的上沿到來之前必須被建立。若板子上不用JTAG接口,該引腳接Vcc將禁止JTAG電路。nTCK BST電路的時鐘輸入,某些操作發生在上沿,而其他操作發生在下沿。7.3 FPGA的配置器件的配置器件nFPGA操作期間,配置數據存貯在其內部的SRAM中。由于SRAM存貯器的易失性, FPGA每次上電后必須重
39、新裝載配置數據到SRAM中。nAltera增強型配置器件(EPC16、EPC8和EPC4)支持單個高密度FPGA設備的配置。n增強型配置器件由2個主要部分組成:控制器和Flash存儲器。n由于它的Flash容量大且具有解壓縮特性,一個配置器件可保存多個FPGA的配置數據。n未使用的Flash空間可被Nios II處理器訪問。表7-13總結了Altera配置器件的特性及它們的配置數據的容量。注意不是每個配置器件可用于配置所有的FPGA。 表7-13 Altera配置器件7.3.1串行配置器件功能描述串行配置器件功能描述串行配置器件具有以下特性 n使用AS模式配置Stratix II和Cyclon
40、e系列的FPGA,具有1M、4M、16M和64M 4種閃存容量。n使用簡單的4引腳接口。n成本低、引腳數少和非易失性存貯器。n配置期間低電流且接近0的備用模式電流。n配置期間的低電流及接近零的備用模式電流。n3.3V的操作電壓。n8腳和16腳SOIC封裝(Small outline integrated circuit) 。nNios II處理器可通過AS的存貯器接口訪問剩余的Flash空間。n具有超過100,000次的擦寫/編程周期的可重復編程存貯器。n使用狀態寄存器對存貯器扇區的寫保護支持。n利用SRunner軟件驅動程序可進行在系統編程。n可使用USB Blaster或Byte Blas
41、ter II下載電纜進行在系統編程。nAltera QuartusII軟件的編程支持。n運輸時存貯器陣列被擦除(所有位為1) 。串行配置器件包括EPCS1、EPCS4、EPCS16和EPCS64器件。EPCS1和EPCS4器件;EPCS16和EPCS64器件具有相同的封裝。串行配置器件的容量如表7-13所示。表7-14列出了每個Stratix II FPGA使用的串行配置器件。 表7-14 支持Stratix II設備的串行配置器件表7-15列出了Cyclone II FPGA使用的串行配置器件以及配置文件大小。 表7-15 Cyclone II設備所使用的串行配置器件表7-16列出了Cycl
42、one FPGA使用的串行配置器件及配置文件的大小。表7-16 Cyclone設備所使用的串行配置器件利用Stratix II和Cyclone 系列的FPGA新的數據解壓縮特性,設計者可使用較小的串行配置器件配置較大的FPGA。圖7-25 串行配置器件的方塊圖7.3.2 AS模式下的模式下的FPGA配置配置nStratix II和Cyclone系列的FPGA可使用串行配置器件在AS配置模式下進行配置。n串行配置器件有4個信號直接與FPGA的控制信號接口。串行配置器件的DTAT、DCLK、ASDI和nCS分別與FPGA的DTAT0、DCLK、ASDO和nCSO信號相連。在圖7-26中,串行配置器
43、件在AS模式配置FPGA,通過下載電纜對其編程。 圖7-26 使用下載電纜對串行配置器件進行編程 圖7-27使用APU或第3方編程器對串行配置器件進行編程在配置過程中,FPGA作為配置主設備且為串行配置器件提供時鐘。通過nCSO引腳將nCS信號拉低使能串行配置器件。在配置期間, FPGA控制nSTATUS和CONF_DONE引腳。配置成功后, FPGA釋放CONF_DONE引腳,允許外接的10k電阻把該信號拉高。CONF_DONE變高后,初始化過程開始,初始化結束后, FPGA進入用戶模式。7.3.3 AS模式下串行配置器件的存貯器訪問模式下串行配置器件的存貯器訪問 表7-17 串行配置器件的
44、存貯器組織詳細數據EPCS64EPCS16EPCS4EPCS1字節(位)8,388,608字節(64 Mbits)2,097,152字節(16 Mbits)524,888字節(4 Mbits)131, 072字節(1 Mbits)扇區數1283284每扇區的字節數(位)65,536字節(512 Kbits)65,536字節(512 Kbits)65,536字節(512 Kbits)32,768字節(256 Kbits)每扇區的頁數256256256128總頁數32,7688,1922,048512每頁的字節數256字節256字節256字節256字節下面討論訪問串行配置器件中的存貯器下面討論訪問
45、串行配置器件中的存貯器的操作的操作 1操作碼操作碼DATA、DCLK、ASDI和nCS信號訪問串行配置器件內的存貯器。配置器件的操作碼、地址和數據串行移入和移出FPGA且高位在前。不同操作的輸入數列不同。執行某個操作時,首先必須移入相應的操作碼,然后是地址字節,最后是數據字節,二者也可以均無。操作數列的最后一位移入配置器件后, FPGA必須驅動nCS為高電平。表7-18列出了串行配置器件支持的操作數列。表7-18 串行配置器件的操作碼2寫使能操作寫使能操作圖7-28 寫使能操作的時序圖 3寫禁止操作寫禁止操作寫禁止操作碼是b0000 0100,最高位在前。寫禁止操作復位寫使能鎖存位寫使能鎖存位
46、。為了防止存貯器的非法寫入,當執行寫禁止操作或在下列條件下,寫使能鎖寫使能鎖存位存位自動復位。上電寫字節操作完成寫狀態操作完成bulk擦除操作完成sector擦除操作完成圖7-29為寫禁止操作的時序圖。圖7-29 寫禁止操作時序圖4. 讀狀態操作讀狀態操作讀狀態操作碼是b0000 0101,最高位在前。利用讀狀態操作讀狀態寄存器。圖7-30、圖7-31列出了EPCS4和EPCS1中的狀態寄存器。圖7-30 EPCS4狀態寄存器圖7-31 EPCS1狀態寄存器 WIP(write in progress)位被置1指示串行配置器件正在寫或擦除周期中。復位該位意味著沒有寫或擦除周期正在進行當中。復位
47、WEL(write enable latch)位指示沒有任何寫或擦除周期將被接受。當塊保護位均為0時,bulk擦除操作才允許。當塊保護位被置1時,相應的區域不允許字節寫入操作或不允許扇區擦除操作。FPGA也可連續讀狀態寄存器,其時序如圖7-32所示。圖7-32 讀狀態操作時序圖5. 寫狀態操作寫狀態操作寫狀態操作碼為b0000 0001,最高位在前。該操作將狀態寄存器的塊保護位塊保護位置1,寫狀態操作對其他位沒有影響。寫狀態操作之前必須執行寫使能操作以將寫使能鎖寫使能鎖存位存位置1。圖7-33為寫狀態操作的時序圖。數據字節的第8位被鎖存后,nCS必須為高,否則寫狀態操作不被執行。nCS被驅動為
48、高電平后,FPGA立即初始化自定時的寫狀態周期。自定時的寫狀態周期通常需5ms,且最大不超過15ms(見表7-24的tws)。在自定時的寫周期時,WIP位為1,當它完成時為0。圖7-33 寫狀態操作時序圖6讀字節操作讀字節操作讀字節操作碼為b0000 0011,最高位在前。為了讀出串行配置器件的存貯內容,首先nCS為低選中該器件,之后,讀字節操作碼被移入,后面是3個字節的地址(A230)。每個地址位必須在DCLK的上沿被鎖入。地址鎖入后,指定地址中的存貯單元內容在DATA引腳被串行移出,且最高位在前。對rpd(Raw Programming Data)格式的文件,串行移出時最低位在前。數據位在
49、DCLK的下沿被移出。讀字節操作的DCLK的最高頻率為20MHz,圖7-34是讀字節操作的時序圖。圖7-34 讀字節操作時序圖 7讀硅片讀硅片ID操作操作n讀硅片ID操作碼是b1010 1011,最高位在前。讀操作從DATA輸出引腳讀出串行配置器件的8位引腳,若在擦除或寫周期進行讀ID操作,操作被忽略,且不影響正在進行的操作。表7-20列出串行配置器件的硅片ID。串行配置器件硅片ID(二進制值)EPCS1b0001 0000EPCS4b0001 0010EPCS16b0001 0100EPCS64b0001 0110表7-20 串行配置器件的硅片ID圖7-35 讀硅片ID操作時序圖8寫字節操作
50、寫字節操作n寫字節操作碼為b0000 0010,最高位在前。n寫字節操作允許把數據字節寫入存貯器。n該操作前必須首先執行寫使能操作。n使狀態寄存器中的寫允許位為1。n若超過256個字節的數據在一個寫字節操作中被移入配置器件,前面鎖存的數據被丟棄,最后的256個字節被寫入該頁。n若配置數據超過256個字節,則需多于1頁的存貯器。n在寫一個新頁之前,需發送寫使能和寫字節操作碼,跟著3個新的目標地址字節以及256個數據。最后一個字節數據的第8位被鎖入后,nCS必須被驅動為高電平。否則,寫操作不執行。每個寫字節操作完成前,狀態寄存器的寫允許鎖存位被清0,所以下一個寫字節操作前必須執行寫使能操作。nCS
51、為高電平之后,器件立即初始化自定時(self-timed)的寫周期,EPCS4寫周期通常需1.5ms,EPCS1需2ms,最大不能超過5ms(見表7-24中的twb)。所以在寫新的一頁存貯器時,必須考慮該延時。另外,在自定時寫周期進行時,通過執行讀狀態操作可檢查WIP。在寫周期時,該位被置1,完成時為0。圖7-36 寫字節操作時序圖9擦除擦除Bulk操作操作 n擦除Bulk操作碼是b1100 0111,最高位在前。該操作將所有存貯位寫為1或FFH。與寫字節操作類似,在擦除bulk操作之前,必須執行寫使能操作以至于狀態寄存器的寫使能鎖存位被置為1。n該操作執行過程是:nCS為低后,在ASDI引腳
52、移入擦除操作碼,操作碼的第8個數據位被鎖存后,nCS必須被驅動為高電平。圖7-37為該操作時序圖。圖7-37 擦除Bulk操作時序圖10擦除扇區操作擦除扇區操作n擦除扇區操作操作碼是b1101 1000,最高位在前。n擦除扇區操作過程是:首先使nCS為低,然后通過ASDI引腳移入操作碼,接著是選擇扇區的3個字節的地址碼。該地址碼可以是所指定扇區內的任意地址。地址的最后一位被鎖存后拉高nCS,圖7-38是其時序圖。圖7-38 擦除扇區操作時序圖 7.3.4 電源與操作電源與操作 n討論電源模式、POR(power_on reset)延遲、錯誤檢測和串行配置器件的初始編程狀態。 1電源模式電源模式
53、n串行配置器件支持現用電源(active power)和備用電源(stand power)模式。 2上電復位上電復位n上電期間有POR延時以確保系統電壓達到穩定。 3錯誤檢測錯誤檢測n在串行配置器件的AS配置期間,FPGA通過nSTATUS和CONF_DONE引腳監視配置狀態.7.3.5 串行配置器件的時序串行配置器件的時序圖7-39 寫操作時序表7-21 寫操作參數 符號參數最小最大單位fWCLK來自FPGA、下載電纜或嵌入式處理器的寫時鐘頻率25MHZtCHDCLK高電平保持時間20nstCLDCLK低電平保持時間20nstNCSSU片選(nCS)建立時間10nstNCSH片選(nCS)保
54、持時間10nstDSUASDI建立時間(DCLK上沿之前)5nstDHASDI保持時間(DCLK上沿之后)5nstCSH片選的高電平持續時間100nstWB_EPCS1(1)EPCS1的寫字節周期的時間25mstWB_EPCS4(1)EPCS4的寫字節周期的時間1.55mstWB_EPCS16(1)EPCS16的寫字節周期的時間1.55mstWB_EPCS64(1)EPCS64的寫字節周期的時間1.55mstWS寫狀態周期時間515mstWB_EPCS1(1)EPCS1器件的擦除bulk周期時間36stWB_EPCS4(1)EPCS4器件的擦除bulk周期時間510stWB_EPCS16(1)
55、EPCS16器件的擦除bulk周期時間1740stWB_EPCS64(1)EPCS64器件的擦除bulk周期時間68160stES(1)擦除扇區周期時間23s圖7-40 讀操作時序 符號參數最小最大單位fRCLK來自FPGA或嵌入式處理器的讀字節操作時鐘頻率20MHztCHDCLK高電平持續時間25nstCLDCLK低電平持續時間25nstODIS讀操作完成后輸出禁止時間15nstnCLK2D時間下沿到數據有效的時間15ns表7-22 讀操作參數表7-23 AS配置下時序參數符號參數最小典型最大單位fCLK來自Cyclone FPGA的DCLK頻率141720MHzfCLK來自StratixI
56、I或Cyclone II的FPGA(1)的DCLK頻率20(2)26(2)40(2)MHz101320MHztCHDCLK高電平持續時間25nstCLDCLK低電平持續時間25nstHDCLK上沿發生后數據保持時間0nstSUDCLK上沿之前數據建立時間5nstPORPOR延遲100ms7.3.6 編程與配置文件編程與配置文件Quartus II支持串行配置器件的編程。選擇串行配置器件后,Quartus II自動創建用來對配置器件進行編程的.pof(Programmer Object File)文件。外部微處理器通過SRunner可對串行配置器件進行在系統編程。在使用USB Blaster或B
57、yteBlaster II下載電纜的串行配置器件在系統編程期間,電纜拉低nCONFIG引腳使FPGA復位。編程完成后,下載電纜立即釋放上面4個引腳及FPGA的nCE引腳,發脈沖給nCONFIG,啟動配置過程。7.3.7 串行配置器件的引腳描述串行配置器件的引腳描述圖7-41 串行配置器件的8腳封裝引腳圖 圖7-42 串行配置器件的16腳封裝引腳圖 引腳名稱引腳號引腳類型DATA2輸出ASDI5輸入nCS1輸入DCLK6輸入Vcc3,7,8電源GND4地表7-24 串行配置器件引腳描述DATA在讀/配置操作期間,該引腳將配置數據串行輸出到FPGA。把nCS拉低啟動配置器件,DATA信號在DCLK
58、的下沿發生跳變。ASDI該信號用于將數據串行輸入到配置器件。它接收串行配置器件的編程數據,數據在DCLK的上沿被鎖存。nCS該信號在指令執行的開始和結束時發生跳變。當它為高時,器件未選中,DATA為三態。當它為低時,器件被使能且使設備為主動方式。上電后任何操作開始以前,nCS上應有一下降沿。DCLKDCLK由FPGA提供。它是串行接口的時序信號,在DCLK的上升沿,出現在ASDI上的數據被鎖進串行配置器件,DCLK的下沿出現后,DATA上的數據發生改變且在上升沿被鎖進FPGA。Vcc連到3.3V的電源信號。GND地信號。7.4 Quartus II中中FPGA配置的選項配置的選項7.4.1配置
59、選項配置選項 在Quartus II的Assignments下拉菜單中,雙擊Device.或Setting.選項,打開Settings畫面,單擊畫面中DevicePin Options按鈕,打開DevicePin Options對話框,在該對話框中的Configuration標簽中可以設定配置模式和配置器件。如圖7-43所示。圖7-43 配置對話框 圖7-44 雙用途引腳對話框圖7-45 配置選項對話框7.4.2 配置文件的格式配置文件的格式Quartus II開發工具可創建多種格式的配置和編程文件來支持各種配置模式。當編譯某個設計時,Quartus II將自動產生一個.SOF(SRAM Ob
60、ject File)和一個.POF(Programm Object File)文件,用于配置設備。1配置文件的產生配置文件的產生為了設定Quartus II在編譯期間產生的其他的配置文件格式,在Device Pin Options對話窗口選中Programming Files標簽,如圖7-46所示。 圖7-46編程文件對話框圖7-47轉換編程文件對話框 2RAM Object File (.sof)當在Quartus II中使用USB Blaster、MasterBlaster、ByteBlaster II、EthernetBlaster 或 ByteBlasterMV等下載電纜直接下載配置數
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 關于樓上漏水維修協議書
- T/CADBM 30-2020步入式浴缸
- 劇本殺店股份合同范本
- 二人個體入股合同范本
- 場地運營合作分成協議書
- 投資購買開發土地協議書
- 仲裁協商一致撤訴協議書
- 學校員工住宿安全協議書
- 別墅未過戶先裝修協議書
- 辦理讀書租賃合同范本
- DB22∕T 3181-2020 公路水路行業安全生產風險分級管控和隱患排查治理雙重預防機制建設通用規范
- GB/T 36713-2018能源管理體系能源基準和能源績效參數
- GB/T 25068.1-2020信息技術安全技術網絡安全第1部分:綜述和概念
- “二級甲等婦幼保健院”評審匯報材料
- 《狼王夢》讀書分享PPT
- 三年級美術下冊第10課《快樂的節日》優秀課件1人教版
- 電力市場交易模式
- 第四課《單色版畫》 課件
- 門診手術麻醉原則課件
- 自動噴水滅火系統質量驗收項目缺陷判定記錄
- 提高腸鏡患者腸道準備合格率課件
評論
0/150
提交評論