專利名稱:一種降低fpga芯片功耗的電路和方法
技術領域:
本發(fā)明涉及FPGA技術,特別涉及FPGA功耗技術中一種降低FPGA芯片功耗的電路和方法。
背景技術:
近年來,隨著FPGA(Field Programmable Gate Array,現(xiàn)場可編程邏輯陣列)工作頻率、集成度、復雜度的不斷提高,F(xiàn)PGA的功耗快速增加,功耗的提高帶來了一系列的現(xiàn)實問題首先,功耗增加引起的FPGA運行溫度上升會引起半導體電路的運行參數(shù)漂移,影響IC(Integrated Circuit,集成電路)的正常工作;其次,功耗增加引起的FPGA運行溫度上升會縮短芯片壽命;而且對系統(tǒng)冷卻的要求也相應提高,不僅增加了系統(tǒng)成本,而且限制了系統(tǒng)性能的進一步提高;需要在保證性能的前提下,盡可能地節(jié)省FPGA功耗。
在CMOS(Complementary Metal Oxide Semiconductor,互補金屬氧化物半導體)電路中,一般消耗功率與延遲時間的近似表達式由下式表示p=a*f*CL*Vs*VDD+a*ISC*Δtsc*VDD*f+Ileak*VDD(1)式(1)中,α為轉換概率,CL為負載電容,Vs為信號幅度,VDD為電源電壓,ISC為貫通電流的平均值,Δtsc為貫通電流流過的時間,f為時鐘頻率,Ileak為漏泄電流。式(1)中第1項為負載電容充放電所需的功率,Vs與VDD通常相等,故與電源電壓的2次方成比例;第2項是門轉換時流過的貫動電池產生的功率,因輸入信號比輸出信號變化快,故其值很小,在電路設計時按輸入信號與輸出信號的遷移時間大體相等考慮,其貫通電流產生的功率可限定為第1項的大約10%;第3項是恒定流過電源與密封罩的漏泄電流產生的功率,即靜態(tài)功耗。
對于FPGA來說,VDD、Vs、Ileak等都是由所選用的芯片決定的,只有α為轉換概率和f為時鐘頻率在FPGA的設計的時候可以優(yōu)化。低功耗設計方法有很多種,最為常用的三種設計方法門控時鐘、操作數(shù)隔離及存儲器分區(qū)訪問。
門控時鐘和操作數(shù)隔離的策略十分有效,但都是在設計的初期就要充分設計和準備,從系統(tǒng)設計開始就要為實現(xiàn)低功耗需要付出相當?shù)拇鷥r。使用門控時鐘,需要設計的時候特別設計時鐘的OE(輸出使能)信號,由于有了OE信號,增加了特別的邏輯,對系統(tǒng)的時序的實現(xiàn)也可能帶來負面的影響。使用操作數(shù)隔離的策略,需要對每個模塊的輸入進行分析,在模塊不使用的時候保持輸入信號的不變,從而降低系統(tǒng)的功耗。存儲器分區(qū)訪問技術僅僅對訪問存儲器有效。
發(fā)明內容
本發(fā)明所要解決的技術問題在于提供一種降低FPGA芯片功耗的電路和方法,用于在不需要大量改動系統(tǒng)結構的情況下有效地降低系統(tǒng)的功耗。
為了實現(xiàn)上述目的,本發(fā)明提供了一種降低FPGA芯片功耗的電路,其特征在于,包括一事件觀測器和一時鐘切換電路;所述事件觀測器用于監(jiān)測是否有待處理的信息,以給出時鐘切換的信號;所述時鐘切換電路用于根據(jù)所述事件觀測器給出的結果在不同速率的時鐘之間進行時鐘切換,并且在時鐘切換的過程中,不產生小于所有輸入時鐘周期的時鐘脈沖。
所述的降低FPGA芯片功耗的電路,其中,所述時鐘切換為二個或多個不同速率的時鐘之間的切換。
所述的降低FPGA芯片功耗的電路,其中,所述時鐘切換電路在第一速率時鐘、第二速率時鐘為低電平時進行所述第一速率時鐘、第二速率時鐘之間的切換。
所述的降低FPGA芯片功耗的電路,其中,所述時鐘切換電路分別通過一第一速率時鐘控制信號、一第二速率時鐘控制信號控制所述第一速率時鐘、所述第二速率時鐘之間的切換。
所述的降低FPGA芯片功耗的電路,其中,所述時鐘切換電路在進行時鐘切換的過程中,所述第一速率時鐘控制信號、第二速率時鐘控制信號是互鎖的。
所述的降低FPGA芯片功耗的電路,其中,在所述第二速率時鐘切入之前,所述第二速率時鐘已運行一個或多個時鐘周期。
為了實現(xiàn)上述目的,本發(fā)明還提供了一種降低FPGA芯片功耗的方法,其特征在于,包括一設置事件觀測器的步驟,用于監(jiān)測是否有待處理的信息,以給出時鐘切換的信號;一設置時鐘切換電路的步驟,用于根據(jù)所述事件觀測器給出的結果在不同速率的時鐘之間進行時鐘切換,并且在時鐘切換的過程中,不產生小于所有輸入時鐘周期的時鐘脈沖。
所述的降低FPGA芯片功耗的方法,其中,所述設置事件觀測器的步驟中,所述事件觀測器通過FIFO隊列的空/滿標志或加減計數(shù)器或堆棧的計數(shù)方式實現(xiàn)監(jiān)測是否有待處理的信息。
所述的降低FPGA芯片功耗的方法,其中,所述設置時鐘切換電路的步驟中,所述時鐘切換電路在第一速率時鐘、第二速率時鐘為低電平時進行所述第一速率時鐘、第二速率時鐘之間的切換。
所述的降低FPGA芯片功耗的方法,其中,在所述第二速率時鐘切入之前,所述第二速率時鐘已運行一個或多個時鐘周期。
本發(fā)明提供了一種簡單的方法和電路,實現(xiàn)在不需要大量改動系統(tǒng)結構的情況下有效地降低系統(tǒng)的功耗;本發(fā)明還可以對同步設計的模塊或系統(tǒng)進行改進,只需增加少量的電路,就可以模塊或系統(tǒng)的工作時鐘在高速和低速之間自動切換,從而在不影響原設計的情況下,最大程度地降低FPGA的功耗。
以下結合附圖和具體實施例對本發(fā)明進行詳細描述,但不作為對本發(fā)明的限定。
圖1為本發(fā)明的結構框圖;圖2為普通時鐘切換的電路;圖3為普通時鐘切換的電路的時序;圖4為本發(fā)明改進的時鐘切換電路;圖5a-5b分別為A_Select信號、B_Select信號的產生電路圖;圖6為本發(fā)明改進后的時鐘切換時序。
具體實施例方式
請參閱圖1所示,為本發(fā)明的結構框圖。系統(tǒng)的功耗和系統(tǒng)的工作頻率成正比,而在系統(tǒng)中有相當多的模塊并不始終需要運行在最高的頻率處,也就是說,在部分時間,模塊需要全速運行,而在其余的時間,模塊可以低速運行,甚至停止工作。本發(fā)明提供的降低功耗電路,可以根據(jù)系統(tǒng)的需要在不同速率的時鐘之間切換,以達到降低功耗的目的。圖1示出的結構框圖給出該降低功耗電路,該電路主要由事件觀測器10和時鐘切換電路20構成;其中事件觀測器10用來監(jiān)測是否有待處理的信息,從而給出時鐘切換的信號。最簡單的做法可以用FIFO(First-In First-Out,先進先出)隊列的空滿標志實現(xiàn),也可以通過加減計數(shù)器或堆棧的計數(shù)方式來實現(xiàn)。
時鐘切換電路20,是要根據(jù)事件觀測器10給出的結果,自由地在二個或多個時鐘之間切換,在時鐘切換的過程中,不產生小于所有輸入時鐘周期的時鐘脈沖,并且不能引入毛刺或時序錯誤。
請參閱圖2所示,為普通時鐘切換的電路。通常的切換電路是個二選一的多路開關,在時鐘的切換中會引入毛刺或時序的錯誤。
請參閱圖3所示,為普通時鐘切換的電路的時序。仔細分析該圖3,可以看到,在圖3中的Clk_Out 330的第2個時鐘的周期小于輸入Clk_A 310的周期也小于Clk_B 320的周期,從而在時鐘的切換中會引入時序的錯誤。
請參閱圖4所示,為本發(fā)明改進的時鐘切換電路。為了克服上述圖3中電路的缺陷,需要構造一種電路,避免上述缺陷的產生,該電路必須滿足以下條件(1),時鐘的切換在時鐘為低電平的時候進行;(2),切換的過程中互鎖保護,按時鐘A切出,低電平保持和時鐘B切入的步驟進行;(3),在時鐘B切入前,至少要保證時鐘B完整地運行一個時鐘周期。
因此,使用圖4中的時鐘切換電路,Clk_A 410和Clk_B 420分別由A_Select信號401和B_select信號402控制,在時鐘由Clk_A 410切換到Clk_B420的過程中,信號變化如下1,初始狀態(tài),A_Select=‘1’,B_Select=‘0’,Clk_Out 430輸出為Clk_A;2,在Clk_A 410為低電平時,A_Select=‘0’,B_Select=‘0’,Clk_Out430輸出低電平;3,等待Clk_B 420的一個完整的周期;4,在Clk_B 420為低電平時,A_Select=‘0’,B_Select=‘1’,Clk_Out430輸出為Clk_B。
請參閱圖5a-5b所示,分別為A_Select信號、B_Select信號的產生電路圖。了滿足上述圖4的時序要求,A_Select信號401和B_Select信號402分別由圖5a和圖5b完成。該電路完成的功能和特點1),A_Select信號401和B_Select信號402是互鎖的;2),時鐘使用下降沿觸發(fā),而不是普通的上升沿觸發(fā);3),保證檢測到一個完整的時鐘;4),異步信號的同步處理。
請參閱圖6所示,為本發(fā)明改進后的時鐘切換時序。分析該圖中的時鐘切換時序,可以看出采用本發(fā)明的電路和方法有效解決了在時鐘的切換中引入毛刺、時序的錯誤。
在使用以上的時鐘系統(tǒng)中,本發(fā)明還可以對同步設計的模塊或系統(tǒng)進行改進,只需增加少量的電路事件檢測器和時鐘切換電路,就可以模塊或系統(tǒng)的工作時鐘在高速和低速之間自動切換,從而在不影響原設計的情況下,最大程度地降低FPGA的功耗。
當然,本發(fā)明還可有其他多種實施例,在不背離本發(fā)明精神及其實質的情況下,熟悉本領域的技術人員當可根據(jù)本發(fā)明作出各種相應的改變和變形,但這些相應的改變和變形都應屬于本發(fā)明所附的權利要求的保護范圍。
權利要求
1.一種降低FPGA芯片功耗的電路,其特征在于,包括一事件觀測器和一時鐘切換電路;所述事件觀測器用于監(jiān)測是否有待處理的信息,以給出時鐘切換的信號;所述時鐘切換電路用于根據(jù)所述事件觀測器給出的結果在不同速率的時鐘之間進行時鐘切換,并且在時鐘切換的過程中,不產生小于所有輸入時鐘周期的時鐘脈沖。
2.根據(jù)權利要求1所述的降低FPGA芯片功耗的電路,其特征在于,所述時鐘切換為二個或多個不同速率的時鐘之間的切換。
3.根據(jù)權利要求2所述的降低FPGA芯片功耗的電路,其特征在于,所述時鐘切換電路在第一速率時鐘、第二速率時鐘為低電平時進行所述第一速率時鐘、第二速率時鐘之間的切換。
4.根據(jù)權利要求3所述的降低FPGA芯片功耗的電路,其特征在于,所述時鐘切換電路分別通過一第一速率時鐘控制信號、一第二速率時鐘控制信號控制所述第一速率時鐘、所述第二速率時鐘之間的切換。
5.根據(jù)權利要求4所述的降低FPGA芯片功耗的電路,其特征在于,所述時鐘切換電路在進行時鐘切換的過程中,所述第一速率時鐘控制信號、第二速率時鐘控制信號是互鎖的。
6.根據(jù)權利要求3、4或5所述的降低FPGA芯片功耗的電路,其特征在于,在所述第二速率時鐘切入之前,所述第二速率時鐘已運行一個或多個時鐘周期。
7.一種降低FPGA芯片功耗的方法,其特征在于,包括一設置事件觀測器的步驟,用于監(jiān)測是否有待處理的信息,以給出時鐘切換的信號;一設置時鐘切換電路的步驟,用于根據(jù)所述事件觀測器給出的結果在不同速率的時鐘之間進行時鐘切換,并且在時鐘切換的過程中,不產生小于所有輸入時鐘周期的時鐘脈沖。
8.根據(jù)權利要求7所述的降低FPGA芯片功耗的方法,其特征在于,所述設置事件觀測器的步驟中,所述事件觀測器通過FIFO隊列的空/滿標志或加減計數(shù)器或堆棧的計數(shù)方式實現(xiàn)監(jiān)測是否有待處理的信息。
9.根據(jù)權利要求7或8所述的降低FPGA芯片功耗的方法,其特征在于,所述設置時鐘切換電路的步驟中,所述時鐘切換電路在第一速率時鐘、第二速率時鐘為低電平時進行所述第一速率時鐘、第二速率時鐘之間的切換。
10.根據(jù)權利要求9所述的降低FPGA芯片功耗的方法,其特征在于,在所述第二速率時鐘切入之前,所述第二速率時鐘已運行一個或多個時鐘周期。
全文摘要
本發(fā)明公開了一種降低FPGA芯片功耗的電路和方法,其中,該電路包括一事件觀測器和一時鐘切換電路;所述事件觀測器用于監(jiān)測是否有待處理的信息,以給出時鐘切換的信號;所述時鐘切換電路用于根據(jù)所述事件觀測器給出的結果在不同速率的時鐘之間進行時鐘切換,并且在時鐘切換的過程中,不產生小于所有輸入時鐘周期的時鐘脈沖。本發(fā)明提供了一種簡單的方法和電路,實現(xiàn)在不需要大量改動系統(tǒng)結構的情況下有效地降低系統(tǒng)的功耗;本發(fā)明還可以對同步設計的模塊或系統(tǒng)進行改進,只需增加少量的電路,就可以模塊或系統(tǒng)的工作時鐘在高速和低速之間自動切換,從而在不影響原設計的情況下,最大程度地降低FPGA的功耗。
文檔編號G06F1/00GK1980062SQ20051012642
公開日2007年6月13日 申請日期2005年12月9日 優(yōu)先權日2005年12月9日
發(fā)明者周昶 申請人:中興通訊股份有限公司