冗余電路會升高成本,降低性能和提升功耗。但實際上又真的能刪減多少呢?
當人們被問到這個問題的時候往往會比較保守或者認為這是展現架構,設計過程以及IP優勢的好機會。IP供應商也是這樣認為。其他人則指出,冗余電路的整體概念有點奇怪,因為它是試圖以合理價格獲得足夠好上市產品的自然產物。
芯片制造商試圖利用額外面積有很多原因:
余量 添加額外的電路雖然會耗費更多的金錢,但是它允許芯片制造商緩沖時序問題以及處理可能存在的變化。
成熟度 使用已經被驗證過的IP可以降低風險,即使它可能提供比所需更多的功能。
可擴展性 在新的或者競爭激烈的行業中,留下空間和連接端口來集成額外的功能至關重要,因為有可能這些芯片在上市之前就已經過時了。
靈活性 應用處理器可能是執行特定功能最有效的方法,它們能提供安全性,靈活性和可擴展性。
不斷發展的標準 在汽車或者通訊等新興和不斷變化的市場中,標準的變化幾乎是無法避免的。擁有在不完全重做芯片而不斷更新標準的能力長久看來可以節省不少時間和金錢。
幾乎所有人都認為冗余電路可以減少,問題是可以減少多少以及需要的代價。
冗余電路與經濟
Achronix營銷副總裁Steve Mensor表示:“縱觀所有設計,很少有人能說‘我完全使用了所有的邏輯功能與內存’。對于板級FPGA來說,公司可能只會使用其中一半的功能,而另一半并沒有使用的需求,或者找不到適當的資源平衡來獲得更高的利用率。”
冗余電路必須以正確的術語來定義
Flex Logix首席執行官Geoffrey Tate表示:“作為IP供應商,我們正在努力實現利潤最大化,而客戶也正在努力實現利潤最大化。他們希望得到可以獲得的最優化的IP,但最大限度地減少浪費并不客觀。在考慮其他重要因素(如成本,可用性以及在硅片上已驗證的IP)時,要盡可能接近他們想要的。”
Mobivil首席執行官Ravi Thummarukudy也肯定了已驗證IP的價值:“在物理知識產權領域,工作的價值比優化設計更重要。如果有人擁有了能正常工作的IP,那么即使它們具有稍微不同的功能,他們也會選擇已驗證的IP,盡管它可能不是最優化的。”
不同設計類型之間的經濟效益區別是很大的。Codasip的顧問Dan Ganousis說:“有很大一部分市場會為了減少風險而接受浪費。那些以9位數的預算和1500萬美元到2000萬美元的掩膜版構建10nm設計的人無法承受風險。越深入先進IC設計,風險就越小。新興的物聯網市場則與之相反。對于他們來說,產品上市時間比風險更重要,落后競爭對手六個月就不能發布產品了。我們也看到了很多真正關心低功耗和高安全性的人。”
IP的選擇與配置
如何正確選擇IP是設計的一部分。ClioSoft營銷副總裁Ranjit Adhikary指出:“我們需要大量時間來正確地選擇和鑒定IP。一個不好的IP選擇可能會在以后的流程中引起問題。通過比較不同IP以及配置,可以很容易得到IP已通過驗證的代工廠,開放問題等細節。我們針對不同應用場景使用不同的IP配置,并建立一個可分類的機制。”
對于IP供應商來講,可配置性至關重要。 Silvaco IP部門總經理Warren Savage說:“可配置性是確保客戶能夠創造最佳設計的關鍵。但是,可配置性是給開發過程增加了大量成本,因為所有場景都需要驗證。此外,我們必須付出巨大努力讓客戶清楚如何正確配置IP,并且確保所有參數有效。”
在很多情況下可配置性都成為了一個挑戰。Synopsys的DesignWare模擬組和MSIP解決方案集團營銷組高級主管Navraj Nandra說:“我們為DDR控制器提供了一個實用工具,這是一個可配置工具,允許客戶根據運行模式,地址映射以及其面積/功率/延遲要求來得到不同的結果。一共有20個參數可供輸入,通過這些參數可以得到一個優化的控制器RTL網表。沒有這個實用工具,客戶很難得到一個定制IP。”
選擇參數也是一件很復雜的事情。Mobiveil的Thummarukudy說:“客戶通常會有吞吐量/面積/功耗的要求,或者例如通道數量這樣的特定需求。但是我們是精通每個協議,可以根據客戶要求配置IP,所以控制器空間的浪費會少于其他人。“
在許多情況下,IP配置的應用程序可能變得與IP本身一樣復雜
Nandra補充說道:“我們不想使用太多的配置選項以致于IP膨脹變大,所以我們選擇以自下而上的方式將配置參數添加到工具中。這意味著我們需要不停積累系統知識。為了能做出正確的配置,你必須知道這些參數的用途。因此,IP和工具都會變得很復雜。這樣的話,我們需要會配置IP參數或者客戶自己能配置。”
為了確保有效性,需要仔細設計IP。Uniquify公司營銷副總裁Graham Bell表示:“最大限度地減少IP的浪費取決于IP架構師的智慧。架構師搜尋一種可縮減和擴展的架構,并能提供所需的性能。新的創新架構是IP設計公司的寶貴財富。”
但是可配置性依然存在限制。Sonics首席技術官Drew Wingard說:“對于NoC設計,我們意識到將無法使用現有HDL的參數化功能。我們開始使用其他編程語言對RTL進行解釋來達到靈活性和可配置性,因此可以選擇性地啟用功能并避免浪費。”
其他人則希望編譯器能夠創建高效的IP。西門子旗下Mentor公司IP部門總經理Farzad Zarrinfar說:“編譯器可以用來產生最佳的IP模塊。例如,客戶可以在架構層面使用編譯器對速度,面積和功耗進行權衡分析。或者,如果不需要某個多余的功能,編譯器就會將之刪除,使IP規模得以減小。”
Savage承認:“可配置IP的底線是從硅成本的角度來講,不會比常用IP更高。通過可配置IP將產品推向市場的好處是成本更低,速度更快,安全性更高。”
可綜合IP
再進一步擴展可能是將IP提升至更高的抽象層次,隨之帶來了幾個問題。Codasip的Ganousis認為:“高層次設計在語言方面受到了阻撓。System C是一種很好的驗證語言,但想要將其變為一種實現語言已被證明是很困難的。一種解決方法是降低語言的難度直至可以被編譯,但是這樣又失去了很多語言的能力和功能。此外,如何編寫一個非常簡潔的模式的能力對于大多數RTL編寫者來說比較難達到。”
在其他領域,技術是有所缺失的。“綜合試圖將目標功能最大化,”Wingard解釋說。 “問題在于,目標功能在SoC的性能表現并不能用代數來描述。因此,我可以擁有一個圍繞一組延遲約束進行優化的綜合引擎,它甚至可以優化產出的約束,但是這些約束并不考慮內存控制器的實際表現,因為DRAM控制器的實際吞吐量取決于地址模式,突發長度和與其交互的組件的時域行為。 我們不知道任何一種可以在滿足芯片性能需求的情況下處理大部分基礎挑戰的綜合算法。”
硬核
硬核通常與行業標準接口相關。Cadence設計IP組設計工程總監Tom Wong說:“一級IP供應商現在都是非常專業的。我沒有看到任何一家供應商在相同的代工廠的工藝節點中部署相同的IP,畢竟這與跟競爭對手比較還容易得多。對于硬核來講,真正重要的是余量,質量,成熟度以及在硅片上得到驗證。”
在這個層面上有很多區分的方法。Synopsys的Nandra解釋了為什么外形可以成為區分的一個因素:“大型應用處理器正在嘗試將大量接口IP放在芯片的邊緣,并且它們是由I / O限制。僅是減小功能模塊的大小是無濟于事的,因為并沒有增加引腳。這些客戶希望PHY高而瘦,以便IP具有不影響邊界的寬高比。在數據中心市場,他們更看重的是性能,采用在芯片頂層使用復雜的bump方案。他們希望IP寬且短,這樣信號和地的引腳可以在頂層金屬匹配對應的層次。”
Cadence的Wong增加了另一種區分方式。“在某些情況下,單個PHY同時支持DDR3 / 3L,DDR4和LPDDR3 / 4接口,這樣我們可以使用組合DDR / LPDDR PHY。好處是可以往后兼容,所以SoC在市場上可能存在五年或更長時間。可以在出現價格交叉的時候,連接不同的內存類型,因為當一個內存類型過時的時候,新的內存會變得更便宜。在SoC中采用組合存儲PHY可以延長芯片的生命周期。”
在某些情況下,同一顆裸片可能被不同產品采用。 Mobiveil的Thummarukudy補充說:“一個設計在不同封裝方案和價格可能會有額外的SerDes。這是一個基于經濟效應的決定。”
PHY也可以與控制器集成來進一步節省成本。Nandra補充說:“當將兩者結合在一起的時候,可以消除PHY和控制器之間在互操作性要求方面的所有浪費。完整的解決方案可以減少門的數量,我們已經看到了可以提供20%更低延遲和更小面積的案例。”
提高魯棒性
將一個設計優化到極致并不一定是最好的辦法。Thummarukudy指出:“設計的許多方面都是經驗法則。他們可能會要求預留30%的余量,來提供一個時序緩沖。這可以在物理設計中處理遇到的異常情況。這種余量絕不是浪費,更像是物理設計或過程關鍵問題的保險。”
危險增加了太多。Wingard解釋說:“我可以定制系統在處理器和內存之間擁有足夠的緩沖,這樣即使內存被最大程度地加載,并且處理器和內存之間的事務流量有最大的延遲,那么處理器可以覆蓋許多事務問題”。 如果我的平均內存延遲足夠短,這樣的交易量就會減少,那么我已經過度設計了。當 人們決定這是否值得的時候? 如果您為一般事件設計了芯片,則可能無法正常工作。 當你有爭議的時候,事情會減慢,你將會降低你所需要的資源的一段時間,如果你沒有建立一些剩余容量的話,那么你可能永遠不會趕上。因此你已經做了一些過度的設計,性能架構的技術正在認識到多少是合適的。
適型化是重要的,定義真實的場景或用例是確保重要性能需求可以得到滿足的一種方式。 Breker驗證系統公司首席執行官Adnan Hamid說:“新興的可移植刺激標準將為系統架構師提供一個有價值的工具,以便能夠定義重要的場景。 “這些用例作為驗證團隊的起點,并驗證實施是否符合規范。”
架構性浪費
除了適型化互連結構之外,架構師還必須提供適當的處理能力,這正在成為一個更困難的任務。 Achronix的Mensor指出:“CPU在很大程度上被超越,盡管他們仍然繼續按摩爾定律上升曲線,但和以前相比已經變慢。” “單核性能基本上被封頂了,可以添加的內核數量沒有下降的改善是有限。 所以是有限度的。”
有些人正在尋求更好的處理器。 Uniquify的貝爾說:“指令集架構(ISA)會影響基于處理器的設計中的面積和功耗。 “新的RISC-V ISA允許定制以提供設計中所需的指令。 這意味著通過消除冗余指令和硅來降低功耗和減小面積。”
Ganousis補充說,“為了消除浪費,你必須去除那些無用的晶體管。那些晶體管泄漏電流,而且您必須意識到沒有EDA公司或代工廠想去消除浪費。 如果你主張客戶,你要提出一個不同于EDA和代工廠提供的答案。”
所有處理器都需要大小合適的內存。 Flex Logix的Tate補充說:“人們編寫C代碼,并且他們知道他們將來會升級代碼。” “多少額外的內存應該投入多少? 這是一種風險和回報的情形,花費額外的硅提供更多的靈活性,但短期成本。”
有些甚至看到CPU太低效率和浪費。 Mensor說:“有大量證據表明,和CPU集群實現相比FPGA功耗更有效率。” “CPU是高功率解決方案,雖然非常靈活,但它們比使用FPGA執行相同的功能多消耗一個數量級的功率。 使用FPGA的挑戰在于,當編程時,它是要做一個特定的功能,而CPU則是要做任何功能。 CPU目的是編程,而FPGA的意圖是在編程之后運行該功能。 所以有些部分重新配置和即時配置,使功能的更改更快更靈活,但這仍然是少數的情況。”
FPGA本身提供了一些有趣的權衡。 Mensor說:“我們使用標準單元實現FPGA,以便我們可以更快地實現設計,并可以覆蓋多個流程節點。” “但是,我們確實優化了幾個標準單元,如多路復用器。 我們在開關矩陣中使用很多,并且當FPGA被編程路由時改變多路復用器。 他們不必從一個輸入快速切換到另一個輸入,因為它們不經常執行。 這允許一個非常優化的單元。”
充分利用FPGA是不可能的。 他補充道:“在任何FPGA中都將占用開銷。” “雖然設計可能會變化很小,在某些時候,您可能會接近100%的利用率。 那么你將難以做地布局布線。 您必須有一些冗余才能繼續保持靈活性。 即使是最小的變化也許意味著沒有足夠的靈活性來做出改變。”
Tate目前的想法是,團隊應該增加三分之一的能力,隨著時間的推移,如果這是一個好的數字,他們將獲得經驗并學習。
結論
所有設計都包含冗余,摩爾定律的迅速發展幾乎助長了它。 將設計推向市場比優化它們更為重要。 但是,那些停留在舊技術中的人們正在開始面臨不同的冗余挑戰。 盡管需要更高的開發成本,適型化設計和消除過多的利潤成為一種降低硅面積,功耗和制造成本的方式。 物聯網正在挑戰許多“經驗法則”,并且可能會細流整個設計鏈。