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