FPGA的電源電壓種類,你知道多少?
在硬件電路設(shè)計(jì)中,每一個(gè)IC芯片都有相應(yīng)的電源端口對(duì)其供電,以驅(qū)動(dòng)IC進(jìn)行工作。對(duì)于普通的IC芯片,極大部分都是由單電源3.3V電壓供電,且輸出的高電平電壓也是3.3V,例如MCU和存儲(chǔ)器等常用的芯片。但是對(duì)于FPGA則不然,可編程邏輯的特性賦予了它包容萬物的能力,最終成為一個(gè)需要多電源供電的芯片,那對(duì)于FPGA的電源電壓種類,到底有多少呢?
1. FPGA供電電壓
一顆FPGA芯片通常需要多個(gè)電壓,例如Xilinx的新一代的A7、K7、V7等系列的芯片,可以多達(dá)6個(gè)電壓,分別是3.3V、2.5V、1.8V、1.5V、1.2V、1.0V。
對(duì)于FPGA,其電壓類型通常是以下3種:
(1)核心電壓Vccint,該電壓一般較低,目前常用的是1.2V。核心電壓用于給FPGA的內(nèi)部各種邏輯供電,即芯片的晶體管開關(guān)是有核心電壓提供。當(dāng)內(nèi)部邏輯工作時(shí)鐘速率越高,使用邏輯資源越多,則核心電壓供電電流會(huì)更大,可高達(dá)幾安,此時(shí)芯片必然會(huì)發(fā)燙,需要散熱裝置輔助散熱。另外,核心電壓Vccint并非一定是1.2V,該電壓隨著FPGA工藝的發(fā)展從5V、3.3V、2.5V、1.5V、1.2V逐步變小,具體數(shù)值需查找對(duì)應(yīng)的芯片數(shù)據(jù)手冊(cè)。
(2)IO電壓Vccio,該電壓顧名思義,就是驅(qū)動(dòng)IO管腳的電壓。因?yàn)镕PGA經(jīng)常要與多種不同電平接口的芯片通信,所以都會(huì)支持非常多的電平標(biāo)準(zhǔn),這也是它的靈活性表現(xiàn)。FPGA為了能和多種不同的電平標(biāo)準(zhǔn)接口芯片通信,Vccio通常以Bank為界,相互之間是獨(dú)立的,即一個(gè)Bank塊只能存在一種IO電壓。一顆FPGA芯片具有多個(gè)Bank塊,每個(gè)Bnak可以與一種電平接口芯片通信,如Bank34與3.3V的MCU通信,Bank35與2.5V的DDR芯片通信。
(3)輔助電壓Vccaux,F(xiàn)PGA并非一個(gè)單純的數(shù)字邏輯芯片,內(nèi)部也帶有一些模擬組件,比如Xilinx的DCM數(shù)字時(shí)鐘管理組件、高檔點(diǎn)的FPGA還有高速串并轉(zhuǎn)換器serdes、溫度監(jiān)控器件等這些模擬器件,這些模擬器件對(duì)電源噪聲要求很高,所以需要一個(gè)獨(dú)立穩(wěn)定的電源進(jìn)行供電。Vccaux就是為這些模擬器件提供電壓,另外Vccaux還可以給部分IO供電,像JTAG等,具體需要參考對(duì)應(yīng)的數(shù)據(jù)手冊(cè)。
2. FPGA電壓監(jiān)控
Xilinx的7系列芯片均提供有內(nèi)部的溫度、電壓監(jiān)控組件(IP核XADC Wizard),用戶可以通過讀取對(duì)應(yīng)寄存器值來監(jiān)控電壓值,判斷芯片是否工作正常。(Altera不知道有沒此功能,哪位仁兄知道可以告知下哈)
如上圖所示,xadc核可以設(shè)置三種電壓的閾值,然后進(jìn)行監(jiān)控,當(dāng)電壓超過限定值便會(huì)報(bào)警,用戶只需讀取狀態(tài)標(biāo)志寄存器或者對(duì)應(yīng)的電壓寄存器便可以知道當(dāng)前電壓值是否正常。通過軟件控制,對(duì)這三個(gè)電壓進(jìn)行監(jiān)控可以做到故障及時(shí)反饋,起到對(duì)器件保護(hù)與故障的排除,這對(duì)項(xiàng)目開發(fā)是很有幫助的。
3. 總結(jié)
FPGA是一款多電源芯片,這賦予了它能與多種接口通信的優(yōu)勢(shì)與靈活性,但是在電源設(shè)計(jì)上卻也需要更加的謹(jǐn)慎。如果電源電壓不對(duì)應(yīng),輕則通信不成功,重則可能燒毀芯片,所以作為一名開發(fā)工程師,在設(shè)計(jì)時(shí)必須認(rèn)真對(duì)待。