通過DARPA項目看看晶元世界的「遠方」- 自動化工具和開源硬體
上篇文章討論了一下DARPA的ERI電子復興計劃最近新增的兩個架構方面的項目(通過DARPA項目看看晶元世界的「遠方」- Architectures)。而新增的項目中還有兩個設計領域的項目,IDEAS(Intelligent Design of Electronic Assets)和POSH(Posh Open Source Hardware)。和架構項目的大背景類似,這兩個項目也是為了在摩爾定律難以繼續的情況下,通過提高設計效率的方法降低整體成本,進而支持半導體產業的持續增長。恰逢Nvidia的NVDLA正式開源,我們正好也可以借這個熱點討論一下開源硬體的問題。
Intelligent Design of Electronic Assets (IDEA)
「No human in the loop」 24-hour layout generation for mixed signal integrated circuits, systems-in-package, and printed circuit boards.
下面這張圖非常清楚的描述這個項目的目標。
左邊是目前晶元設計,封裝設計和PCB設計的流程。而右側是「明天」的理想狀態:只要一個Domain Expert(TA不需要晶元設計,封裝設計和PCB設計的技能)把設計扔給機器就行了。這個理想的工具怎麼實現?當然是靠「MACHINE LEARNING」啊。
「It is envisioned that the IDEA platform will leverage applied machine learning methodologies to continuously evolve and improve performance as new data sets become available. 」 「The customization offered from training will empower differentiation through the breadth and quality of training sets available to the end user, providing specialized users with an asymmetric advantage benefiting from an existing database of designs.」 「It is anticipated that achieving the autonomy goals of the IDEA program will require breakthroughs in machine learning and optimization algorithms.」
這個項目又分成兩個技術領域:
TA-1: Machine Generated Physical Layout: Development of a unified physical layout generator for digital and analog SoCs, SiPs, and PCBs.
TA-2: Intent Driven System Synthesis: Development of an intent-driven, correct-by construction system generator.
這裡需要指出的是,這個項目主要是針對物理設計而言,並不包括晶元的前端設計(如果包括就太牛了)。TA-1所重點研究的就是一個通用的Physical Layout Generator。它的輸入是「(1) unannotated netlists for analog IC designs, (2) Verilog Register Transfer Level (RTL) and instantiated fixed circuit primitives/macros circuit blocks for digital IC designs, and (3) structured Verilog netlists for SiPs and PCBs.」 輸出就是Layout結果
TA-2則主要是根據系統的需求,基於Commercial Off The Shelf (COTS)的組件,比如可用的封裝,SiP用的die,SoC IP,生成設計網表,提供給TA-1工具進行物理設計。
T.S.:
自動化設計工具一直是推動半導體產業的重要力量,而在摩爾定律越來越難以為繼的今天就更為關鍵。如果能夠解決IDEA項目提出的問題,無疑會大大提升晶元和硬體系統設計的生產力。但怎麼實現這個看起來很美的目標呢?Machine Learning會是答案嗎?我們拭目以待吧。
Posh Open Source Hardware (POSH):
An open source System on Chip (SoC) design and verification eco-system that enables cost effective design of ultra-complex SoCs.
今年五月的時候Nvidia宣布要開源一個Deep Learning Accelerator,我也做了一些分析(從Nvidia開源深度學習加速器說起)。而在9月26日,Nvidia正式在Github上公布公布了NVDLA初始開源版本,之後的報道和分析很多,我就不再贅述了。我們可以通過POSH這個項目,更多的討論一下硬體開源這個更大的話題。
首先,為什麼需要開源硬體?
這張圖描述的是目前的軟體開發和SoC硬體設計的不同方法。不誇張的說,開源軟體的蓬勃發展是目前軟體開發可以快速、低成本的實現的一個關鍵。從Linux,GNU,Android到現在各種開源的AI Framework,成功的開源項目往往能夠產生革命性的影響。而在硬體設計難度和成本越來越高的情況下,「能否在硬體領域複製開源軟體的成功」,自然會成為一個值得考慮的問題。其實,硬體開源也不是新鮮的話題,之前有很多嘗試,但成功的不多。
那麼,為什麼硬體開源很難成功呢?我覺得關鍵還是要回答「硬體開源是否經濟?」這個問題。
我們做晶元設計的同學都應該很清楚,目前大家在一個晶元項目中投入的精力大量是用於驗證的,因為晶元不能失敗(或者有缺陷)。如果晶元硬體有繞不過去的bug,它帶來的損失輕則是一次投片的費用打水漂,重則影響產品的上市時間或者公司的信譽,導致客戶的流失,可能帶來致命的打擊。晶元項目和軟體項目對Bug的容忍度有著根本的不同。所以,面對一個免費開源的硬體,在對它有足夠的理解和驗證測試之前你敢用嗎?更不用說你可能還需要修改。如果你好不容易理解了這個設計,突然又有人增加了feature,提交了改動,你是不是還得再重新理解和驗證一遍呢?另外,軟體開源項目的一個重要指標是它的活躍度,有越多的人參與,它的進化就越快,越成功。硬體項目呢,更多開發者的參與是否意味著更大的風險和更高的成本呢?......
上述這些都可以歸結為一個問題「是否能有快速、有效、低成本的驗證方法讓我們能對開源硬體有信心呢?」
這個問題也是POSH項目關注的第一個技術領域:
TA-1: Hardware Assurance Technology: Development of hardware assurance technology appropriate for signoff quality validation of deeply hierarchical analog and digital circuits of unknown origin.
而它的基本的解決思路也無外乎現有的驗證方法,包括Formal,Simulation,Emulation和Prototype。當然這個項目重點強調了「cost effective」,畢竟這個項目的核心就是通過開源硬體來降低晶元研發成本。比如,L1要求「minimal (or zero) engineering effort from the user.」; L2 「should demonstrate a productive, fast, and cost effective simulation platform that enables application centric high assurance validation of complex SoCs.」; L3 「should demonstrate a cost effective hybrid emulation and prototyping platform to enable high assurance validation appropriate for open source SoC development.」
POSH項目關心的第二個技術領域是:
TA-2: Open Source Hardware Technology: Development of design methods, standards, and critical IP components needed to kick-start a viable open source SoC eco-system.
這裡就牽扯到開源的另一個問題,生態。拿這次Nvidia的開源為例,NVDLA本來是Nvidia用於自動駕駛的SoC中的一部分,而這個SoC由很多模塊組成,CPU,GPU,加速器,各種介面等等。DLA只是眾多IP中的一個(雖然是很有名氣的一個)。如果還沒有感覺,可以看看同樣用於自動駕駛的Mobileye的EyeQ4的框圖。DLA也許相當於這其中的PMA或者ACC。
圖片來自http://www.imgtec.com
這兩天不少同學看到NVDLA之後很興奮,覺得加上個RSIC-V核就可以自己搞個AI晶元了,可能還是要三思啊。
那麼POSH項目講的「open source SoC eco-system」是個什麼概念,大家可以看看POSH項目希望參與者能夠開發的IP列表。
一個晶元項目需要的生態是很複雜的,而一個SoC晶元是否能成功,也不是靠一兩個免費開源的IP決定的。
T.S.:
硬體開源是一個討論了很久的話題,最近由於Nvidia開源DLA獲得了更多關注。說實話,我覺得POSH這個項目在DARPA這幾個項目中,可能是最難取得實際進展的一個。軟體開源的成功能否複製到硬體,既面臨技術的挑戰,又有生態和經濟因素等諸多限制,非常困難。但不管怎麼說,能將自己的知識成果分享給大家,RISC-V、NVDLA和其它開源硬體項目能夠開源就是非常有價值的事情。
題圖來自網路,版權歸原作者所有
推薦閱讀
通過DARPA項目看看晶元世界的「遠方」- Architectures
Hot (AI) Chips 2017
Deep Learning的IR「之爭」
Processors for AI : a List
AI + 5G = 高通的未來汽車之道
解密又一個xPU:Graphcore的IPU
給DNN處理器跑個分 - 設計篇
給DNN處理器跑個分 - 指標篇
Deep Learning Hardware - 我的文章
歡迎訂閱我的公眾號StarryHeavensAbove
推薦閱讀:
※A Network-based End-to-End Trainable Task-oriented Dialogue System
※基於遷移學習的樹葉分類
※深度學習-用PaddlePaddle調戲郵件詐騙犯(1)
※吳恩達的新課