FPGA器件配置方式分三大類:主動配置、被動配置和JTAG配置。
主動配置:由FPGA器件引導(dǎo)配置操作過程。
被動配置:由計算機(jī)或控制器控制配置過程。上電后,控制器件或主控器把存儲在外部存儲器中的數(shù)據(jù)送入FPGA器件內(nèi),配置完成之后將對器件I/O和寄存器進(jìn)行初始化。初始化完成后,進(jìn)入用戶模式,開始正常工作。
一旦設(shè)計者選定了FPGA系統(tǒng)的配置方式,需要將器件上的MSEL引腳設(shè)定為固定值,以指示當(dāng)前所采用的配置方式。
常用的配置方式有:
PS配置(Passive Serial Configuration):被動串行配置
AS配置(Active Serial Configuration):主動串行配置
PPS配置(Passive Parallel Synchronous Configuration):被動并行同步配置
FPP配置(Fast Passive Parallel Configuration):快速被動并行配置
PPA配置(Passive Parallel Asynchronous Configuration):被動并行異步配置
PSA配置(Passive Serial Asynchronous Configuration):被動串行異步配置
JTAG配置(Joint Test Action Group Configuration)
在配置FPGA器件時的常見問題及其解決方法。
(1)當(dāng)模式改變后,同時需要修改產(chǎn)生位流文件中的配置時鐘的屬性為CCLK或JTAGClock,否則無法配置。
(2)DONE狀態(tài)腳始終為低解決方法:檢查該引腳的負(fù)載是否太重,選擇合適的上拉電阻。
(3)器件上電后有時能夠配置成功,有時不成功解決方法:這種情況大部分是因為器件的復(fù)位未完成,就開始出現(xiàn)數(shù)據(jù)流。延長復(fù)位時間,即延長PROG_B信號的低電平時間。電源檢測正常后,該信號至少還需保持300 ms的低電平。Spartan-3系列器件的內(nèi)部配置電路如圖1所示,該器件需要滿足VCCINT至少達(dá)到1.0V,Bank4的電源VCCO_4至少達(dá)到1.0V,輔助電源VCCAUX至少達(dá)到2.0V,才能進(jìn)入配置狀態(tài),可在PROG_B引腳上分別接一個4.7kΩ電阻到電源,如果電源滿足條件,10μF電容到地。
(4)無法正常配置或發(fā)現(xiàn)加載過程中INIT_B信號被拉低
解決方法:檢查配置時鐘信號CCLK或JTAG時鐘信號TCK是否存在干擾信號或過沖。如果有干擾,判斷干擾源并增加濾波措施;如果有過沖,說明該信號線阻抗不匹配(因傳輸線過長等原因造成),需要增加匹配電阻。根據(jù)IBIS模型分析,采用LVCMOS25(10 mA)或LVTTL(12 mA)接口標(biāo)準(zhǔn),一般情況下,CCLK的引線長度不要超過3~4英寸,可通過增加源端匹配(串聯(lián)33Ω~100Ω電阻)來改變時鐘信號的質(zhì)量。CCLK的布線很重要,最好不要開叉。如果一定要開叉,參考對應(yīng)器件的手冊查看最大允許的分支長度是多少。
如果器件的旁路電容設(shè)計不合理或數(shù)據(jù)線上有地線及彈(Ground bounce)信號,也會造成配置失敗。
(5)無法通過計算機(jī)并行口配置
解決方法:檢查計算機(jī)并行口模式設(shè)置是否正確。如果計算機(jī)的并行口信號太差,存在干擾,則采用質(zhì)量好的配置電纜(Cable-IV)排除干擾。
(6)DONE腳已經(jīng)變高,但器件仍然不工作
解決方法:如果確認(rèn)設(shè)計無誤,那么可能是器件的啟動順序設(shè)置不正確。參考配置流程,通過設(shè)計工具重新設(shè)置啟動順序。