與任何電子元器件一樣,FPGA器件需要有電源電壓的供應(yīng)才能工作。尤其對(duì)于規(guī)模較大的器件,其功耗也相對(duì)較高,其供電系統(tǒng)的好壞將直接影響到整個(gè)開(kāi)發(fā)系統(tǒng)的穩(wěn)定性。所以,設(shè)計(jì)出高效率、高性能的FPGA供電系統(tǒng)具有極其重要的意義。
不同的FPGA器件、不同的應(yīng)用方式會(huì)有不同的電壓電流的需求。如圖2.4所示,簡(jiǎn)單的歸納,可以將FPGA器件的電壓需求分為三類(lèi):核心電壓、I/O電壓和輔助電壓。
圖2.4 FPGA器件的供電電壓
核心電壓是FPGA內(nèi)部各種邏輯電路正常工作運(yùn)行所需要的基本電壓,該電壓用于保證FPGA器件本身的工作。通常選定某一款FPGA器件,其核心電壓一般也都是一個(gè)固定值,不會(huì)因?yàn)殡娐返牟煌瑧?yīng)用而改變。核心電壓值可以從官方提供的器件手冊(cè)中找到。
I/O電壓顧名思義便是FPGA的I/O引腳工作所需的參考電壓。在引腳排布上,F(xiàn)PGA與ASIC最大的不同,便是FPGA所有的可用信號(hào)引腳基本都可以作為普通I/O使用,其電平值的高低完全由器件內(nèi)部的邏輯決定。當(dāng)然了,它的高低電平標(biāo)準(zhǔn)也受限于所供給的I/O電壓。任何一片F(xiàn)PGA器件,它的I/O引腳通常會(huì)根據(jù)排布位置分為多個(gè)bank。同一個(gè)bank內(nèi)的所有I/O引腳所供給的I/O電壓是共用的,可以給不同的bank提供不同的I/O電壓,它們彼此是不連通的。因此,不同bank的不同I/O電壓為FPGA器件的不同接口應(yīng)用提供了靈活性。這里舉一個(gè)例子,Cyclone IV系列器件的某些bank支持LVDS差分電平標(biāo)準(zhǔn),此時(shí)器件手冊(cè)會(huì)要求設(shè)計(jì)者給用于LVDS差分應(yīng)用的bank的I/O電壓供2.5V電壓,這就不同于一般的LVTTL或LVCOMS的3.3V供電需求。而一旦這些用于LVDS傳輸?shù)腎/O bank電壓供給為2.5V,那么它就不能作為3.3V或其他電平值標(biāo)準(zhǔn)傳輸使用了。
除了前面提到的核心電壓和I/O電壓,F(xiàn)PGA器件工作所需的其它電壓我們通常都稱(chēng)為輔助電壓。例如FPGA器件下載配置所需的電壓,當(dāng)然了,這里的輔助電壓值可能與核心電壓值或I/O電壓值是一致的。很多FPGA的PLL功能塊的供電會(huì)有特殊要求,也可以認(rèn)為是輔助電壓。由于PLL本身是模擬電路,而FPGA其他部分的電路基本是數(shù)字電路,因此PLL的輸入電源電壓也很有講究,需要專(zhuān)門(mén)的電容電路做濾波處理,而它的電壓值一般和I/O電壓值不同。此外,例如Cyclone V GX系列FPGA器件帶高速Gbit串行收發(fā)器,通常有額外的參考電壓;MAX10系列器件的ADC功能引腳電路也需要額外的參考電壓;一些帶DDR3控制器功能的FPGA引腳上通常也有專(zhuān)門(mén)的參考電壓……諸如此類(lèi)的參考電壓我們都可以歸類(lèi)為FPGA的輔助供電電壓,在實(shí)際電源電路連接和設(shè)計(jì)過(guò)程中,都必須予以考慮。
目前比較常見(jiàn)的供電解決方案主要是LDO穩(wěn)壓器、DC/DC芯片或電源模塊。LDO穩(wěn)壓器具有電路設(shè)計(jì)簡(jiǎn)單、輸出的電源電壓紋波低的特點(diǎn),但是它的一個(gè)明顯劣勢(shì)是效率也很低;而基于DC/DC芯片的解決方案能夠保證較高的電源轉(zhuǎn)換效率,散熱容易一些,輸出電流也更大,是大規(guī)模FPGA器件的最佳選擇;而電源模塊簡(jiǎn)單實(shí)用并且能夠有更穩(wěn)定的性能,只不過(guò)價(jià)格通常比較昂貴,在成本要求不敏感的情況下,是FPGA電源設(shè)計(jì)的一種最為簡(jiǎn)單快捷的解決方案。以筆者多年的經(jīng)驗(yàn)來(lái)看,在LDO穩(wěn)壓器、DC/DC芯片或電源模塊的選擇上,一般遵循以下原則:
●??電流低于100mA的電壓可以考慮使用LDO穩(wěn)壓器產(chǎn)生,因?yàn)殡娐泛?jiǎn)單、使用元器件少、PCB面積占用小,且成本也相對(duì)低廉。
●??對(duì)電源電壓的紋波極為敏感的供電考慮使用LDO,如CMOS Sensor的模擬供電電壓、ADC芯片的參考電壓等。
●??除了上述情況,一般電流較大、對(duì)電源電壓紋波要求不高的情況,都盡量考慮使用DC/DC電路,畢竟它能夠提供大電流供電,且提供最好的電源轉(zhuǎn)換效率。
●??對(duì)于電源模塊,筆者見(jiàn)到最多的是軍工等成本不敏感、板級(jí)PCB空間較大的應(yīng)用中使用,它其實(shí)是LDO穩(wěn)壓器和DC/DC電路優(yōu)勢(shì)的整合。
通常而言,對(duì)于FPGA器件的電源方案的選擇以及電源電路的設(shè)計(jì),一定要事先做好前期的準(zhǔn)備工作,如以下幾點(diǎn)是必須考慮的:
●??器件需要供給幾檔電壓,壓值分別是多少?
●??不同電壓檔的最大電流要求是多少?
●??不同電壓檔是否有上電順序要求?(大部分的FPGA器件是沒(méi)有此項(xiàng)要求的)
●??電源去耦電容該如何分配和排布?
●??電源電壓是否需要設(shè)計(jì)特殊的去耦電路?
關(guān)于設(shè)計(jì)者需要確定的各種電氣參數(shù)以及電源設(shè)計(jì)的各種注意事項(xiàng),其實(shí)在器件廠商提供的器件手冊(cè)(handbook)、應(yīng)用筆記(application notes)或是白皮書(shū)(white paper)中一般都會(huì)給出參考設(shè)計(jì)。所以,設(shè)計(jì)者若希望能夠較好的完成FPGA器件的電源電路設(shè)計(jì),事先閱讀大量的官方文檔是必須的。
說(shuō)到電源,也不能不提一下地端(GND)電路的設(shè)計(jì),F(xiàn)PGA器件的地信號(hào)通常是和電壓配對(duì)的。一般應(yīng)用中,統(tǒng)一共地連接是沒(méi)有問(wèn)題的,但也需要注意特殊應(yīng)用中是否有隔離要求。FPGA器件的引腳引出的地信號(hào)之間通常是導(dǎo)通的,當(dāng)然也不能排除有例外的情況。如果漏接個(gè)別地信號(hào),器件通常也能正常工作,但是筆者也遇到過(guò)一些特殊的狀況,如Altera的Cyclone III器件底部的中央有個(gè)接地焊盤(pán),如果設(shè)計(jì)中忽略了這個(gè)接地信號(hào),那么FPGA很可能就不干活了,因?yàn)檫@個(gè)地信號(hào)是連接FPGA內(nèi)部的很多中間信號(hào)的地端,它并不和FPGA的其它地信號(hào)直接導(dǎo)通。因此,在設(shè)計(jì)中也一定要留意地信號(hào)的連接,電源電路的任何細(xì)小疏忽都有可能導(dǎo)致器件的罷工。
在我們所設(shè)計(jì)的這個(gè)實(shí)驗(yàn)平臺(tái)上,如圖2.5所示,由PC的USB端口進(jìn)行供電,通??梢蕴峁?V/0.5A的電壓和電流。5V電壓輸入到兩個(gè)DC/DC電路分別產(chǎn)生3.3V和1.2V的電壓,DC/DC芯片支持的最大電流可以達(dá)到3A,當(dāng)然我們的FPGA器件實(shí)際上根本不需要這么大的電流。之所以采用DC/DC電路產(chǎn)生3.3V和1.2V電壓,是考慮到3.3V是FPGA的I/O電壓,也是板上大多數(shù)外設(shè)的供電電壓,它的電流相對(duì)較大;而1.2V是FPGA器件的核電壓,電流也較大;因此,它們使用DC/DC電路更合適,既可以保證較大電流需求,也能夠?qū)崿F(xiàn)更好的電源轉(zhuǎn)換效率。而2.5V電壓使用3.3V轉(zhuǎn)2.5V的LDO電路,是由于2.5V僅僅只是FPGA的下載配置電路使用,電流相對(duì)較小,它對(duì)轉(zhuǎn)換效率要求也不高,使用簡(jiǎn)單的LDO電路來(lái)得更“經(jīng)濟(jì)實(shí)惠”一些。
圖2.5電源電路示意圖
如圖2.6所示,這是電源電路的layout示意圖,為了獲得更大的電流供給能力、更高的電源轉(zhuǎn)換效率,我們只能不惜使用更多的分離元器件和更大的布板空間來(lái)“妥協(xié)”。
圖2.6 電源電路的layout
評(píng)論