EDA的左傾主義


來源:內容授權轉載自「ICGeek」,作者:Alice Gao,謝謝。

前兩天,被一篇名為谷歌用AI設計芯片,強力碾壓設計專家的文章刷屏,朋友圈一片“啊,要失業了”的哀嚎。如果大家真的很焦慮,我們不妨來討論一個更加重要的話題,和我們每個人,每天的工作以及我們要去的方向都息息相關的話題,EDA的shift left。大家稍微留意一下DAC,DVCon和各種EDA的演講和訪談,應該對shift left這個名詞毫不陌生。

EDA的左傾主義

也有社區的同學跟我吐槽,他跟同事講shift left,發現有的人右的厲害,這位熱血小青年痛心疾首的批判,“右傾機會主義,在工作中放棄原則,放棄理想,自甘墮落,畏首畏尾,甚至在某些部門成為主流思想,荼毒業界,長此以往,司將不司”這當然是小青年的理想主義,而現實是非常現實的。辯證唯物法教導我們說,摸石頭過河,左和右的朋友都要交。

本文希望正本清源的對EDA的shift left做個解釋,以後兩派互相人身攻擊的時候也好知道各自的主義到底是什麼,衝突的根源在哪裡。

Shift left是什麼不是什麼,從摩爾定律說起

我沒有在wiki上找到關於shift left的定義,只有shift-left testing

Shift-left testing is an approach to software testing and system testing in which testing is performed earlier in the lifecycle (i.e. moved left on the project timeline). It is the first half of the maxim "Test early and often."

EDA(估計)是借鑑了這個觀點的內核,“將事情在項目/產品的早期階段做”,而逐層衍生出了自己的一整套概念內涵,這是本文將要描述的重點。Shift left不是將開發的時間線縮短,而是在同樣的時間盒裡面要做的工作更多。這,是由支撐芯片行業發展的基石,摩爾定律所決定的(儘管現在來到了後摩爾時代,但規律仍在發揮作用)摩爾定律不是技術規律,而是技術和市場的共同規律,最早是英特爾的戰略目標。芯片發佈的時間,雖然TTM的壓力越來越大,但正確的時間窗口從來不是越快越好,而是要跟整個長長的產業鏈協同,不能早於市場需要,鏈條上的其他環節還不ready。即便是強勢如蘋果也不能說我現在就要100GHz的芯片,蘋果的product marketing也得根據摩爾定律,估算明年性能大概什麼水平,然後提要求。有個定律,方便全產業鏈協同。

死期是市場,產品和研發競爭博弈的結果。市場得參考友商,產品得做投資分析,研發要參考自己的生產力,單是在相同的時間盒內完成更多的工作這一點就足以把很多工程團隊逼到996.ICU了,這是來自四面的合圍夾擊,第一,5G,IoT, AI市場瞬息萬變,需求多變,第二,集成度日益複雜,第三,先進工藝下的次生效應,第四,驗證的工作量指數暴漲,基於過去的項目經驗預測新項目的週期已經越來越困難,特別在烏卡環境下,當博弈卡到極限的時候,新的設計方法學出現了,技術拉動生產力和生產效率。這,就是我們今天要談的shift left,高度連接,大縱深連接的EDA設計流程使得產品開發週期更快且具有更優秀的工程生產力和可預測性。

Shift left 1:

整合綜合,PR及籤核平臺,任務左移

近幾年,EDA兩大巨頭先後推出AI增強的從綜合到籤核的整合設計平臺,包括RTL綜合,測試,物理實現,物理驗證和signoff。基本思路是,各個環節拉通引擎,共享數據模型,inside EDA, 提升了環節間的一致性和高併發優化的可行性,極大降低了環節間複雜的數據交互所造成的資源浪費,dance around EDA, 能夠為設計工程師提供更豐富的接口和更具有靈活性延展性的流程構建方式。從而綜合提升了從綜合到籤核的整體工程效能。

具體來說,在綜合階段,利用後端的引擎直接做早期的fp探索,將std與macro一起擺放,使得該探索的結果可以避免後期的congestion,優化功耗,時序,減少PR到綜合的迭代。在PR階段,直接調用籤核工具的引擎,優化功耗,提前考慮到finfet工藝下的光刻壞點修復, 複雜layout rule及壓降,次生效應等一系列問題,減少籤核到PR的迭代。

事實上,在拉通引擎和數據,post-rtl平臺整合之前,在各個單點環節早就有大量左移的技術實踐,先模型左移,如physical aware synthesis, 在place階段考慮時鐘樹,在時鐘樹階段考慮congestion,在PR階段考慮STA場景及模型和PV的先進工藝規則,次生效應等,將IR drop與timing同時優化等等,這些,我們暫且稱其為模型或知識左移及並行計算。

Shift left 2:

IP複用,IP左移

EDA廠商的雙巨頭同時也是排名全球Top3的IP廠商,IP市場也一直是EDA市場的巨大的增量市場。EDA與IP的深度整合為SOC工程效率的提升邁進了一大步。

在IP市場上,除了極少數top的寡頭可以為客戶提供IP生態和端到端的解決方案,大部分IP供應商,做不到也做不好這件事兒。理由是,IP的基本使用模式是高可複用,但IP不是樂高,可以以一個非常穩定的接口牢牢的跟周圍的樂高組件靈活組合,穩固連接。IP是通過一組0 1 信號互相連接,被上層調用,向上的應用場景非常複雜,向下的工藝variation更加複雜,對IP的選型和驗證,是自研還是採購向來都是SOC設計的深坑。

EDA在IP領域可以依靠生態影響力把行業的IP(標準,規範,協議)通用需求固化和領域需求差異化,為專用領域,如汽車電子,AI等提供打包的一攬子解決方案,滿足該領域的行業標準及合規性。這些更底層的問題交給專業的供應商,可以有效支持SOC架構師更加聚焦架構級的探索。驗證成本是SOC開發成本的大頭,IP級的驗證在其中做的可深可淺,採購安全及質量合規的,超大規模量產驗證過的,PPAC最優的IP及相應的VIP顯得尤為重要,驗證IP的鉅額成本由供應商承擔,SOC廠商也願意為此買單並分攤成本。

同時IP還與綜合工具,架構空間探索工具及平臺深度整合,確保需求多變,先進工藝,約束嚴格的挑戰下SOC對IP的使用高效,穩定,安全,易用。將這個事情交給EDA或IP寡頭做,這是相比SOC廠商自研和自選IP更加左移,更加高效的一種商業和技術場景。這,就是IP左移。

Shift left 3:

驗證左移

這一部分是左移這一理念的大本營,驗證左移。驗證跨越了芯片開發從spec到上板及量產的整個過程,以一種高效有效的方式,完整確保這個複雜的設計鏈條上的過程質量,是驗證工作的目標。按照,bug發現的時間晚一個環節,fix的成本高出10x的原則,應對驗證工作量指數暴漲,提高驗證效率(即,開發效率)的核心就是,儘早發現問題,左移。

在不同的設計環節,對應不同的驗證工具,驗證左移的三個核心實踐,一是,拉通不同驗證工具的引擎,二是,跨產品週期的數據,信息,知識的全流程共享,包括 inside eda的 database,dance around eda的 SPEC, IP, testbench, testcase,VIP package,知識管理等,三是,優化的自動化驗證平臺,賦能複雜過程的高效協作及過程管理。這樣說似乎還是太抽象,這些名詞術語大家也常提,驗證平臺很重要,每個公司都在做,但這跟左移的關係是什麼呢?回答這個問題必須先搞清楚,敏捷跟左移的關係是什麼,更直接點,敏捷是什麼?當我們談優化流程時,我們是在談強制標準化還是適應變化?

當芯片質量保證變得越來越複雜,驗證的地位從原來設計的輔助變成跟架構師同等地位(或者更高),設計的架構師只是懂部分的設計,而驗證的架構師則需要100%的保證這個複雜設計的質量。敏捷驗證是EDA領域和SOC領域一個獨立且成熟的理論和實踐,大量的討論聚焦在如何在早期發現體繫結構和重大的設計缺陷,如何儘量減少返工和開發驗證之間的迭代,每次設計提交代碼的原因和意圖都不同,是不是隻要代碼提交就必然跑回歸,跑回歸的策略如何優化,如何進一步提升工程層面的解耦和並行性,如何寫文檔才能確保文檔跨產品生命週期的高效管理,一致性,可複用。

對應上述問題,敏捷驗證(驗證左移)具體的實踐非常多,包括XP,單元測試,測試驅動開發,實例化文檔(可執行需求文檔),spec跟驗證的關係是什麼,如何理解客戶需求跟驗證的關係,如何應對需求多變跟驗證流程的關係,哪些內容適合放在流程裡,哪些適合自動做,頻繁做,哪些適合面對面的溝通,溝通的過程和協作的範式是怎樣?

更加具體的描述和呈現,可以放在後面的專題文章當中單獨展開討論。

Shift left 4:

硬件和軟件之間的整合,設計左移

傳統的嵌入式系統開發模式是典型的瀑布模型,先有硬件,然後在硬件的基礎上開發軟件,硬件開發中spec-rtl-silicon-system,軟件開發中的 app-integration-qa-test也是按照瀑布模型,其中可以被並行開發的環節很少,導致不但開發週期久,而且環節依賴及迭代交付模型複雜。

隨著架構演化和解耦,軟硬功能邊界重新定義,系統整體解決方案中的需求及功能定義越來越多的可以在軟件側實現,這使得在架構階段軟件就開始介入,並依靠軟件的快速驗證給硬件快速反饋,這一軟硬協同開發模式成為可能。Software is eating the world,IoT通過軟件將萬物互聯。其中的快速交付,安全等問題,EDA作為方案供應商也需要以新的技術應對新的需求和挑戰。包括精確的模型預測,確保軟硬之間的一致性,優化的算力及算法,確保應對更多的驗證壓力。以及客戶將這些功能移至軟件後,EDA需要相應的解決方案支持這一部分開發的新需求。同時,也需要應對客戶對軟件和硬件的協同和整合所提出的需求。

以前,在社區討論過一個話題,EDA到底賣的是點工具還是相關服務和解決方案?事實上,(個人理解)EDA的核心價值是生態,點工具的觀念已經越來越淡化,如前面的介紹,EDA先是整合了從綜合到籤核的平臺,通過拉通工具間引擎和數據,將保持PPAC一致性的工作提前做,再是SOC設計的基礎組件,IP,以及圍繞著IP打造的VIP,for專用領域芯片的設計套件,與EDA工具鏈的整合,再來,跨越端到端的從spec到流片後的驗證方案,越來越多的滲透了TDD及左移的思想。更進一步,軟件定義芯片的觀念已經開始普及,變革正在發生。當芯片設計開始往軟件和系統遷移,也就意味著pre-rtl的部分開始往軟件世界的基石,敏捷和開源遷移,而post-rtl的部分,AI在更多的滲透和參與其中,基於更準確的模型輔助設計空間探索,提升後道工序乃至全流程的可預測性,準確度和更好的設計結果。

在傳統方法中,考慮到從設計交付到返回芯片所需的幾個月時間,稱硬件只需幾周的衝刺時間有些不太可信。而敏捷開發方法是如何通過在適當的層上改變原型起作用的。最內層是軟件模擬器,如果模擬器能夠滿足迭代需求,這是進行更改的最方便快捷的地方。第二層是 FPGA,其運行速度是具體軟件模擬器的數百倍。FPGA 可以運行操作系統和完整的基準測試(像那些來自標準性能評估公司的測試),允許對原型進行更精確的評估。第三層使用 EDA 工具生成芯片佈局。即使在工具運行之後,在準備製造新的處理器之前,也需要進行一些手動步驟來完善結果。處理器設計者將第四層稱為「tape in」。每個層級都支持以衝刺(參考號內Scrum介紹)的方式完成價值交付。

Shift left 5:

架構的黃金時代,被AI加持的EDA反哺AI,端到端左移

這是架構的黃金時代,EDA在提供架構空間探索方面積極發力,更進一步,打通該解決方案與RTL2SILICON流程的整合是人類和EDA以及幾大EDA之間的最後角逐。架構師不僅僅是為融入AI、ML的EDA工具感到壓力,也為設計芯片過程需要整個設計團隊的通力合作,算力、數據和人才的經驗的協調調度,盡心盡力才能提升芯片PPA。而將ML融入EDA方法學中,機器就可以看到和累積所有人的經驗,通過不斷地學習變得越來越穩定,逐漸擺脫對人的經驗的依賴。如果到了這個階段,芯片設計就走向了一個新高度,一個嶄新的天地。屆時,需要在敏捷體系框架下和視角下重新審視人和工具的關係以及工具和工具的關係。

下一個戰場,是AI的戰場,是生態的戰場。大樹底下,可能寸草不生,也可能生長出豐富的植物,久而久之,將大樹合圍絞殺。結局未知,但,戰鬥已經打響!

AI chip的計算能力比傳統計算高1000倍,其體系架構,計算架構,算法和傳統芯片有很大區別。具有更大規模的計算陣列,在繞線以及佈局上也更復雜,這是EDA所要解決的新的領域問題。而EDA也全方位融合了AI, ML技術服務於該領域。芯片設計的過程,本質就是數據的計算,加工,傳遞,而ML/AI技術加速了這一進程。

包括inside EDA的局部優化以及dance around EDA的端到端優化。

前面shift left 1-4講的還是在研發內部的流程左移,優化研發效能。得AI的加持和計算效能的飛速增長,加之架構演化使得系統功能左移到軟件,工具提高了抽象水平,而且這種更高水平的抽象增加了設計的重用性。從這一步開始,左移已經不僅僅是研發的事情,而是業務流程左移,產業鏈左移。具體來說,EDA從通用領域進入專用領域進一步深耕,AI作為新興領域,還沒有非常成熟的解決方案,應用、算法、硬件、軟件、性能標準和設計方法可謂百花齊放。AI芯片廠商也在積極的做市場和技術探索。而一個快速試錯,小步快跑的支撐體系則顯得尤為重要。等芯片流片,上市後才發現一些預定義的戰略錯誤,產品定義錯誤,則為時已晚。

現代SoC軟硬件設計的複雜性日益增加,準備好硬件後再進行開發軟件在業界已不再有效且缺乏競爭力。能不能從應用、系統反向定義出做一個怎樣的芯片比較符合應用需求?能不能在系統階段,架構階段做充分的探索,提高早期的可預測性,而把芯片實現的部分,交給EDA去完成。尤其是在AI和ML的快速發展的垂直市場中,迫切需要使用虛擬原型技術並行設計硬件和軟件產業鏈上,每一道環節都儘可能多的幫助上一道環節的產品成功和客戶成功。以一種拉動的力量影響和加快產業鏈?這,就是產業鏈左移。

Shift left 6:

敏捷體系與EDA,左移中的工程管理和研發效能

社區的同學聽我佈道agilesoc已經幾年了,我對體系的理解和在SOC領域應用也是跟大家在共同的交流中成長起來的。通常,在軟件工程效能領域,往往會把精益敏捷DevOps放在一起,作為一個完整的端到端工程效能體系框架。敏捷和精益都是DevOps的前置條件,很多內容是重複的,DevOps範疇更全(篇幅所限,暫時先不去糾結這三者有什麼區別和聯繫)在芯片領域,提agilesoc提的較多,DevOps提的不多,因為以前設計上雲,AI ML在研發中的應用還不普及,生態及大環境還不足以支撐充分的落地實踐,在這裡我們暫時先統一用DevOps這個術語。

devops= dev{*}ops,這是來自devops創始人的定義,是軟件行業高效組織跨部門協作,提高產品價值交付的一種能力模型,星號代表一切相關部門。按照一個信息化時代更普世的定義,EDA,CAD,設計流程,研發體系構建一定屬於{*}Ops,EDA是從集成電路而來往信息產業而去的。信息行業對數據的處理,結構化,半結構化,非結構化,對ML的利用,這些都屬於CAD EDA要處理的部分。更重要的是,該體系幫我們梳理了,人和工具的關係,人和人的關係,產品和市場的關係。

DevOps體系框架跟EDA的關係,前者是最大化組織開發效率,促進進化學習,創造員工滿意度,贏得市場的工程管理框架,後者是這個框架在場景中落地的內在引擎,EDA在IC設計中賦能自動化,智能化加速了這一進程。在外層和內層中間的那一層,是人,各個角色的人。映射到SOC領域,具體來說,它的構成要素,首先包含了人的部分,從以人為本的角度出發,這部分也是最核心的內容,你的企業管理怎麼做,組織文化,工程文化,工程管理等。特別是對於技術型知識工作者,怎樣的模式能夠最大化釋放集體的效能,並且構造讓大家持續成長的空間。第二,從產品角度,強調客戶導向,業務驅動研發,如,芯片公司關心需要以什麼樣的解決方案滿足客戶的何種需求,如何實現,如何高效高質量的滿足價值交付以何種方式幫助它的客戶成功和完成價值交付。第三,包含了spec2gds的集成平臺,設計流程,項目管理,知識管理。第四,包含了跟架構,設計密切相關的交付管理,過程質量,驗證管理以及跟DFT, 封測,後端等部門的協作方式,以及足夠支撐高效協作的底層能力。

該體系框架下的一些重要的觀念和實踐有,自動化,度量,共享,方法層面就是經典的three-way,強調流動,反饋,持續學習和實驗,開發交付實踐層面重構,TDD,ATDD,內建質量,CICD包括持續探索(架構空間探索),架構設計持續演進,CICD跟雲服務融合更緊密,把自動化和智能化推向更極致,這也和EDA演化的方向是一致的。如何在該體系中植入EDA的位置,EDA跟各要素的關係是什麼,如何在該體系中植入芯片架構的位置,架構跟各要素的關係是什麼,人(角色)和體系要素的關係是什麼,系統運行的底層邏輯是什麼,研發過程中遇到的問題如何在構成系統的要素間互相作用中找到解釋,如何通過干擾其相互作用的關係而改善問題?篇幅所限,不展開講,請關注後續文章,我會持續分享一些我的看法。

Shift left 7:

ABCDI時代,重新定義EDA,生態左移

A(AI)B(Block Chain)C (Cloud Computing) D (Data) I(IoT)的話題也在社區已經反覆的討論過非常多次,它代表了當下我們正在經歷的時代以及未來要去的方向,即從互聯網+時代走向智慧+時代,這是萬物互聯的時代。部分老的巨頭已經落幕,新型科技冉冉升起。中國沒有輸掉ABCDI競賽,但,基石不穩,這基石,就是芯片,美國就是想通過封鎖芯片和芯片技術來阻止中國崛起。那些互聯網巨頭失掉芯片就像是沙灘上的帝國,所以他們紛紛入局芯片。那些手機廠商,系統廠商,也紛紛入局芯片。

EDA行業的未來會深深的和這個ABCDI時代綁定,結合AI,雲服務,大數據,萬物互聯促成“算力”、“算法”“數據”“交易”的深層次的融合,而此時的算力,算法,數據已經和我們在過去傳統EDA1.0,2.0,3.0時代討論的算力,算法,數據不是一個物種。EDA自身也會轉型,在點工具時代,EDA專注於單點算法和自動化,在移動互聯網時代,低功耗設計提出了更多新的挑戰,EDA專注於PPAC芯片指標的全流程一致性整合,在萬物互聯的智能時代,EDA(或)專注於依靠雲服務,AI/ML技術提供領域芯片的端到端解決方案,如AI chip領域。整合已來,但僅僅被看作是IC設計工具的時代,也會過去。EDA的全稱是Electronics Design Automation,不單是Integrated Circuit Design Automation(集成電路設計自動化),串聯起了芯片行業的上下游,並用軟件統一了產業鏈不同分工企業之間的對話語言,從而徹底改變了整個半導體業態的格局。同時,半導體產業鏈的合作與發展也反過來造就了當前EDA工具的方法學。未來的EDA將會服務於當下和未來這個新時代,正在成為,或者將會成為信息產業和智慧化離不開的“工業軟件”,以一種更符合時代和市場需要的形態和生態。不要一談敏捷就強調硬件和軟件有多麼巨大的鴻溝,EDA軟件和普通工業軟件有多麼深刻的不同,一切都在變化,轉型正在發生。

寫在最後:

關於開篇提到的AI是否會另我們失業的焦慮感,我是覺得,5-10年內暫時不至於,但,IC人需要向上走,只爭朝夕,不負韶華。不必因為和國外的巨大差距而沮喪,更不必因AI的強大而自暴自棄,無人芯片設計最終一定會到來,融合了AI的EDA會更強,會越來越多的替代人工,這是一定的!但,那又怎樣?不甘心被吊打,就腳踏實地去研究它,掌握它,超越它。

參考資料:

【1】. Aart De Geus 博士的多個相關演講及採訪

【2】. 周祖成教授多篇相關文章,演講及採訪

【3】. 近兩年CDNLive, SNUG, DAC, DVCon,ISSCC相關論文及演講

【4】. 近年的EDA datasheet,產品手冊,網站文章及相關資料

【5】. 極刊・IC極客薦書,一起學習,一起掛科

*免責聲明:本文由作者原創。文章內容系作者個人觀點,半導體行業觀察轉載僅為了傳達一種不同的觀點,不代表半導體行業觀察對該觀點贊同或支持,如果有任何異議,歡迎聯繫半導體行業觀察。

今天是《半導體行業觀察》為您分享的第2299期內容,歡迎關注。

中國半導體|蘋果|封測|藍牙|設備|晶圓|英偉達|射頻|臺積電



分享到:


相關文章: