本文我們介紹下7系列FPGA的配置接口,在進行硬件電路圖設(shè)計時,這也是我們非常關(guān)心的內(nèi)容,本文主要介紹配置模式的選擇、配置管腳定義以及如何選擇CFGBVS管腳電壓及Bank14/15電壓。
1.概述
Xilinx®7系列設(shè)備有五個配置接口。每個配置接口對應(yīng)一個或多個配置模式和總線寬度,如表1所示。有關(guān)接口詳細的時序信息,可以參閱相應(yīng)的7系列FPGA數(shù)據(jù)手冊。配置時序主要與FPGA配置時鐘管腳CCLK有關(guān)。
表1、7系列FPGA配置模式注意:1)Slave SelectMAP x16 and x32模式不支持AES比特流加密;2)由于FPGA內(nèi)部上拉電阻原因,該模式為默認模式。在表格1中,可以看到,在主配置模式下,CCLK時鐘方向為輸出,即有FPGA提供時鐘,而在從模式下,CCLK時鐘方向為輸入,即時鐘由外部控制器或處理器提供。
2.配置管腳
每個配置模式都有一組對應(yīng)的接口引腳,這些引腳跨越7系列FPGA上的一個或多個I/O Bank。Bank0包含專用配置引腳,并且始終是每個配置接口的一部分。Bank14和Bank15包含特定配置模式中涉及的多功能管腳。7系列FPGA數(shù)據(jù)表規(guī)定了在3.3V、2.5V、1.8V或1.5V電壓下工作的Bank配置引腳的開關(guān)特性。
表2、配置模式管腳
表3、配置模式管腳
注意:
PUDC_B在配置期間具有特殊功能,獨立于所有配置接口,例如,PUDC_B不需要與配置接口中的其他引腳電壓兼容。
EMCCLK僅BitGen ExtMasterCclk_en選項使能EMCCLK作為主配置模式時鐘輸入時使用。
DOUT僅在串行配置菊花鏈中用于向下游FPGA輸出數(shù)據(jù)(或用于DebugBitstream選項)。否則,DOUT為high-Z。
CSO_B僅用于并行配置菊花鏈中,用于向下游器件輸出芯片使能信號。否則,CSO_B為高阻狀態(tài)。
RS0和RS1僅在啟動多引導(dǎo)事件或啟用ConfigFallback選項且發(fā)生回退事件時才被驅(qū)動。否則,RS0和RS1為高阻狀態(tài)。當使用RS[1:0]引腳進行配置時,建議不要在用戶模式下使用它們。
- 空單元格表示該引腳未在配置模式下使用,被忽略,并且在配置期間為高阻狀態(tài)。
在表2中可以看到,所有JTAG和專用配置引腳都位于一個單獨的專用Bank0中,該Bank具有專用電源(VCCO_0)。多功能管腳位于Bank14和Bank15中。所有專用輸入引腳均在VCCO_0 LVCMOS電平(LVCMOS18、LVCMOS25或LVCMOS33)下工作。所有激活專用輸出引腳在VCCO_0電壓水平下工作,輸出標準設(shè)置為LVCMOS、12 mA驅(qū)動、快速轉(zhuǎn)換率。對于使用多功能I/O的所有模式,必須將相關(guān)的VCCO_14或VCCO_15連接到適當?shù)碾妷海云ヅ渑渲闷骷腎/O標準。多功能引腳也是LVCMOS,12 mA驅(qū)動,配置期間轉(zhuǎn)換速率快。如果使用Persist選項,則所選配置模式的多功能I/O在配置后保持激活狀態(tài),I/O標準默認設(shè)置為LVCMOS、12 mA驅(qū)動器、慢轉(zhuǎn)換率。
表4、配置管腳定義
2.1 配置Bank電壓選擇
配置Bank電壓選擇(CFGBVS)引腳必須設(shè)置為高或低,以便在配置期間使用時確定Bank0中引腳以及組14和15中多功能引腳的I/O電壓支持。當CFGBVS引腳為高電平時(例如,連接到3.3V或2.5V的VCCO_0電源),配置期間和之后,Bank0上的配置和JTAG I/O支持3.3V或2.5V下的操作。當CFGBVS引腳為低電平(例如,連接到GND)時,Bank0中的I/O支持1.8V或1.5V下的操作。1.2V下不支持配置。CFGBVS同樣控制Bank14和15上的電壓公差,但僅在配置期間。當CFGBVS高時,Bank14和15上的配置I/O在配置期間支持在3.3V或2.5V下運行。當CFGBVS引腳較低時,Bank14和15中的配置I/O在配置期間支持在1.8V或1.5V下運行。7系列FPGA有兩種I/O組類型:寬范圍(HR I/O)組支持3.3V、2.5V和一些低電壓I/O標準,高性能(HP I/O)組支持1.8V或更低電壓的I/O標準。專用配置和JTAG I/O位于Bank0中。Bank0是除Virtex-7 HT設(shè)備外的所有設(shè)備上的寬范圍Bank類型。一些配置模式也依賴于Bank14和/或Bank15中的管腳。
Bank14和Bank15是Spartan-7、Artix-7和Kintex-7系列中的HR I/O組,但始終是Virtex-7系列中的HP I/O Bank。注意:CFGBVS引腳在Virtex-7 HT設(shè)備上不可用。Virtex-7 HT設(shè)備僅支持配置Bank 1.8V操作。表5顯示了CFGBVS引腳連接選項以及相應(yīng)的Bank有效VCCO電源和I/O電壓。
表5、CVGBVS管腳連接選項警告:當1.8V/1.5V I/O操作的CFGBVS設(shè)置為GND時,至Bank0的VCCO_0和I/O信號必須為1.8V(或更低)。如果在配置期間使用這些Bank中的配置I/O,則VCCO_14和VCCO_15也必須為1.8V/1.5V。否則,在這些Bank上的管腳上施加大于1.8V工作最大值的電壓可能會損壞器件。
根據(jù)配置模式,與該模式相關(guān)聯(lián)的接口引腳可以跨越Bank0、Bank14和Bank15。通常,所有三個Bank都接收相同的VCCO電壓電源,以確保所有配置接口引腳具有一致的I/O電壓接口。建議對Bank0、14和15使用相同的電壓,因為它允許選擇使用8位或更寬的配置模式,并避免配置完成后需要I/O轉(zhuǎn)換。使用下列步驟決定CFGBVS管腳設(shè)置:
- 確定FPGA配置模式;對于要用于FPGA的配置模式,確定用于配置模式的管腳Bank位置;對于每個Bank配置引腳,確定所需配置Bank通用I/O所需的電壓支持;確定目標FPGA系列。Virtex-7 FPGA在Bank14和15上僅支持1.8V/1.5V配置。Virtex-7HT系列在Bank0上也僅支持1.8V配置,因此沒有CFGBVS引腳;設(shè)置CFGBVS引腳以支持所需的配置I/O電壓。
表6、Spartan-7、Artix-7和Kintex-7 FPGA配置模式、兼容電壓和CFGBVS連接
表7、Virtex-7 T FPGA配置模式、兼容電壓和CFGBVS連接
表8、Virtex-7 HT FPGA配置模式、兼容電壓和CFGBVS連接
表9、配置模式、兼容電壓和CFGBVS管腳連接
2.2 在Vivado工具中設(shè)置配置選項
通過設(shè)置配置電壓或CFGBVS屬性,可以將配置電壓的選擇傳達給Vivado工具。此外,還可以定義CONFIG_MODE屬性,以便工具識別所使用的配置管腳。如果配置引腳設(shè)置之間存在任何沖突,例如,多功能配置引腳上的IOS標準與配置電壓沖突,Vivado工具將提供警告。通過Vivado工具可以驗證硬件I/O電壓設(shè)計是否正確。
2.3 外部主配置時鐘(EMCCLK)選項
默認情況下,主配置模式使用內(nèi)部生成的配置時鐘源CCLK。使用此時鐘選項很方便,因為不需要外部時鐘發(fā)生器源。但是,對于配置時間縮短至關(guān)重要的應(yīng)用,應(yīng)使用外部主配置時鐘(EMCCLK)。EMCCLK時鐘允許使用比具有主CCLK頻率容差(FMCCKTOL)的FPGA內(nèi)部時鐘更精確的外部時鐘源。例如,當主CCLK的最大頻率為100 MHz時,50%的容差意味著ConfigRate設(shè)置不能超過66 MHz。但是,外部時鐘源可以在規(guī)范允許的情況下以最快的速度應(yīng)用。7系列FPGA支持在主模式下動態(tài)切換到外部時鐘源(EMCCLK)的能力。使能EMCCLK時鐘可以通過:
- 使能ExtMasterCclk_en比特流產(chǎn)生選項;將FPGA上的EMCCLK連接到主板的振蕩器或其他時鐘源;定義EMCCLK目標電壓。以下方法可以實現(xiàn)這一點:
- Bank14具有另一個已定義IOSTANDARD的管腳。Bank14上定義的電壓自動應(yīng)用于EMCCLK; EMCCLK信號在配置后的設(shè)計中使用,并定義了IOSTANDARD。
EMCCLK信號必須實例化,并在提供I/O標準定義的設(shè)計中使用,因為EMCCLK是一個多用途引腳,或者電壓電平將取自Bank14中定義的另一個引腳。
將EMCCLK輸入連接到板上的振蕩器或其他時鐘源,并當做關(guān)鍵信號進行布線處理,使用良好的信號完整性設(shè)計實踐,特別是對于非常高速的時鐘,以避免配置過程中出現(xiàn)錯誤。