精確的熱分析在很多電子產(chǎn)品設(shè)計(jì)中都有著舉足輕重的作用,在高端的PCB設(shè)計(jì)中尤為突出。熱分析的結(jié)果常常會影響PCB的機(jī)械層設(shè)計(jì)和產(chǎn)品的外殼設(shè)計(jì):是否需要安裝散熱片、散熱風(fēng)扇等。如果安裝散熱風(fēng)扇,往往需要降低其噪音,這將使得機(jī)械層設(shè)計(jì)變得更加復(fù)雜。
熱分析的最終目標(biāo)是要使得整個(gè)系統(tǒng)能夠穩(wěn)定地運(yùn)行,特別是保證芯片的結(jié)溫不能超過安全閾值。如果無法保證這一點(diǎn),那么FPGA芯片在性能指標(biāo)、可靠性、使用壽命等方面將會大打折扣,比如系統(tǒng)不斷的重啟,F(xiàn)PGA的時(shí)序無法滿足要求,甚至無法保證其功能的正確運(yùn)行。熱分析必須考慮到FPGA運(yùn)行的各種實(shí)際環(huán)境:從恒溫實(shí)驗(yàn)室的理想環(huán)境到外太空極寒/極熱的惡劣環(huán)境。在后續(xù)介紹的功耗分析,實(shí)際上和熱分析有緊密的關(guān)系。
整個(gè)FPGA設(shè)計(jì)的總功耗由三部分功耗組成:1. 芯片靜態(tài)功耗;2. 設(shè)計(jì)靜態(tài)功耗;3. 設(shè)計(jì)動(dòng)態(tài)功耗。
1、芯片靜態(tài)功耗:FPGA在上電后還未配置時(shí),主要由晶體管的泄漏電流所消耗的功耗
2、設(shè)計(jì)靜態(tài)功耗:當(dāng)FPGA配置完成后,當(dāng)設(shè)計(jì)還未啟動(dòng)時(shí),需要維持I/O的靜態(tài)電流,時(shí)鐘管理和其它部分電路的靜態(tài)功耗
3、設(shè)計(jì)動(dòng)態(tài)功耗:FPGA內(nèi)設(shè)計(jì)正常啟動(dòng)后,設(shè)計(jì)的功耗;這部分功耗的多少主要取決于芯片所用電平,以及FPGA內(nèi)部邏輯和布線資源的占用。
所以,前兩部分的功耗取決于FPGA芯片及硬件設(shè)計(jì)本身,很難有較大的改善。可以優(yōu)化是第3部分功耗:設(shè)計(jì)動(dòng)態(tài)功耗,而且這部分功耗占總功耗的90%左右,因此所以降低設(shè)計(jì)動(dòng)態(tài)功耗是降低整個(gè)系統(tǒng)功耗的關(guān)鍵因素
圖1顯示了對FPGA芯片導(dǎo)熱性能產(chǎn)生重要影響的機(jī)械元件:頂層和底層的散熱片、焊盤和過孔。除此之外,焊盤本身的尺寸和質(zhì)量,是否使用導(dǎo)熱硅脂,空氣對流的大小,PCB的尺寸和層數(shù),這些因素都會影響到最終的導(dǎo)熱性能指標(biāo)。
靜態(tài)功耗分析
以下公式定義了環(huán)境溫度、芯片恒溫、功耗和電阻之間的關(guān)系: Tj=(θja·Pd)+Ta Tj代表芯片的結(jié)溫,反映了半導(dǎo)體器件能夠承受的最高溫度,每個(gè)芯片的器件手冊都有該指標(biāo)。比如Virtex-6芯片的最高Tj為125℃,但是FPGA工具在做靜態(tài)時(shí)序分析和功耗計(jì)算時(shí),其默認(rèn)值通常設(shè)定為85℃。不同F(xiàn)PGA芯片的結(jié)溫指標(biāo),包括其工作范圍、最大最小值、默認(rèn)值,在DC and Switching Characteristics數(shù)據(jù)手冊上都會有詳細(xì)的介紹。 在上述公式中,Ta代表環(huán)境溫度,PD代表功耗。而Oja是“內(nèi)核-外環(huán)境”之間的熱阻,它代表了材料導(dǎo)熱的能力,其物理單位是"℃/W”。 在各種熱分析中經(jīng)常使用圖2中的模型和參數(shù)。 θjc是“內(nèi)核-外殼"之間的熱阻,不同的器件的值一般也不同。對于Virtex-6的封裝來說,其典型值一般小于0.20 ℃/W。 θca是“外殼-外環(huán)境”之間的熱阻,它等效于FPGA芯片之上的散熱片+散熱風(fēng)扇+導(dǎo)熱硅脂+其他材料的所有熱阻之和,空氣對流所帶來的影響也要算在其中。 從圖2可以看出,整個(gè)散熱途徑有2條:“內(nèi)核-外殼-外環(huán)境"和“內(nèi)核- PCB -外環(huán)境”。由于這2條路徑是并行的,因此 總的熱阻θja可以表達(dá)為 θOja= (θcA x θjba)/(θjca+ θjba) 其中Ojca是封裝頂層到外環(huán)境的熱阻,它等效于 θjca= θjc+ θca 其中θjba是PCB到外環(huán)境的熱阻,它等效于 θjba=θjb+θba
在熱分析的建模過程中,還需要將PCB本身的熱阻計(jì)算在內(nèi)。對于層數(shù)較少的小PCB來說,整個(gè)θja值約等于θjca。因?yàn)楫?dāng)θjba足夠大的時(shí)候,該分量對于整個(gè)熱阻的貢獻(xiàn)將變得非常小,甚至可以忽略。PCB越大,層數(shù)越多,對應(yīng)的θjba值也就越大。表1說明了PCB的尺寸和層數(shù)對于導(dǎo)熱性能的影響。
對于整個(gè)熱分析而言,最重要就是正確地建立熱模型。從表2可以看出,如果沒有將PCB的熱阻考慮進(jìn)去,那么最后的結(jié)果將變的極不準(zhǔn)確。
靜態(tài)功耗散熱方法
空氣散熱
對于低端、小封裝、功托大概在1-6W左右的FPGA芯片而言,一般使用空氣對流或者加裝散熱片的方式即可散熱。 散熱片的作用在于將芯片表面的熱迅速帶走,因此通常使用鋁或者銅這樣的高導(dǎo)熱金屬作為散熱片的材料。散熱片通常具有較大的表面積,這樣能夠更加快速地進(jìn)行散熱。散熱片和芯片之間的接觸面積對于散熱來說非常重要,因此使用導(dǎo)熱硅脂將散熱片和芯片表面緊緊相連,則能夠更進(jìn)一步地加快熱的傳導(dǎo)。 在較好的空氣對流環(huán)境中,功耗在4-10 W左右的芯片,使用散熱片將是非常好的選擇。
主動(dòng)散熱
對于功耗在8-25W、采用離端大封裝的芯片,使用散熱片加風(fēng)扇的組合能夠更好地達(dá)到散熱的效果。 舉例 通過給定的結(jié)溫和環(huán)境溫度,計(jì)算出最大允許的功耗: Tj= +85℃ Ta=+55℃ 器件為Virtex-6芯片,其中熱阻Ojc =0. 20℃/W。 散熱片和風(fēng)扇的熱阻: Oca=1. 80℃/W, Ojb=0.40℃/W. Oba =2.60℃/W。 通過以下逐個(gè)公式的迭代,可以計(jì)算出功耗PD: Tj=(OjaxOd)+Ta Oja= (Ocax Ojba)/(Ojca+ Ojba) Ojca= Ojc+ Oca=0.2 + 1.8= 2.0℃/W OjBA = Ojb+OBA =0.4 +2.6 = 3. 0℃/W Oja=(2.0x3.0)/(2.0+3.0) = 1.2℃/W Pd=(Tj- Ta)/Oja= (85 -55)/1.2 = 25 w 通過上述正公式可以看出,在給定芯片結(jié)溫、環(huán)境溫度及熱阻的條件下,整個(gè)FPGA芯片的功耗不會超過25 w。
動(dòng)態(tài)功耗的優(yōu)化設(shè)計(jì)方法
算法優(yōu)化
算法優(yōu)化可分為兩個(gè)層次說明:實(shí)現(xiàn)結(jié)構(gòu)和實(shí)現(xiàn)方法 首先肯定需要設(shè)計(jì)一種最優(yōu)化的算法實(shí)現(xiàn)結(jié)構(gòu),設(shè)計(jì)一種最優(yōu)化的結(jié)構(gòu),使資源占用達(dá)到最少,當(dāng)然功耗也能降到最低,但是還需要保證性能,是FPGA設(shè)計(jì)在面積和速度上都能兼顧。比如在選擇采用流水線結(jié)構(gòu)還是狀態(tài)機(jī)結(jié)構(gòu)時(shí),流水線結(jié)構(gòu)同一時(shí)間所有的狀態(tài)都在持續(xù)工作,而狀態(tài)機(jī)結(jié)構(gòu)只有一個(gè)狀態(tài)是使能的,顯而易見流水線結(jié)構(gòu)的功耗更多,但其數(shù)據(jù)吞吐率和系統(tǒng)性能更優(yōu),因此需要合理選其一,使系統(tǒng)能在面積和速度之間得到平衡; 另一個(gè)層面是具體的實(shí)現(xiàn)方法,設(shè)計(jì)中所有吸收功耗的信號當(dāng)中,時(shí)鐘是罪魁禍?zhǔn)住km然時(shí)鐘可能運(yùn)行在100MHz,但從該時(shí)鐘派生出的信號卻通常運(yùn)行在主時(shí)鐘頻率的較小分量(通常為12%~15%)。此外,時(shí)鐘的扇出一般也比較高。這兩個(gè)因素顯示,為了降低功耗,應(yīng)當(dāng)認(rèn)真研究時(shí)鐘。首先,如果設(shè)計(jì)的某個(gè)部分可以處于非活動(dòng)狀態(tài),則可以考慮禁止時(shí)鐘樹翻轉(zhuǎn),而不是使用時(shí)鐘使能。時(shí)鐘使能將阻止寄存器不必要的翻轉(zhuǎn),但時(shí)鐘樹仍然會翻轉(zhuǎn),消耗功率。其次,隔離時(shí)鐘以使用最少數(shù)量的信號區(qū)。不使用的時(shí)鐘樹信號區(qū)不會翻轉(zhuǎn),從而減輕該時(shí)鐘網(wǎng)絡(luò)的負(fù)載。
資源使用效率優(yōu)化
資源使用效率優(yōu)化是介紹一些在使用FPGA內(nèi)部的一些資源如BRAM,DSP48E1時(shí),可以優(yōu)化功耗的方法。FPGA動(dòng)態(tài)功耗主要體現(xiàn)為存儲器、內(nèi)部邏輯、時(shí)鐘、I/O消耗的功耗。 其中存儲器是功耗大戶,如xilinx FPGA中的存儲器單元Block RAM,因此在這邊主要介紹對BRAM的一些功耗優(yōu)化方法。 如圖5中實(shí)例,雖然BRAM只使用了7%,但是其功耗0.601W占了總設(shè)計(jì)的42%,因此優(yōu)化BRAM的功耗能有效地減小FPGA的動(dòng)態(tài)功耗。
圖5 下面介紹一下優(yōu)化BRAM功耗的方法: a) 使用“NO CHANGE”模式:在BRAM配置成True Dual Port時(shí),需要選擇端口的操作模式:“Write First”,“Read First” or “NO CHANGE”,避免讀操作和寫操作產(chǎn)生沖突,如圖6所示;其中“NO CHANGE”表示BRAM不添加額外的邏輯防止讀寫沖突,因此能減少功耗,但是設(shè)計(jì)者需要保證程序運(yùn)行時(shí)不會發(fā)生讀寫沖突。
圖6 圖5中的功耗是設(shè)置成“Write First”時(shí)的,圖7中是設(shè)置成“NO CHANGE”后的功耗,BRAM的功耗從0.614W降到了0.599W,因?yàn)橹皇褂昧?%的BRAM,如果設(shè)計(jì)中使用了大量的BRAM,效果能更加明顯。
圖7 b) 控制“EN”信號:BRAM的端口中有clock enable信號,如圖8所示,在端口設(shè)置中可以將其使能,模塊例化時(shí)將其與讀/寫信號連接在一起,如此優(yōu)化可以使BRAM在沒有讀/寫操作時(shí)停止工作,節(jié)省不必要的功耗。
圖8 如圖9所示為控制“EN”信號優(yōu)化后的功耗情況,BRAM功耗降到了0.589W
圖9 c) 拼深度:當(dāng)設(shè)計(jì)中使用了大量的存儲器時(shí),需要多塊BRAM拼接而成,如需要深度32K,寬度32-bit,32K32Bit的存儲量,但是單塊BRAM如何配置是個(gè)問題?7 series FPGA中是36Kb 的BRAM,其中一般使用32Kb容量,因此可以配置成32K1-bit或者1K*32-bit,多塊BRAM拼接時(shí),前者是“拼寬度”(見圖10),后者是“拼深度”(見圖11)。兩種結(jié)構(gòu)在工作時(shí),“拼寬度”結(jié)構(gòu)所有的BRAM需要同時(shí)進(jìn)行讀寫操作;而“拼深度”結(jié)構(gòu)只需要其中一塊BRAM進(jìn)行讀寫,因此在需要低功耗的情況下采用“拼深度”結(jié)構(gòu), 注:“拼深度”結(jié)構(gòu)需要額外的數(shù)據(jù)選擇邏輯,增加了邏輯層數(shù),為了降低功耗即犧牲了面積又犧牲了性能。
圖10
圖11 審核編輯 :李倩
-
FPGA設(shè)計(jì)
+關(guān)注
關(guān)注
9文章
428瀏覽量
26570 -
低功耗
+關(guān)注
關(guān)注
10文章
2417瀏覽量
103822 -
焊盤
+關(guān)注
關(guān)注
6文章
557瀏覽量
38201
發(fā)布評論請先 登錄
相關(guān)推薦
評論