大多數工程師都知道現有三種基本的FPGA技術:反熔絲、FLASH和SRAM。其中,SRAM是迄今為止應用範圍最廣的架構,主要因為它具有可重複編程能力,而反熔絲FPGA只提供一次可編程(OTP)方案。以FLASH為基礎的FPGA也能以相近的元件成本提供可重複編程功能,是FPGA領域比較新的技術。然而,許多設計決策皆以比較這些不同FPGA技術的元件成本為基礎,沒有從系統整體的角度出發,廣泛考量各種技術的有形和無形成本。本文將通過分析其應用的整體系統成本,對SRAM架構FPGA的普及性提出質詢。
SRAM架構FPGA分析
SRAM架構FPGA的使用必需用到許多附加元件,而這些元件在基於反熔絲或FLASH的可編程邏輯元件中則不需要,包括配置用的附加PROM和FLASH、上電用的CPLD、保密性用的電池,以及滿足功率要求的電源和散熱片。
舉例說明,SRAM FPGA需要使用導引PROM或其他附加記憶元件,儲存配置位元的資料。在帶有微處理器的系統中,晶片內建記憶體是一種解決方法,但會增加處理器的成本和尺寸──這因素在計算成本時經常會被忽略。沒有處理器的系統則需要使用附加的PROM,這會帶來更高的元件成本和採購成本、更多的元件存貨、更複雜的製造流程、更大尺寸的印刷電路板,以及可能降低系統可靠性,因為可靠性與系統所包含的元件及焊接點數成正比。
相反地,基於反熔絲和FLASH的FPGA採用非揮發性技術,因此無需在上電時進行配置。如不考慮上述較隱性的成本,利用擁有50萬到100萬系統閘SRAM架構FPGA的可重編程PROM,使用每個FPGA元件的成本將增加約16美元(以1萬個計)。即使使用OTP PROM,成本也會增加13美元,因此在這種情況下使用OTP FPGA,如反熔絲元件將較為有利。對於現有最高密度的FPGA,每個FPGA可能需要價值100美元的可重編程PROM或50美元的OTP PROM。
如前所述,FLASH記憶體可內置於晶片或作為微處理或微控制器的外部元件。作為外部元件,FLASH記憶體會帶來上述所有無形成本及附加的元件成本。一個典型的50萬系統閘SRAM FPGA需要2.8M配置位元,而100萬系統閘元件則需要4.1M配置位元。
SRAM架構FPGA的另一項技術侷限在於不能上電運行。在許多重要的高速應用中,幾百毫秒的配置時間是不被接受的。該問題通常由添加小型CPLD來解決,但這樣又會增加少許成本以獲得上電運行的解決方案。反熔絲或FLASH架構FPGA則不存在這個問題,因為它們本來已有上電運行的特性。
設計安全性成本
另一個常被忽略的重要領域是設計安全性成本。SRAM FPGA在此方面的弱點在於其配置位元流可被截取,設計容易被複製,失去IP的價值。在國防和航空應用領域中,設計安全性尤為重要,但隨著FPGA開始具備更多的系統邏輯,致使許多關鍵和昂貴的系統IP亦採用,設計安全性也成為商用系統中日益重要的課題。在遊戲機中,遊戲重點通常己編程於FPGA內 ──因此必需具備防竄改及防複製功能。反熔絲和FLASH FPGA均能提供高水準的IP安全性。這兩種技術不存在可被截取的配置位元流,其編程元件非常小並分散在整個元件中,因此編程一旦完成就無法進行反求。
相反地,對於SRAM架構FPGA,位元流加密技術是目前唯一提供IP安全性的技術,而且只有主要供應商的少數產品系列提供。其中,設計安全「密鑰」 儲存在PROM中──附加元件,同時還需要使用電池在漏電情況下保存密鑰配置。舉例來說,由於沒有密鑰FPGA就不能進行編程,因此建議使用第二塊電池為PROM提供並行供電冗餘。每塊鋰電池大約為50美分。換句話說,SRAM FPGA能做得更加安全,但要以三個附加元件為代價,而這些元件在材料清單上大約為2美元,且其中兩個附加元件還含有鋰──由於環保原因,設計人員都希望將其從系統中剔除。
總之,如果密鑰和系統配置丟失,SRAM是揮發性的,系統就會報廢。然而,更嚴重的是由於複製或反求而對寶貴的IP造成損失。
《圖一 比較SRAM 架構FPGA的「安全性」解決方案》 |
|
系統功耗
選擇FPGA技術時還需要考慮系統功耗的問題。SRAM元件需要附加功率以支援高達2 Amp的湧入電流和較高的動態功率。持續數百毫秒的SRAM配置可能引起超過100mA的峰值電流,以及超過50mA的平均電流消耗。如(圖二)所示。基於SRAM的元件需要使用超規格電源以支援較高的功耗,這會影響整個系統的成本和尺寸。例如,系統功耗從10W增加到15W,會增加電源成本約20%,或在大批量下每系統4美元。
更高的功耗還會產生更多的熱量,從而影響系統可靠性。根據經驗法則,系統溫度每上升10 °C,可靠性將減半,這即是平均無故障時間間隔或MTBF。提高系統冷卻能力可以解決問題,但會增加系統與散熱片甚至強制風冷系統或液冷導熱板相關的成本和尺寸。以此為例,27平方毫米BGA元件所需鋁制散熱片的成本約為1.75美元(以1萬以上數量計)。而使用上電運行的低功耗元件即可解決所有這些與功耗相關的問題。
100萬系統閘設計的附加元件成本可以達25美元。如前所述,當中的隱性成本還包括採購所需的時間和精力、增加的元件存貨、更複雜的製程、更大型和昂貴的印刷電路板──使到最終產品的尺寸更大,而安全性比較使用反熔絲或FLASH元件的產品為低。
結論
最近,一個更重要的問題正引起廣泛關注。由於元件的幾何尺寸縮小,使得基於SRAM 的FPGA更容易遭受由隨機高能中子引起的軟錯誤攻擊。高能中子來源於封裝材料的微量放射性同位素及與大氣層碰撞的宇宙射線。過去,這只是太空和軍事應用所關心的問題。如今,由於小尺寸SRAM單元狀態翻轉所需的電平變化較小,使得這問題也受到商用地面系統設計人員更多的關注。使用減緩干擾技術可以解決問題,但會大量增加元件數量和成本,而反熔絲和FLASH FPGA則對這個問題免疫。
總括而言,僅根據元件成本選用FPGA技術只會帶來更昂貴的解決方案,特別是當所有隱性成本都計算在內時。不僅如此,選用以SRAM為基礎FPGA系統的安全性和可靠性一般亦較低。(作者任職於Actel)
2