一、FPGA配置引腳說明
1、CFGBVS
如果VCCO0連接至2.5V或3.3V,CFGBVS連接至VCCO0。
如果VCCO0連接至1.5V或1.8V,CFGBVS連接至GND。
建議bank0、bank14、bank15的VCCO電壓一致,避免出現(xiàn)I/O Transition at the End of Startup(建議按照下表進行配置)
2、M[2:0]
模式配置引腳,按照下表進行選擇。
3、PROGRAM_B(input)
低電平有效,為低時,配置信息被清空,將配置過程重新進行。上電時保持PROGRAM_B為低電平不會使FPGA配置保持復位狀態(tài)。而是使用INIT_B來延遲上電配置序列。
4、INIT_B(inout)
FPGA處于配置復位狀態(tài),F(xiàn)PGA正在初始化(清除)其配置存儲器時,或者當FPGA檢測到配置錯誤時,F(xiàn)PGA將此引腳驅(qū)動為低電平。在上電期間,INIT_B可以在外部保持低電平,以在初始化過程結(jié)束時停止上電配置序列。當初始化過程后在INIT_B輸入檢測到高電平時,F(xiàn)PGA繼續(xù)執(zhí)行M [2:0]引腳設置所指示的配置序列的其余部分。
5、VCCBATT
VCCBATT是FPGA內(nèi)部易失性存儲器的電池備用電源,用于存儲AES解密器的密鑰。如果不要求使用易失性密鑰存儲區(qū)中的解密密鑰,請將此引腳連接到GND或VCCAUX。
二、使用EMCCLK引腳,全速加載程序
由于CCLK引腳存在容差,因此可以使用比CCLK更精準的時鐘EMCCLK引腳。使能該功能時需要如下步驟:
1、使能ExtMasterCclk_en比特流生成選項
2、定義EMCCLK目標電壓。Bank 14有另一個定義了IOSTANDARD的引腳。在BANK14上定義的電壓自動應用于EMCCLK。使用BITSTREAM.CONFIG.EXTMASTERCCLK_EN屬性在Vivado中設置ExMasterCclk_en選項
三、FPGA加載時序
上電時序圖
上電時序圖
上電配置流程
其配置過程分解為8個步驟。
1、上電
7系列器件需要為VCCO_0,VCCAUX,VCCBRAM和VCCINT引腳供電。上電時,VCCINT電源引腳必須提供1.0V或0.9V(適用于-2L)電源。在JTAG模式下,除VCCO_0之外的任何I / O電源都不需要為7系列FPGA配置供電。當選擇使用多功能引腳的配置模式(即串行,主BPI,SPI,SelectMAP)時,還必須提供VCCO_14,VCCO_15或兩者。上電后,可以通過將PROGRAM_B引腳切換為低電平來重新配置。
應用:此步可以用來使用看門狗電路重新加載FPGA,亦或通過其他器件(DSP、CPLD等)對FPGA重新加載的控制。
2、清除配置內(nèi)存
在器件上電后,PROGRAM_B引腳脈沖為低電平,使用JTAG JPROGRAM指令或IPROG命令后,或在回退重試配置序列期間,配置存儲器將被順序清零。塊RAM被復位到其初始狀態(tài),并且通過斷言全局置位復位(GSR)重新初始化觸發(fā)器。在此期間,除少數(shù)配置輸出引腳外,通過使用全局三態(tài)(GTS)將I / O置于高阻態(tài),如果PUDC_B為低電平,則內(nèi)部上拉。INIT_B在初始化期間內(nèi)部驅(qū)動為低電平,然后在TPOR之后用于上電情況,而TPL用于其他情況。如果INIT_B引腳從外部保持為低電平,器件將在初始化過程中等待,直到引腳被釋放,并且滿足TPOR或TPL延遲。
3、采樣M2:0引腳
當INIT_B引腳為高電平時,器件對M [2:0]模式引腳進行采樣,如果處于主模式,則開始驅(qū)動CCLK。此時,器件開始在配置時鐘的上升沿對配置數(shù)據(jù)輸入引腳進行采樣。對于BPI和SelectMAP模式,總線寬度最初為x8,狀態(tài)寄存器反映了這一點。在總線寬度檢測序列之后,狀態(tài)寄存器被更新。僅在通過重新上下電或PROGRAM_B的置位進行重新配置時,才會再次對模式引腳進行采樣。
4、同步
對于BPI,Slave SelectMAP和Master SelectMAP模式,必須首先檢測總線寬度。從串行,主串行,SPI和JTAG模式忽略總線寬度檢測模式。然后必須將特殊的32位同步字(0xAA995566)發(fā)送到配置邏輯。同步字警告設備即將到來的配置數(shù)據(jù),并將配置數(shù)據(jù)與內(nèi)部配置邏輯對齊。除“總線寬度自動檢測”序列外,忽略同步前配置輸入引腳上的任何數(shù)據(jù)。同步對大多數(shù)用戶是透明的,因為工具生成的所有配置比特流(BIT文件)都包括總線寬度檢測模式和同步字。
同步檢測信號
5、檢查設備ID
設備同步后,必須先通過設備ID檢查才能加載配置數(shù)據(jù)幀。這可以防止使用為不同設備格式化的比特流進行配置。如果在配置期間發(fā)生ID錯誤,則設備會嘗試執(zhí)行回退重新配置。設備ID檢查內(nèi)置于比特流中,使此步驟對大多數(shù)設計人員而言都是透明的。器件ID檢查通過比特流中的命令執(zhí)行到配置邏輯,而不是通過JTAG IDCODE寄存器執(zhí)行。
ID注解
6、加載數(shù)據(jù)
加載同步字并檢查設備ID后,將加載配置數(shù)據(jù)幀。此過程對大多數(shù)用戶是透明的。
7、循環(huán)冗余校驗
當加載配置數(shù)據(jù)幀時,設備從配置數(shù)據(jù)包計算循環(huán)冗余校驗(CRC)值。加載配置數(shù)據(jù)幀后,配置比特流可以向設備發(fā)出校驗CRC指令,然后是預期的CRC值。如果設備計算的CRC值與比特流中的預期CRC值不匹配,則設備將INIT_B拉低并中止配置。CRC校驗默認包含在配置比特流中。
對于加密比特流(當BITSTREAM.ENCRYPTION.ENCRYPT屬性為是時),禁用CRC校驗,而HMAC驗證加密的比特流數(shù)據(jù)。比特流數(shù)據(jù)中的錯誤在BOOTSTS寄存器中報告為HMAC錯誤。
如果在配置為FPGA為配置主機的模式期間發(fā)生CRC錯誤,則設備可以嘗試進行回退重配置。在BPI和SPI模式下,如果回退重新配置再次失敗,則BPI / SPI接口只能通過脈沖PROGRAM_B引腳重新同步,并從頭開始重新啟動配置過程。JTAG接口仍然響應,設備仍處于活動狀態(tài),只有BPI / SPI接口無法運行。
7系列器件使用32位CRC校驗。CRC校驗旨在捕獲傳輸配置比特流時的錯誤。存在這樣的情況:CRC校驗可能錯過傳輸配置比特流的錯誤:某些時鐘錯誤(例如雙時鐘)可能導致32位比特流分組與配置邏輯之間的同步丟失。同步丟失后,不理解任何后續(xù)命令,包括檢查CRC的命令。在這種情況下,配置因DONE Low和INIT_B High而失敗,因為CRC被忽略。在BPI模式異步讀取中,地址計數(shù)器最終溢出或下溢以導致環(huán)繞,從而觸發(fā)回退重新配置。BPI同步讀取模式不支持環(huán)繞錯誤條件。
8、啟動
加載配置幀后,比特流指示設備進入啟動序列。啟動序列由8相(0-7階段)順序狀態(tài)機控制。啟動順控程序執(zhí)行下表中列出的任務。每個啟動事件的特定階段是用戶可編程的。
可以強制啟動序列等待MMCM鎖定或使DCI與適當?shù)倪x項匹配。這些選項通常設置為在MMCM鎖定和/或DCI匹配之前阻止DONE,GTS和GWE被置位(阻止設備操作)。
DONE信號由啟動定序器在用戶指示的周期中釋放,但啟動定序器不會繼續(xù),直到DONE引腳實際看到邏輯高電平。DONE引腳是開漏雙向信號。通過釋放DONE引腳,器件停止驅(qū)動邏輯低電平,并通過內(nèi)部上拉電阻上拉引腳。默認情況下,DONE_PIPE被使能,以在DONE引腳和配置邏輯之間添加寄存器。
與啟動序列發(fā)生器有關的信號
與啟動序列發(fā)生器有關的信號時序
默認情況下,在啟動的第4階段釋放DONE,并啟用DONE_PIPE以添加一個額外的延遲時鐘周期。DONE表示配置已完成且所有數(shù)據(jù)已加載,但需要應用一些額外的時鐘周期以確保啟動順序正確完成到第7階段,即啟動結(jié)束。DONE為24后,所需時鐘周期的保守數(shù)字; 這將解釋最常見的用例。比特流選項LCK_cycle或Match_cycle將添加未定義的額外數(shù)量的時鐘周期。
在Spartan-7,Artix-7和Kintex-7系列中,如果bank的VCCO為1.8V或更低,那么在I / O bank上有多功能配置引腳,并且該bank上的引腳是 低或浮動,然后輸入可能在配置啟動期間有0-1-0過渡到互連邏輯。由于此轉(zhuǎn)換發(fā)生在GWE啟用內(nèi)部邏輯之后,因此可能會在配置后影響設備的內(nèi)部狀態(tài)。在EOS(啟動結(jié)束)之后,轉(zhuǎn)換發(fā)生一個CFGCLK。為避免這種轉(zhuǎn)換,將VCCO_14和VCCO_15設置為2.5V或3.3V,或者將引腳驅(qū)動為外部高電平(見表5-13)。否則,邏輯應設計為忽略這些受影響的輸入信號,直到在EOS上升沿之后的一個CFGCLK之后至少200 ns??梢允褂肧TARTUPE2監(jiān)視CFGCLK和EOS。
四、配置文件格式
燒寫配置文件包括四種,其中MCS、BIN和HEX文件為固化文件,直接燒寫到FPGA外掛的存儲器中。
五、MultiBoot
7系列FPGA MultiBoot和后備功能支持現(xiàn)場更新系統(tǒng)。比特流圖像可以在現(xiàn)場動態(tài)升級。FPGA MultiBoot功能可以實時切換圖像。在MultiBoot配置過程中檢測到錯誤時,F(xiàn)PGA可以觸發(fā)回退功能,確??梢詫⒁阎己玫脑O計加載到設備中
發(fā)生回退時,內(nèi)部生成的脈沖會復位整個配置邏輯,但專用的MultiBoot邏輯,熱啟動開始地址(WBSTAR)和啟動狀態(tài)(BOOTSTS)寄存器除外。該復位脈沖將INIT_B和DONE拉低,清除配置存儲器,并從地址0重新開始配置過程,并將修訂選擇(RS)引腳驅(qū)動為00.復位后,比特流將覆蓋WBSTAR起始地址。
在配置期間,以下錯誤可能會觸發(fā)回退:IDCODE錯誤、CRC錯誤、看門狗超時、BPI地址環(huán)繞錯誤。
也可以使用比特流選項ConfigFallback啟用后備。在回退重新配置期間忽略嵌入式IPROG。在回退重新配置期間禁用看門狗定時器。如果回退重新配置失敗,則配置停止,INIT_B和DONE都保持為低。
六、BPI - 硬件RS引腳設計注意事項
在BPI模式下,RS引腳需要連接到高位地址位,其中一個RS引腳上的上拉電阻連接到高位地址線。使用此硬件實現(xiàn),系統(tǒng)不包括WBSTAR地址,并且每個圖像的比特流選項相同。
默認情況下禁用兩用RS引腳。在BPI或Master SelectMAP模式的回退期間,RS引腳驅(qū)動為低電平,但在SPI模式期間不會驅(qū)動為低電平。對于初始MultiBoot系統(tǒng),RS引腳分別連接到閃存的高位地址位,并分別通過上拉或下拉電阻綁定為高電平或低電平。上電時,系統(tǒng)將引導至由RS上的上拉電阻和地址線連接定義的高位地址空間。在回退期間,RS引腳驅(qū)動為低電平,器件從地址空間0引導.RS引腳應連接到系統(tǒng)定義的高位地址,以允許將完整位文件存儲在每個存儲器段中。
七、多FPGA JTAG菊花鏈
??
編輯:黃飛
?
評論
查看更多