- Intel FPGA權(quán)威設計指南:基于Quartus Prime Pro 19集成開發(fā)環(huán)境
- 何賓編著
- 4818字
- 2021-10-29 21:33:54
1.7 配置技術
本節(jié)將介紹Cyclone 10 GX器件的配置策略、設計安全和遠程系統(tǒng)更新。Cyclone 10 GX器件的配置策略和功能如表1.32所示。
表1.32 Cyclone 10 GX器件的配置策略和功能

為了選擇不同的配置策略,MSEL引腳硬連線到VCCPGM或GND,無須上拉或下拉電阻。用于不同配置策略的MSEL引腳的設置如表1.33所示。
表1.33 用于不同配置策略的MSEL引腳的設置

Cyclone 10 GX器件的配置引腳如表1.34所示。
表1.34 Cyclone 10 GX器件的配置引腳

1.7.1 AS配置
用于AS配置策略的EPCQ-L編程高級視圖如圖1.74所示。在AS配置策略中,配置數(shù)據(jù)保存在EPCQ-L配置器件中。設計者可以使用帶有串行Flash加載器IP核的JTAG接口對系統(tǒng)內(nèi)的 EPCQ-L 器件進行編程。SFL 充當 JTAG 接口與 EPCQ-L 器件之間的橋接器。Cyclone 10 GX器件內(nèi)的AS存儲器接口控制配置過程。

圖1.74 用于AS配置策略的EPCQ-L編程高級視圖
AS配置策略支持1位數(shù)據(jù)寬度和4位數(shù)據(jù)寬度模式。AS×4模式的配置時間比AS×1模式的配置時間快4倍。在AS配置方案中,Cyclone 10 GX器件控制配置接口。

注
對于使用SFL的AS編程,MSEL引腳必須設置為AS設置,以允許編程器讀取EPCQ-L ID。
設計者可以使用 Intel FPGA 下載電纜在系統(tǒng)內(nèi)編程 EPCQ-L 器件,或者可以使用帶有SRunner軟件驅(qū)動程序的微處理器對EPCQ-L進行編程。
在系統(tǒng)編程(In-System Programming,ISP)為設計者提供了使用 AS 編程接口或JTAG接口對EPCQ-L進行編程的選項。使用AS編程接口時,通過Quartus軟件或支持第三方軟件編程到EPCQ-L中。使用JTAG接口,必須將稱為SFL的IP核下載到Cyclone 10 GX器件中,以構(gòu)成JTAG接口和EPCQ-L之間的橋接。這允許EPCQ-L使用JTAG接口直接編程。

注
EPCQ_L 即將停產(chǎn),改由使用 MT25QU256 芯片,該芯片為 1.8V 供電,與 EPCQ_L 兼容。在使用該芯片配置 Cyclone 10 GX 器件時,在quartus.ini文件中,添加pgm_allow_mt25q=on。
1.使用JTAG接口用于編程EPCQ-L
使用JTAG接口編程EPCQ-L的連接設置(×4模式),如圖1.75所示。

圖1.75 使用JTAG接口編程EPCQ-L的連接設置(×4模式)

注
(1)每個Cyclone 10 GX器件有3個nCSO引腳,即nCSO[2..0],這樣該器件就可以連接最多 3 個 EPCQ-L 器件。使用 3 個 EPCQ-L 器件的優(yōu)勢如下。
① 能保存多個設計文件,用于遠程系統(tǒng)更新。
② 當超過最大單個EPCQ-L器件容量時,可以增加存儲容量。
(2)在×1 模式下,只連接 Cyclone 10 GX 的 AS_DATA1 引腳和EPCQ-L的DATA引腳。
在配置期間,Cyclone 10 GX器件通過將其nCSO輸出引腳驅(qū)動為低來使能EPCQ-L器件,該引腳連接到 EPCQ-L 器件的片選(nCS)引腳。Cyclone 10 GX器件通過使用DCLK和ASD0引腳給EPCQ-L器件發(fā)送操作命令和讀地址信號。EPCQ-L器件在其串行數(shù)據(jù)輸出(DATA[])引腳上提供數(shù)據(jù),它連接到Cyclone 10 GX器件的AS_DATA[]引腳輸入。

注
如果希望控制EPCQ-L引腳,請將nCONFIG引腳保持為低電平,并將nCE引腳拉高。這將導致器件復位并使AS配置引腳處于三態(tài)。
AS配置的時序如圖1.76所示。

圖1.76 AS配置的時序

注
(1)如果使用AS×4模式,這個信號表示AS_DATA[3..0],并且在每個DCLK周期EPCQ-L發(fā)送4位數(shù)據(jù);
(2)初始化時鐘可以來自于內(nèi)部振蕩器或CLKUSR引腳;
(3)當選項比特位使能 INIT_DONE 引腳配置到器件后,INIT_DONE變低;
(4)nCSO下降沿到DCLK第一個切換的時間大于15ns。
2.使用AS接口編程EPCQ-L
使用AS接口編程EPCQ-L器件的電路連接如圖1.77所示。當編程EPCQ-L器件時,下載電纜通過將 nCE 引腳驅(qū)動為高電平來禁止訪問 AS 接口。同時,nCONFIG 線也被拉低,使得Cyclone 10 GX器件處于復位階段。編程完成后下載電纜釋放nCE和nCONFIG,允許下拉和上拉電阻分別將引腳驅(qū)動到GND和VCCPGM。

圖1.77 使用AS接口編程EPCQ-L器件的電路連接
在使用下載電纜對 EPCQ-L 器件編程的期間,通過 DATA0 將編程數(shù)據(jù)、操作命令和地址信息從下載電纜傳送到EPCQ-L器件。在使用下載電纜驗證EPCQ-L器件的期間,DATA1將編程數(shù)據(jù)傳輸給下載電纜。
3.多器件AS配置
多器件AS配置如圖1.78所示。

圖1.78 多器件AS配置
1.7.2 PS配置
用于 PS 配置策略的 EPCQ-L 編程高級視圖如圖 1.79 所示。PS 配置使用外部主機。設計者可以使用微處理器、MAX II器件、MAX V器件或者主機PC作為外部設備。

圖1.79 用于PS配置策略的EPCQ-L編程高級視圖
設計者可以使用外部主機控制配置數(shù)據(jù)從外部存儲器(如 Flash)到 FPGA 的傳輸。控制配置過程的設計駐留在外部主機中。
設計者可以將配置數(shù)據(jù)保存在編程器目標文件(progtammer object file,.pof)、.rbf、.hex或.ttf中,首先發(fā)送每個數(shù)據(jù)字節(jié)的LSB。例如,如果.rbf包含字節(jié)序列02 1B EE 01 FA,則發(fā)送到設備的串行數(shù)據(jù)必須是0100-0000 1101-1000 0111-0111 1000-0000 0101-1111。
設計者可以將PFL IP核與MAX II或MAX V器件一起使用,以從閃存器件中讀取配置數(shù)據(jù),并配置Cyclone 10 GX器件。
對于PC主機,使用Intel FPGA下載電纜將PC連接到設備。配置數(shù)據(jù)串行移入器件的DATA0引腳。
如果使用Quartus編程器并且使能CLKUSR引腳,則不需要為該引腳提供時鐘源來初始化器件。
1.使用外部主機的PS單器件配置
在該模式下,配置Cyclone 10 GX器件,將器件連接到一個外部主機,如圖1.80所示。通過將CONF_DONE和nSTATUS引腳連接在一起,器件可以同時初始化并進入用戶模式。如果鏈路中的任何器件發(fā)生錯誤,則將停止配置整個鏈,并且必須重新配置所有器件。例如,如果鏈路中的第一個器件在 nSTATUS 引腳上標記錯誤,則會通過拉低 nSTATUS 引腳來復位整個鏈路。
如果使用相同的配置數(shù)據(jù)在鏈路中配置器件,則器件必須具有相同的封裝和密度。
2.使用Intel FPGA下載電纜的PS單器件配置
在該模式下,配置Cyclone 10 GX器件,將器件連接到下載電纜,如圖1.81所示。

圖1.80 使用外部主機的PS單器件配置

圖1.81 使用Intel下載電纜的PS單器件配置
3.使用多個配置數(shù)據(jù)
要使用多個配置數(shù)據(jù)在鏈中配置多個Cyclone 10 GX器件時,將器件連接到外部主機,如圖1.82所示。
在器件配置完后,它的 nCEO 引腳釋放為低電平,以激活鏈中下一個器件的 nCE 引腳。在一個時鐘周期內(nèi),自動開始配置第二個器件。

圖1.82 使用多個配置數(shù)據(jù)

注
默認,Quartus 軟件禁止 nCEO 引腳。對于多器件配置鏈,必須在Quartus軟件中使能nCEO引腳。否則,配置器件可能會失敗。
4.使用一個配置數(shù)據(jù)
要使用一個配置數(shù)據(jù)在鏈中配置多個Cyclone 10 GX器件時,將器件連接到外部主機,如圖1.83所示。

圖1.83 使用一個配置數(shù)據(jù)
在該鏈路中,器件的nCE引腳連接到GND,允許這些器件的配置同時開始和結(jié)束。
5.使用PC主機和下載電纜
要配置多個Cyclone 10 GX器件,將器件連接到下載電纜,如圖1.84所示。

默認,Quartus 軟件禁止 nCEO 引腳。對于多器件配置鏈,必須在Quartus軟件中使能nCEO引腳。否則,配置器件可能會失敗。
注
在器件配置完后,它的 nCEO 引腳釋放為低電平,以激活鏈中下一個器件的 nCE 引腳。為第二個器件自動開始配置。
6.PS配置時序
PS配置的時序如圖1.85所示。

注
(1)上電后,器件在POR延遲時保持nSTATUS為低電平。
(2)上電后,配置前和配置期間,CONF_DONE為低電平。
(3)配置后,不要讓 DCLK 浮動。可以將它驅(qū)動為高或低,以更方便的方式。
(4)配置后,DATA0 可作為用戶的 I/O 引腳。該引腳的狀態(tài)取決于在器件和引腳選項中的兩用引腳設置。
(5)為確保配置成功,給器件發(fā)送整個配置數(shù)據(jù)。當器件成功接收到所有配置數(shù)據(jù)后,CONF_DONE 釋放為高電平。在 CONF_DONE 變成高電平后,在DCLK發(fā)送兩個額外的下降沿以開始初始化并進入用戶模式。
(6)當使能選項位去使能INIT_DONE引腳配置到器件后,INIT_DONE變低。
(7)在nSTATUS拉高之前,不要將DCLK切換為高電平。
1.7.3 FPP配置
用于 FPP 配置策略的 Flash 高級視圖如圖 1.86 所示。FPP 配置策略使用一個外部主設備,可選的主設備有微處理器、MAX II器件或MAX V器件。這個策略是配置Cyclone 10 GX器件最快的方法。FPP配置策略支持8位、16位和32位的數(shù)據(jù)寬度。
可以使用外部主機來控制配置數(shù)據(jù)從外部存儲器(如閃存)到FPGA的傳輸。控制配置過程的設計駐留在外部主機中。可以將配置數(shù)據(jù)存儲在原始二進制文件(raw binary file,rbf)、十六進制(Intel格式)文件(.hex)或者表格文本文件(tabular text file,ttf)中。

圖1.84 使用Intel FPGA 下載電纜的多個器件的PS配置

圖1.85 PS配置的時序

圖1.86 用于FPP配置策略的Flash編程高級視圖
可以將PFL IP核與MAX II或MAX V器件一起使用,以從閃存器件讀取配置數(shù)據(jù)并配置到Cyclone 10 GX器件。

注
在CONF_DONE引腳變高后,要求兩個DCLK下降沿,以便在FPP配置中為未壓縮核壓縮的配置數(shù)據(jù)開始初始化設備。
1.單個器件配置
要配置Cyclone 10 GX器件,將器件連接到外部主機,如圖1.87所示。

圖1.87 FPP模式的單個器件配置

注
如果使用 FPP×8 配置模式,使用 DATA[7..0]引腳;如果使用 FPP×16配置模式,使用DATA[15..0]引腳;如果使用FPP×32配置模式,使用DATA[31..0]引腳。
2.使用多個配置數(shù)據(jù)配置多個器件
使用多個配置數(shù)據(jù)配置一個鏈路中的多個 Cyclone 10 GX 器件,將器件連接到外部主機,如圖1.88所示。
3.使用一個配置數(shù)據(jù)配置多個器件
使用多個配置數(shù)據(jù)配置一個鏈路中的多個 Cyclone 10 GX 器件,將器件連接到外部主機,如圖1.89所示。在該鏈路中,器件的nCE引腳連接到GND,允許同時開始和結(jié)束配置這些器件。
4.FPP配置時序
當DCLK到DATA[]的比值為1時的FPP配置時序如圖1.90所示。

注
(1)上電后,器件在POR延遲時保持nSTATUS為低電平。
(2)上電后,在配置前和配置期間,CONF_DONE為低電平。
(3)配置后,不要讓 DCLK 懸空。當配置完成后,將忽略 DCLK。如果需要,可將它切換到高或低。
(4)對于 FPP×16,使用 DATA[15..0];對于 FPP×8,使用 DATA [7..0]。配置后,DATA[31:0]可作為用戶 I/O 引腳使用,該引腳的狀態(tài)取決于引腳的雙用途設置。
(5)為了確保配置成功,將整個配置數(shù)據(jù)發(fā)送到器件。當器件成功收到所有配置數(shù)據(jù)時,將CONF_DONE釋放為高。在CONF_DONE變?yōu)楦唠娖胶螅?DCLK 上發(fā)送兩個額外的下降沿以開始初始化并進入用戶模式。
(6)在使能位使能 INIT_DONE 引腳配置到器件后,INIT_DONE 變?yōu)榈汀?/p>
(7)在nSTATUS拉高之前,不要將DCLK切換為高電平。
當DCLK到DATA[]的比值大于1時的FPP配置時序如圖1.91所示。

圖1.88 EPP模式使用多個配置數(shù)據(jù)配置多個器件

圖1.89 EPP模式使用一個配置數(shù)據(jù)配置多個器件

圖1.90 當DCLK當DATA[]的比值為1時的FPP配置時序

圖1.90 當DCLK到DATA[]的比值大于1時的FPP配置文件

注
(1)上電后,器件在POR延遲時保持nSTATUS為低電平。
(2)上電后,在配置前和配置期間,CONF_DONE為低電平。
(3)在配置后,不要讓DCLK懸空。可將它驅(qū)動為高或低。
(4)“r”表示DCLK到DATA[]的比值。對于使用解壓縮和設計安全功能設置DCLK到DATA[]的比值。
(5)如果需要,暫停 DCLK 并保持為低電平。重啟 DCLK 時,外部主機必須在發(fā)送第一個DCLK上升沿之前在DATA[31..0]引腳上提供數(shù)據(jù)。
(6)為了確保配置成功,將整個配置數(shù)據(jù)發(fā)送到器件。當器件成功收到所有配置數(shù)據(jù)時,將CONF_DONE釋放為高。在CONF_DONE變?yōu)楦唠娖胶螅?DCLK 上發(fā)送兩個額外的下降沿以開始初始化并進入用戶模式。
(7)在使能位使能 INIT_DONE 引腳配置到器件后,INIT_DONE 變?yōu)榈汀?/p>
(8)在nSTATUS拉高之前,不要將DCLK切換為高電平。
1.7.4 JTAG配置
在Cyclone 10 GX器件中,JTAG指令優(yōu)先于其他配置方案。JTAG是英文全稱Joint Test Action Group(聯(lián)合測試行動小組)的縮寫,它是一種國際標準測試協(xié)議(IEEE1149.1 兼容),主要用于測試芯片的內(nèi)部。
Quartus 軟件生成一個 SRAM 對象文件(SRAM Object File,SOF),設計者可以使用Quartus 軟件編程器中的下載電纜配置 JTAG。或者,使用帶有.rbf 或 JAM 標準測試和編程語言(Standard Test and Programming Language,STAPL)格式文件(.jam)的 JRunner 軟件,或者使用帶有第三方編程器工具的JAM字節(jié)代碼(JAM byte code,jbc)文件。

注
如果使用基于JTAG的配置來配置Cyclone 10 GX器件,則無法使用Cyclone 10 GX器件的解壓縮或設計安全功能。Cyclone 10 GX器件上的芯片級復位(DEV_CLRn)和芯片級輸出使能(DEV_OE)引腳不會影響JTAG邊界掃描或編程操作。Intel FPGA下載電纜可支持1.5V/1.8V的VCCPGM電壓,但是不支持1.2V的目標電源電壓。
1.單個器件配置
要在 JTAG 鏈中配置單個器件,編程軟件會將其他器件設置為旁路模式。在旁路模式下的器件,通過單個旁路寄存器將編程數(shù)據(jù)從TDI 引腳傳輸?shù)?TDO引腳。配置數(shù)據(jù)在一個時鐘周期后可用。
Quartus 軟件使用 CONF_DONE 引腳驗證通過 JTAG 接口的配置過程是否完成。當CONF_DONE 引腳為低電平時表示配置失敗;當 CONF_DONE 引腳為高電平時表示配置成功。
當使用JTAG TDI接口串行傳輸配置數(shù)據(jù)后,TCK接口再驅(qū)動額外的1222周期以執(zhí)行器件初始化操作。
要使用下載電纜配置Cyclone 10 GX器件,按圖1.92所示設計電路。

圖1.92 使用下載電纜配置器件
使用外部微處理器配置Cyclone 10 GX器件,按圖1.93所示設計電路。設計者可以使用JRunner作為軟件驅(qū)動程序。
2.多個器件配置
JTAG也可以配置鏈路上的多個器件,如圖1.94所示。在JTAG多器件配置模式下,應遵守下面的規(guī)則:
(1)隔離CONF_DONE和nSTATUS引腳,允許每個器件獨立進入用戶模式。
(2)一個JTAG兼容頭連接到JTAG鏈中的多個器件。鏈路中器件的個數(shù)僅受下載電纜驅(qū)動能力的限制。
(3)如果 JTAG 鏈中有 4 個或以上的器件,則使用板載緩沖器緩沖 TCK、TDI 和 TMS引腳。設計者也可以將其他具有JTAG支持的Intel FPGA連接到該鏈路中。
(4)當系統(tǒng)包含多個器件或使用JTAG邊界掃描測試(Boundary Scan Testing,BST)電路測試系統(tǒng)時,JTAG鏈的器件編程是理想的選擇。

圖1.93 使用外部微處理器配置器件

圖1.94 使用JTAG配置多個器件
1.7.5 配置流程
Cyclone 10 GX器件的配置過程如圖1.95所示。

圖1.95 Cyclone 10 GX器件的配置過程

注
除用于部分可重配置操作外,設計者可以通過將 nCONFIG 引腳拉低至少最小 tCFG的低脈沖來初始化重配置。當拉低該引腳時,nSTATUS和CONF_DONE引腳也被拉低,所有I/O引腳都連接到弱上拉。
- Effective STL中文版:50條有效使用STL的經(jīng)驗(雙色)
- 計算機組裝·維護與故障排除
- Deep Learning with PyTorch
- 計算機應用與維護基礎教程
- 數(shù)字邏輯(第3版)
- Svelte 3 Up and Running
- Learning Game Physics with Bullet Physics and OpenGL
- VCD、DVD原理與維修
- CC2530單片機技術與應用
- SiFive 經(jīng)典RISC-V FE310微控制器原理與實踐
- 筆記本電腦維修實踐教程
- Wireframing Essentials
- 單片機原理及應用:基于C51+Proteus仿真
- Spring Cloud實戰(zhàn)
- Intel FPGA權(quán)威設計指南:基于Quartus Prime Pro 19集成開發(fā)環(huán)境