怎么玩轉數(shù)字IC設計呢_第1頁
怎么玩轉數(shù)字IC設計呢_第2頁
怎么玩轉數(shù)字IC設計呢_第3頁
怎么玩轉數(shù)字IC設計呢_第4頁
怎么玩轉數(shù)字IC設計呢_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

怎么玩轉數(shù)字IC設計呢?第二集:數(shù)字IC假如我們想要錄制一段聲音,模擬信號的做法是把所有的聲音信息用一段連續(xù)變化的電磁波或電壓信號原原本本地記錄下來。而按照一定的規(guī)則將其轉換為一串二進制數(shù)0和1,然后用兩種狀態(tài)的信號來表示它們,這叫數(shù)字信號。處理數(shù)字信號的芯片就是數(shù)字芯片,比如常見的CPU、GPU。當聲音變大或變小了,模擬信號都會跟著變化,所以模擬信號有無數(shù)種狀態(tài)。狀態(tài)之間微妙的差異,需要人的經驗判斷,有點玄學的成分。而數(shù)字信號永遠只有0和1兩種狀態(tài),信號的轉換嚴格遵循邏輯關系,一個輸出對應唯一確定的結果,程序完全依照輸出指令執(zhí)行,這是科學。數(shù)字IC設計工程師的設計目標:在PPA(Power、Performance、Area)三個指標上追求完美的平衡。怎么玩轉這門科學?這,是一種藝術。今天,我們就從資源需求、并行特征、數(shù)據(jù)敏感度等角度展開聊聊在數(shù)字芯片設計各階段,如何利用不同EDA工具的特點,讓數(shù)字芯片的設計研發(fā)效率獲得顯著提升。和模擬芯片相呼應,這篇還是從計算角度出發(fā),至于調度/管理/數(shù)據(jù)/協(xié)同/CAD等視角,會在后面的文章里體現(xiàn)~(比如第三集和模擬相比,數(shù)字芯片需要使用EDA工具的場景更多,IC工程師們對于計算機的使用天然比較親近。但就跟《解密一顆芯片設計的全生命周期算力需求》一樣,只負責某項工作的研發(fā)可能不關心,或者只了解自己的這部分,IT對業(yè)務所知有限,也不一定清楚。除非有大佬坐鎮(zhèn),大多數(shù)公司的日常大概是以拍腦袋經驗論為主。我們先來看一下大畫面,數(shù)字芯片設計全流程分析圖:01數(shù)字前端:前端設計/驗證這一階段包含了規(guī)格制定、架構設計、RTL編碼等步驟。數(shù)字前端算法仿真和功能驗證場景有大量中小任務并行,這一階段,對于資源類型和用量通常無特殊需求。不過需注意若大量使用現(xiàn)有IP通常沒有算法仿真這一步。而且每家公司業(yè)務不同,算法仿真需求量差異非常大(下一集主角就是ta)。

02數(shù)字中端:邏輯綜合與DFT實現(xiàn)

這一階段可分為邏輯綜合、形式驗證、門級仿真、ATPG驗證等業(yè)務場景。數(shù)字中端呈現(xiàn)單、多任務混合的特點,因為計算的輸入數(shù)據(jù)中包含門延遲信息,輸入數(shù)據(jù)變多,對內存的需求相比前端有一定增長。ATPG驗證建議內存優(yōu)化型,其他三種場景更加偏計算密集型。

03數(shù)字后端:物理實現(xiàn)

這一階段包括布局布線、形式驗證、版圖驗證、寄生參數(shù)提取、后仿、ATPG驗證、靜態(tài)時序分析和IR分析等業(yè)務場景。數(shù)字后端基本都是多任務,由于包含版圖的寄生參數(shù),信息量非常大,普遍需要大內存機器。其中,布局布線、后仿、靜態(tài)時序分析、IR分析的大任務數(shù)量非常多,對主頻也有要求,需要兼具高主頻和大內存的資源。

資源需求后端>中端>前端,數(shù)字后端·真·資源黑洞把數(shù)字IC設計前、中、后端三大階段進行資源需求對比。

可以看到無論是任務運算時間、所需計算資源、存儲需求還是IP與輸入數(shù)據(jù)量級上,數(shù)字前中后端形成了非常明顯的階梯結構,整體資源需求呈現(xiàn)前端<中端<后端的趨勢。

這是由三個階段的具體工作內容決定的:數(shù)字前端,用RTL代碼將芯片架構師的設計寫出來,前端驗證也主要是針對RTL的功能進行驗證,偏邏輯功能。數(shù)字中端,需要將RTL代碼綜合成網表并規(guī)劃、插入各種用于芯片測試的邏輯電路,需要加入Foundry廠提供的標準單元庫的工藝參數(shù),驗證也到了邏輯門這一級。數(shù)字后端負責芯片的物理實現(xiàn),先將電路網表通過自動布局布線畫成版圖,再進行寄生參數(shù)提取,創(chuàng)建一個可以精確模擬數(shù)字電路響應的模型,這一階段會加入版圖的寄生參數(shù)。從代碼到邏輯門電路再到物理層,隨著階段的演進,信息量逐級遞增,計算時所需消耗的資源量也隨之增加。而在28nm以及更先進制程下,包含的工藝參數(shù)更多,電路更復雜,前中后端每一階段的信息量級還會被進一步放大。哪怕前端RTL基本一致,中端和后端因為Foundry廠工藝參數(shù)更多更復雜,同樣的代碼計算量也是更大的。換個思路,我們舉個栗子。通過一個在數(shù)字前中后端都會出場的EDA工具來看看三大階段的資源需求。VCS的主要作用是將VerilogHDL(一種硬件描述語言)轉成C語言,編譯出來并執(zhí)行。作為一個翻譯官,ta的工作量取決于雙方對話的頻率,以及需要翻譯的文本量。VCS在前端的功能驗證、中端的門級仿真、后端仿真中都有出場,在不同階段對任務資源的需求完全不同:從前端到中端再到后端,雖然VCS的工作性質沒變,但整體來說,消耗的資源越來越多了。綜上,數(shù)字后端設計與驗證環(huán)節(jié)相比中端和前端資源需求更高、運算時間更長、數(shù)據(jù)量更大,往往會占據(jù)整個項目周期資源需求量的50%以上。這也就意味著,數(shù)字后端對IC設計公司的壓力相當大,能否在這一階段獲取充足的資源,是提升研發(fā)效率、保障項目進度的關鍵。

典型并行場景靜態(tài)時序驗證&版圖驗證并行度是我們評估任務能否通過分布式計算完成,提升效率的標準之一。這里涉及到兩個重要的判斷標準:可拆分,互不干擾??刹鸱种傅氖?,大任務可以分解為小任務,原任務目標不變。互不干擾指的是,拆分為小任務之后,任務之間互相不干擾,可以不同步。從前端到中端再到后端,任務數(shù)量越來越多。任務的并行度決定了速度提升的空間。靜態(tài)時序驗證:最常見且并行度較高

靜態(tài)時序驗證是最常見的設計場景之一,基本原理是檢查各信號通路上經過的門電路,然后累加門延遲,求取整個路徑的信號延遲。沿信號通路求DelayTime的過程,就是沿信號通路不停做簡單加法。在靜態(tài)時序驗證過程中,有一個PVT的概念。我們需要驗證邏輯門在不同的工藝(Process)、電壓(Voltage)、溫度(Temperature)條件下的延遲。首先,列出可能的條件,如:工藝:TT、FF、SS……電壓:0.9V、1.0V、1.1V……溫度:-40°C、0°C、25°C……隨后,窮舉每一種可能性,如:PVT1=TT、0.9V、-40°CPVT2=TT、1.0V、25°CPVT3=TT、1.0V、0°C……最后,驗證邏輯門在每一種PVT條件下的延遲:數(shù)字芯片中有著無數(shù)這樣的邏輯門,每一個PVT下,邏輯門都有對應的DelayTime,而P、V、T之間可以有很多種組合,就會有很多個DelayTime的情況需要驗證。這一場景,天然適合暴力堆機器。版圖驗證:最高并行度模擬芯片和數(shù)字芯片,這一場景的原理一模一樣,使用的EDA工具也完全相同。版圖驗證屬于檢查類任務,以模塊為單位,本質上是數(shù)據(jù)對比工作,重內存需求,子任務間沒有數(shù)據(jù)關聯(lián),是數(shù)字芯片設計與驗證中并行度最高的場景。這一階段很適合利用云上的內存優(yōu)化型資源,使用“小F影分身術”(版圖分割術),通過暴力堆資源的方式快速完成任務。關于版圖驗證,我們在《芯片設計五部曲之一|聲光魔法師——模擬IC》中有更詳細的說明。數(shù)據(jù)敏感度前端>中端>后端,但是不用擔心我們按照數(shù)據(jù)敏感度從高到低的順序給各類設計數(shù)據(jù)排了個序:RTL數(shù)據(jù)>IP、PDK和版圖

>Netlist、Session、過程波形、歸檔數(shù)據(jù)和Report好了,接下來我們看看這些數(shù)據(jù)都會出現(xiàn)在哪些階段:數(shù)字前端有大量RTL代碼,甚至部分公司在此過程中還自己開發(fā)了IP,屬于數(shù)據(jù)安全等級最高的那一撥。許多公司都會嚴格管理這部分數(shù)據(jù),設置一定的保密等級,甚至固定放在某幾臺機器上。中端則涉及到部分的RTL代碼、IP和PDK數(shù)據(jù),以及一些Netlist、Session和Report。后端徹底告別了代碼,以IP、PDK、版圖和數(shù)據(jù)敏感度較低的數(shù)據(jù)為主。如果你要做一款游戲,前端相當于游戲的源代碼,中端是詳細的角色形象設計稿,后端就是玩家拿到手的游戲光碟了。前端泄密,恭喜你的對手達成“代碼級抄襲”;中端泄密,別人能照著樣子把仿品做出來,但沒有源代碼參考,知其然不知其所以然;后端泄密,等對方逆向明白,大半年時間也過去了,你的下一代產品已經在路上了。值得一提的是,如果使用的是先進工藝,F(xiàn)oundry廠也會對IP/PDK數(shù)據(jù)有保密要求。所以在選擇云上業(yè)務場景的時候,我們一般優(yōu)先推薦數(shù)字后端先來。當然,會根據(jù)每家公司的實際情況進行具體分析。(以后會寫到,這次一定那么,前端或者中端是不是就適合用云了呢?甚至,在某些情況下,IC設計公司會面臨全部數(shù)據(jù)無論敏感度高低必須存放在本地的情況,比如一些高保密項目(軍工項目或國家重點項目),或者有點微妙的競爭關系,怎么辦?我們有針對性的存算分離解決方案,歡迎來對號入座。存算分離究竟是什么意思?我們又是如何實現(xiàn)的?關于數(shù)字IC設計,從不同設計階段的計算任務視角出發(fā),我們總結了四點:1、與模擬芯片相似,數(shù)字芯片三大階段的資源需求同樣呈現(xiàn)前期<中期<后期的趨勢,但數(shù)字芯片需要使

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論