消費類市場正呈跳躍式發(fā)展。便攜式產(chǎn)品處理能力不斷增加,所支持的應用越來越多;產(chǎn)品更新?lián)Q代速度加快,新產(chǎn)品必須滿足上市時間要求,以便獲得最大的市場機會;產(chǎn)品生命周期的縮短要求縮短開發(fā)周期,同時更加強調(diào)可復用性和可重復編程能力。新興市場還有一個有趣的趨勢,即一個系列中的每種設備的出貨量越來越少,但系列設備間的定制功能卻越來越多,進而有效提升了產(chǎn)品的總出貨量。這樣,關鍵挑戰(zhàn)就變成了如何開發(fā)一個可廣泛復用同時又可定制的系統(tǒng)。

  為應對上述挑戰(zhàn),越來越多的設計人員開始使用進行手持產(chǎn)品的開發(fā)。的功能日益強大和豐富,而門數(shù)、面積和頻率也在不斷增加。 的開發(fā)和周轉(zhuǎn)時間要比定制ASIC短得多,可重復編程的額外優(yōu)勢使得FPGA成為手持嵌入式系統(tǒng)領域中頗具吸引力的解決方案。在基于ASIC或 FPGA的設計中,設計人員必須認真考慮某些性能標準,他們面臨的挑戰(zhàn)主要體現(xiàn)在面積、速度和功耗方面。

  與ASIC一樣,供應商在FPGA設計中也需要應對面積和速度的挑戰(zhàn)。隨著門數(shù)不斷增加,F(xiàn)PGA需要更大的面積和尺寸來適應更多的應用,設計工具需要采用更好的算法以便更有效地利用面積。不斷演進的FPGA技術也給設計人員帶來一系列新的挑戰(zhàn),電源利用率就是其中之一,這對于為手持或便攜式設備設計基于FPGA的嵌入式系統(tǒng)來說是急需解決的問題。

  嵌入式系統(tǒng)中的FPGA

  典型的嵌入式系統(tǒng)由處理器、存儲器、包括USB、SPI、I2C在內(nèi)的標準接口以及液晶顯示器、音頻輸出等外設組成。設備的核心仍是處理器和處理器接口,它們通過板載連線連接到各個外設。系統(tǒng)性能主要取決于處理器性能,而處理器通常具有非常標準的架構,因而不容易定制。

  有時處理器可能忙于處理來自低速外設的信息,雖然在這種情況下處理器使用率可能達到100%,但并不是在做以微處理器為中心的事務,而是工作在特別低的性能水平。不管其內(nèi)核頻率是多少,微處理器必須等待來自低速時鐘的數(shù)據(jù)。這也會導致較高的功耗,因為處理器的利用率是100%。其結果將縮短電池壽命,并且需要更大的散熱器或風扇進行冷卻,最終影響整個系統(tǒng)的可靠性。

  于是,F(xiàn)PGA在這方面開始發(fā)揮重要作用,因為它們能從處理器卸載許多外設交互任務。如圖1所示,利用標準千兆TCP/IP網(wǎng)絡實現(xiàn)的未壓縮音視頻數(shù)據(jù)流的嵌入式分布系統(tǒng)。它有一個專用DSP處理器,這個處理器通過一個標準總線接口與賽靈思的FPGA相接,F(xiàn)PGA再連接到各個低速外設。
如何利用FPGA解決手持設備MPU的功耗問題

  圖1:用于音頻/視頻分布系統(tǒng)的FPGA架構。

作為啟動開發(fā)套件,這個FPGA通過I2S接口連接12位的PCM音頻輸入和12位的PCM音頻輸出;它還連接視頻編碼器和解碼器,并與I2C從器件和RS232器件進行通信;連接到FPGA的通用I/O很少。與處理器相連的標準總線工作在高速的66MHz,而音頻外設工作在低速的 1.182MHz;UART和I2C串行接口分別工作在56.6kHz和100kHz。由于數(shù)據(jù)傳輸發(fā)生在多個時鐘域,因而只有處理器能配置數(shù)據(jù)流。

  在這種情況下,處理器不再與低速外設交互,而由FPGA從低速的PCM ADC音頻器件讀取數(shù)據(jù),并將數(shù)據(jù)存放在FPGA的內(nèi)部緩存中。處理器可以周期性地從這個緩存讀取數(shù)據(jù),或者當緩存中有足夠數(shù)據(jù)時,由FPGA向處理器發(fā)送一個中斷。這樣,處理器就有更多的時間執(zhí)行以處理器為中心的必要工作,在空閑時則進入睡眠模式。

  功耗問題

  在電池供電的嵌入式系統(tǒng)中,節(jié)能是最重要的考慮因素。功耗可以被分成三大類:啟動功耗、靜態(tài)功耗和動態(tài)功耗。設計人員無法控制啟動功耗,而啟動功耗在決定電源選型中扮演著重要的角色。大多數(shù)最大電流值指的就是這個階段所達到的值。但靜態(tài)功耗和動態(tài)功耗是兩個不同的領域,通過合理的規(guī)劃和以下正確的指導原則,使用FPGA的嵌入式設計人員可以在功耗優(yōu)化方面作出顯著改進。

  靜態(tài)功耗是指系統(tǒng)不工作時仍有電流流過元件時產(chǎn)生的功耗,一般由器件偏置電流和漏電流引起。靜態(tài)功耗也取決于工作電壓,降低工作電壓可以降低靜態(tài)功耗,但這個策略并不總是掌握在設計人員手中。設計人員能做的是定義合理的架構,在這種架構下需要使用的資源最少,同時盡可能使用資源共享,并以最高效的方式使用FPGA模塊。

  減少靜態(tài)功耗的另外一種技術是在設計周期早期進行功耗預估,改變拓撲或使用不同的IP模塊。例如,賽靈思的xPower Estimator工具這時就非常有用,它能很早知道設計是否滿足功耗預算。早期階段的功耗預估也許不完全準確,但作為指導工具確實很有幫助。

  動態(tài)功耗是由于FPGA門的一些行為(比如信號開關)引起的,當兩個門暫時導通時,將產(chǎn)生電流流動和電容。信號開關的速度決定了功耗的大小。影響動態(tài)功耗的另外一個因素是電路內(nèi)部結構中形成的固有電容。動態(tài)功耗是時鐘頻率、正在開關的門數(shù)量和這些門開關速率的函數(shù)。門扇出和走線上的電容負載會增加動態(tài)功耗,并且功耗值正比于電容、電壓和頻率平方的乘積。

  設計人員對這種功耗具有最大的控制能力,他們可以利用許多技術實現(xiàn)動態(tài)功耗的最大改善。降低信號開關頻率可以使功耗呈指數(shù)式下降。正如圖1所示,用于UART的控制邏輯、奇偶校驗或幀超限錯誤都發(fā)生在速度較低的時鐘域。即使門數(shù)沒有減少,功耗也會下降。設計人員還可以通過降低整體工作頻率(如果可行的話)來減小動態(tài)功耗。例如,在完成可行性和性能分析后,設計人員決定上述設計不僅能工作在133MHz,也能工作在66MHz。DSP支持這兩種速率,而減小電壓也有助于降低功耗。

  另外一種技術是減少處于工作模式的有效門數(shù)。有時某部分邏輯雖然在開機時被打開和配置,但實際上不要求做任何事情。例如,模擬音頻捕獲單元處于工作狀態(tài),設備卻不在執(zhí)行任何數(shù)字SPDIF音頻捕獲。在這種情況下,一般的數(shù)字SPDIF音頻捕獲電路仍將執(zhí)行數(shù)據(jù)采樣、雙相解碼等工作,因而無謂地浪費功率。如果禁用整個數(shù)字SPDIF音頻捕獲電路,使電路中不發(fā)生任何信號開關動作,那么動態(tài)功耗將會顯著降低。

  設計人員可以禁用傳送到這部分電路的時鐘來達到這個目的。一種簡單的做法是將時鐘信號與使能信號相“與(AND)”,如圖2所示。如果使能信號是低電平,那么與門的輸出將保持低電平。如果使能信號為高電平,與門將輸出時鐘信號。

如何利用FPGA解決手持設備MPU的功耗問題

  圖2:一種簡單的時鐘選通機制。

  還可以使用其它方法。如果可能并且拓撲又支持的話,可以通過復接地址和數(shù)據(jù)線來減少信號線數(shù)量。在我們這個例子中,到視頻編碼器的輸出是16位數(shù)據(jù),我們可以把它復接成8位,然后分別在時鐘的兩個沿(上升沿和下降沿)發(fā)送出去。這樣做也能節(jié)省動態(tài)功耗。此外,選擇串行接口代替并行接口也能降低功耗。使用帶較低電容負載的LVTTL或LVCMOS I/O也很有用。

嵌入式處理器

  將處理器嵌入到FPGA中是設計人員可以采用的又一種策略,它可以帶來很多好處。首先,減少了定制處理器帶來的上述挑戰(zhàn)。其次,外設和處理器之間的交互發(fā)生在FPGA內(nèi)部,因而可以減少I/O數(shù)量。由于I/O會消耗相當多的功率,此舉也能達到一定程度的節(jié)能效果。賽靈思的Virtex- 5版本支持PowerPC 440處理器、硬處理器和MicroBlaze軟處理器,所有這些處理器都可以被設計人員用來創(chuàng)建高端或低端應用系統(tǒng)。

  隨著90m和65nm半導體技術的發(fā)明,門的尺寸在不斷縮小,導致靜態(tài)功耗問題越來越突出,在對功耗指標越來越敏感的今天,這是一個極具挑戰(zhàn)性的現(xiàn)象。由于功耗問題獲得了眾多FPGA供應商的重視,在這個領域中已出現(xiàn)許多令人興奮的新技術。低功耗設計將決定一個系統(tǒng)的集成能力有多強,業(yè)界也迫切需要將注重功耗的設計技術標準化。