新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 具有低功耗意識的FPGA設計方法

具有低功耗意識的FPGA設計方法

作者: 時間:2011-01-13 來源:網(wǎng)絡 收藏

 工業(yè)、汽車電子、軍事, 甚至商業(yè)類客戶都會對系統(tǒng)的溫度和運行模式的概況有規(guī)定。這些概況指引我們在時要注意哪些地方以及精力該如何分配。IGLOO器件的低工藝和硅片由Actel來保證,用戶所要關注的是:關心器件的選型、掌握所使用的的架構(gòu)、掌握PCB的板級布局(主要是電容及I/O的走線)。

本文引用地址:http://2s4d.com/article/151091.htm

  對于同一系列的器件來說,器件的die越小,器件的也會越小。也就是說,在選用器件的時候,應該盡量選擇規(guī)模小的器件。選定器件后,可以在過程中,通過一些技巧盡可能的少占用資源,比如通過時分復用的方式少占用I/O,共享加法、乘法等算法邏輯,共享RAM等,同時也有必要了解所選用的的架構(gòu)。

  用戶需要在和速度之間做平衡,在對速度性能要求不高的時候,盡量使用低的核電壓和低電壓的I/O接口標準。根據(jù)設計工作的實際狀況,在某些時候?qū)斍安还ぷ鞯馁Y源關掉,比如通過控制SRAM的LP或BLK引腳,使其在不工作的時候可以被關斷,或者是通過Flash Freeze端口進入Fresh Frezee模式以降低靜態(tài)功耗。在PLL不需要工作的時候,通過Power Down引腳將其關掉,不過需要注意的是,需要考慮重新開啟以后,PLL的鎖定時間對系統(tǒng)是不是有影響。關掉沒有輸入總線的I/O Bank。

  注意,不要濫用上拉/下拉電阻。在活動模式下,如果總線被反向模式驅(qū)動(如上拉的被“0”驅(qū)動,或下拉的被“1”驅(qū)動),那么每個I/O上的電流會增加。要預防被驅(qū)動的總線進入3態(tài)狀態(tài)。除非的工作時間確實短,否則建議跟板子設計者溝通以確保對輸入進行持續(xù)的驅(qū)動。

  要降低設計的動態(tài)功耗,首先要了解影響動態(tài)功耗的因素。動態(tài)功耗通常和電壓、信號翻轉(zhuǎn)頻率、容性負載正相關,設計所占用的邏輯資源越多、時鐘頻率越高、I/O和RAM越多,動態(tài)功耗就越大。同時也需要分析設計的動態(tài)功耗概況。

  確定要降低的動態(tài)功耗的目標,如果要降低的動態(tài)功耗的目標是目前整個系統(tǒng)動態(tài)功耗的20%,那么選用Actel的IGLOO器件或許就可以實現(xiàn)所要達到的目標。如果目標是80%,那么除了選用IGLOO器件外,還需要從系統(tǒng)和架構(gòu)上去考慮。

  針對不同的系統(tǒng)功耗的概況,梳理動態(tài)功耗的重點,見圖1。針對Case1中動態(tài)功耗的示意圖,我們可以看出其功耗主要分布在邏輯、存儲和時鐘方面,這樣我們的精力就不能放在如何降低I/O的功耗上去,而針對Case3這種情況,如果要降低動態(tài)功耗,就必須要解決I/O上的功耗問題。

 不同系統(tǒng)的動態(tài)功耗在線座談精華

圖1 不同系統(tǒng)的動態(tài)功耗在線座談精華

  要減少RAM的功耗,除了對RAM的控制和時鐘信號進行門控制以外,還需要知道RAM的讀和寫分別對功耗的影響有多少。地址變化、讀寫順序、RAM級聯(lián)方式對功耗的影響。

  對RAM進行讀操作涉及到:控制所存地址和控制鎖存、行的預譯碼電路、讀的列譯碼電路、行的最終譯碼電路、讀的列譯碼控制、傳感放大器、數(shù)據(jù)輸出選擇和鎖存電路、Sense enable logic、讀控制電路、Bit-line預充電電路等十個相關電路。而對RAM進行寫操作需要涉及到的電路有:地址和控制鎖存、行的預譯碼電路、寫的列譯碼電路、行的最終解碼控制、寫的列譯碼控制、寫驅(qū)動電路和Bit Line預充電電路。因此,相比較而言,讀操作會比寫操作消耗更多的功耗。

 RAM的讀寫地址改變的方式,也會對功耗有不同的影響。連續(xù)操作地址之間的漢明距離越小,產(chǎn)生的功耗也越小。反之亦然。也就是說當前操作的地址和上次操作的地址之間變化的位數(shù)越少,所產(chǎn)生的功耗也會越小。

  讀寫間隔操作和連續(xù)讀、連續(xù)寫操作相比,要產(chǎn)生多一些的功耗。從圖2中分別對12塊RAM、16塊RAM和24塊RAM做的測試結(jié)果看,同樣的操作條件下,RAM塊數(shù)越多,連續(xù)操作地址之間的漢明距離越長,功耗就越大。同樣的塊數(shù)和連續(xù)操作之間的漢明距離,寫-讀三次會比三次寫三次讀消耗的功耗要大。

寫讀操作順序vs

圖2 寫讀操作順序vs.讀序列后跟寫序列操作

  通過前面所述,我們可以通過調(diào)整RAM的訪問順序降低RAM的功耗。可能的話,對RAM少進行讀操作,盡可能一次多讀一些數(shù)據(jù)或者多寫一些數(shù)據(jù),少一些讀寫操作之間的切換。如果在連續(xù)相同操作的地址之間,漢明距離能保持最小的話更好。也可以考慮在反向時鐘沿上對RAM進行讀寫操作,以降低RAM的峰值功耗。

  不同的RAM級聯(lián)架構(gòu)所產(chǎn)生的功耗也不同。如果想獲得一個4K×4的RAM,有許多不同的實現(xiàn)方式。從圖3中可以看出,根據(jù)這些不同的實現(xiàn)方式,對每塊RAM的讀寫時鐘控制,進行門控制所產(chǎn)生的功耗是最低的。

根時鐘vs

圖3 根時鐘vs.葉時鐘vs.門控允許


上一頁 1 2 3 下一頁

評論


相關推薦

技術專區(qū)

關閉