0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

數(shù)字芯片設(shè)計全流程分析

傅里葉的貓 ? 來源:速石科技 ? 2023-03-06 15:42 ? 次閱讀

第二集:數(shù)字IC

假如我們想要錄制一段聲音,模擬信號的做法是把所有的聲音信息用一段連續(xù)變化的電磁波或電壓信號原原本本地記錄下來。

按照一定的規(guī)則將其轉(zhuǎn)換為一串二進制數(shù)0和1,然后用兩種狀態(tài)的信號來表示它們,這叫數(shù)字信號。

處理數(shù)字信號的芯片就是數(shù)字芯片,比如常見的CPUGPU。

a7b8086c-bbd5-11ed-bfe3-dac502259ad0.png

當(dāng)聲音變大或變小了,模擬信號都會跟著變化,所以模擬信號有無數(shù)種狀態(tài)。狀態(tài)之間微妙的差異,需要人的經(jīng)驗判斷,有點玄學(xué)的成分。

而數(shù)字信號永遠(yuǎn)只有0和1兩種狀態(tài),信號的轉(zhuǎn)換嚴(yán)格遵循邏輯關(guān)系,一個輸出對應(yīng)唯一確定的結(jié)果,程序完全依照輸出指令執(zhí)行,這是科學(xué)

數(shù)字IC設(shè)計工程師的設(shè)計目標(biāo):在PPA(Power、Performance、Area)三個指標(biāo)上追求完美的平衡。

怎么玩轉(zhuǎn)這門科學(xué)?

這,是一種藝術(shù)。

今天,我們就從資源需求、并行特征、數(shù)據(jù)敏感度等角度展開聊聊在數(shù)字芯片設(shè)計各階段,如何利用不同EDA工具的特點,讓數(shù)字芯片的設(shè)計研發(fā)效率獲得顯著提升。

和模擬芯片相呼應(yīng),這篇還是從計算角度出發(fā),至于調(diào)度/管理/數(shù)據(jù)/協(xié)同/CAD等視角,會在后面的文章里體現(xiàn)~(比如第三集

和模擬相比,數(shù)字芯片需要使用EDA工具的場景更多,IC工程師們對于計算機的使用天然比較親近。但就跟《解密一顆芯片設(shè)計的全生命周期算力需求》一樣,只負(fù)責(zé)某項工作的研發(fā)可能不關(guān)心,或者只了解自己的這部分,IT對業(yè)務(wù)所知有限,也不一定清楚。除非有大佬坐鎮(zhèn),大多數(shù)公司的日常大概是以拍腦袋經(jīng)驗論為主

我們先來看一下大畫面,數(shù)字芯片設(shè)計全流程分析圖

a7d06204-bbd5-11ed-bfe3-dac502259ad0.png

01

數(shù)字前端:前端設(shè)計/驗證

這一階段包含了規(guī)格制定、架構(gòu)設(shè)計、RTL編碼等步驟。 數(shù)字前端算法仿真和功能驗證場景有大量中小任務(wù)并行,這一階段,對于資源類型和用量通常無特殊需求。 不過需注意若大量使用現(xiàn)有IP通常沒有算法仿真這一步。而且每家公司業(yè)務(wù)不同,算法仿真需求量差異非常大(下一集主角就是ta)。

02

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

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

03

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

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

資源需求

后端>中端>前端,數(shù)字后端·真·資源黑洞

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

a8073e78-bbd5-11ed-bfe3-dac502259ad0.png

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

這是由三個階段的具體工作內(nèi)容決定的:

數(shù)字前端,用RTL代碼將芯片架構(gòu)師的設(shè)計寫出來,前端驗證也主要是針對RTL的功能進行驗證,偏邏輯功能。

數(shù)字中端,需要將RTL代碼綜合成網(wǎng)表并規(guī)劃、插入各種用于芯片測試的邏輯電路,需要加入Foundry廠提供的標(biāo)準(zhǔn)單元庫的工藝參數(shù),驗證也到了邏輯門這一級。

數(shù)字后端負(fù)責(zé)芯片的物理實現(xiàn),先將電路網(wǎng)表通過自動布局布線畫成版圖,再進行寄生參數(shù)提取,創(chuàng)建一個可以精確模擬數(shù)字電路響應(yīng)的模型,這一階段會加入版圖的寄生參數(shù)

從代碼到邏輯門電路再到物理層,隨著階段的演進,信息量逐級遞增,計算時所需消耗的資源量也隨之增加

而在28nm以及更先進制程下,包含的工藝參數(shù)更多,電路更復(fù)雜,前中后端每一階段的信息量級還會被進一步放大。

哪怕前端RTL基本一致,中端和后端因為Foundry廠工藝參數(shù)更多更復(fù)雜,同樣的代碼計算量也是更大的。

換個思路,我們舉個栗子。

通過一個在數(shù)字前中后端都會出場的EDA工具來看看三大階段的資源需求

VCS的主要作用是將Verilog HDL(一種硬件描述語言)轉(zhuǎn)成C語言,編譯出來并執(zhí)行。作為一個翻譯官,ta的工作量取決于雙方對話的頻率,以及需要翻譯的文本量。

VCS在前端的功能驗證、中端的門級仿真、后端仿真中都有出場,在不同階段對任務(wù)資源的需求完全不同:

a82cccba-bbd5-11ed-bfe3-dac502259ad0.png

從前端到中端再到后端,雖然VCS的工作性質(zhì)沒變,但整體來說,消耗的資源越來越多了。

綜上,數(shù)字后端設(shè)計與驗證環(huán)節(jié)相比中端和前端資源需求更高、運算時間更長、數(shù)據(jù)量更大,往往會占據(jù)整個項目周期資源需求量的50%以上。

下圖是我們某客戶全生命周期月度算力實際用量曲線,可以看到后端的波峰相當(dāng)明顯,詳情戳:解密一顆芯片設(shè)計的全生命周期算力需求

a8432622-bbd5-11ed-bfe3-dac502259ad0.png

這也就意味著,數(shù)字后端對IC設(shè)計公司的壓力相當(dāng)大,能否在這一階段獲取充足的資源,是提升研發(fā)效率、保障項目進度的關(guān)鍵。

典型并行場景

靜態(tài)時序驗證&版圖驗證

并行度是我們評估任務(wù)能否通過分布式計算完成,提升效率的標(biāo)準(zhǔn)之一。 這里涉及到兩個重要的判斷標(biāo)準(zhǔn):可拆分,互不干擾。 可拆分指的是,大任務(wù)可以分解為小任務(wù),原任務(wù)目標(biāo)不變。

互不干擾指的是,拆分為小任務(wù)之后,任務(wù)之間互相不干擾,可以不同步。

從前端到中端再到后端,任務(wù)數(shù)量越來越多。

任務(wù)的并行度決定了速度提升的空間。

靜態(tài)時序驗證:最常見且并行度較高

靜態(tài)時序驗證是最常見的設(shè)計場景之一,基本原理是檢查各信號通路上經(jīng)過的門電路,然后累加門延遲,求取整個路徑的信號延遲。

沿信號通路求Delay Time的過程,就是沿信號通路不停做簡單加法。

在靜態(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°C

PVT2=TT、1.0V、25°C

PVT3=TT、1.0V、0°C

……

最后,驗證邏輯門在每一種PVT條件下的延遲:

a873cff2-bbd5-11ed-bfe3-dac502259ad0.png

數(shù)字芯片中有著無數(shù)這樣的邏輯門,每一個PVT下,邏輯門都有對應(yīng)的Delay Time,而P、V、T之間可以有很多種組合,就會有很多個Delay Time的情況需要驗證。

這一場景,天然適合暴力堆機器。

版圖驗證:最高并行度

模擬芯片和數(shù)字芯片,這一場景的原理一模一樣,使用的EDA工具也完全相同。

版圖驗證屬于檢查類任務(wù),以模塊為單位,本質(zhì)上是數(shù)據(jù)對比工作,重內(nèi)存需求,子任務(wù)間沒有數(shù)據(jù)關(guān)聯(lián),是數(shù)字芯片設(shè)計與驗證中并行度最高的場景。

這一階段很適合利用云上的內(nèi)存優(yōu)化型資源,使用“小F影分身術(shù)(版圖分割術(shù)),通過暴力堆資源的方式快速完成任務(wù)。

a8a81276-bbd5-11ed-bfe3-dac502259ad0.jpg

數(shù)據(jù)敏感度

前端>中端>后端,但是不用擔(dān)心

我們按照數(shù)據(jù)敏感度從高到低的順序給各類設(shè)計數(shù)據(jù)排了個序: RTL數(shù)據(jù) > IP、PDK和版圖> Netlist、Session、過程波形、歸檔數(shù)據(jù)和Report

好了,接下來我們看看這些數(shù)據(jù)都會出現(xiàn)在哪些階段:

a8bced5e-bbd5-11ed-bfe3-dac502259ad0.png

數(shù)字前端有大量RTL代碼,甚至部分公司在此過程中還自己開發(fā)了IP,屬于數(shù)據(jù)安全等級最高的那一撥。許多公司都會嚴(yán)格管理這部分?jǐn)?shù)據(jù),設(shè)置一定的保密等級,甚至固定放在某幾臺機器上。

中端則涉及到部分的RTL代碼、IP和PDK數(shù)據(jù),以及一些Netlist、Session和Report。

后端徹底告別了代碼,以IP、PDK、版圖和數(shù)據(jù)敏感度較低的數(shù)據(jù)為主。

如果你要做一款游戲,前端相當(dāng)于游戲的源代碼,中端是詳細(xì)的角色形象設(shè)計稿,后端就是玩家拿到手的游戲光碟了。

a8d50650-bbd5-11ed-bfe3-dac502259ad0.jpg

前端泄密,恭喜你的對手達(dá)成“代碼級抄襲”;

中端泄密,別人能照著樣子把仿品做出來,但沒有源代碼參考,知其然不知其所以然;

后端泄密,等對方逆向明白,大半年時間也過去了,你的下一代產(chǎn)品已經(jīng)在路上了。

值得一提的是,如果使用的是先進工藝,F(xiàn)oundry廠也會對IP/PDK數(shù)據(jù)有保密要求。

所以在選擇云上業(yè)務(wù)場景的時候,我們一般優(yōu)先推薦數(shù)字后端先來。當(dāng)然,會根據(jù)每家公司的實際情況進行具體分析。(以后會寫到,這次一定

那么,前端或者中端是不是就適合用云了呢?

甚至,在某些情況下,IC設(shè)計公司會面臨全部數(shù)據(jù)無論敏感度高低必須存放在本地的情況,比如一些高保密項目(軍工項目或國家重點項目),或者有點微妙的競爭關(guān)系,怎么辦?

我們有針對性的存算分離解決方案,歡迎來對號入座。

存算分離解決方案到底是什么?我們是如何實現(xiàn)的?掃描文末二維碼關(guān)注小F,對暗號“存算分離”搶先了解~

這里還有燧原科技的一手體驗,戳此先睹為快:【案例】燧原科技:芯片設(shè)計“存算分離”混合云實踐

關(guān)于數(shù)字IC設(shè)計,從不同設(shè)計階段的計算任務(wù)視角出發(fā),我們總結(jié)了四點:

1、與模擬芯片相似,數(shù)字芯片三大階段的資源需求同樣呈現(xiàn)前期<中期<后期的趨勢,但數(shù)字芯片需要使用EDA工具的場景更多,整體資源需求更大;

2、版圖驗證并行度最高,靜態(tài)時序驗證出場率非常高且并行度很高,都適合用暴力堆機器的方式提高任務(wù)效率;

3、數(shù)字后端往往會占據(jù)整個項目周期資源需求量的50%以上,兼具資源需求高、計算時間長、數(shù)據(jù)量級大,數(shù)據(jù)敏感度相對低的特征,是提升數(shù)字芯片整體研發(fā)效率的關(guān)鍵;

4、數(shù)據(jù)敏感度高?必須放本地?沒關(guān)系,我們有解決辦法。





審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 模擬信號
    +關(guān)注

    關(guān)注

    8

    文章

    1098

    瀏覽量

    52320
  • 電磁波
    +關(guān)注

    關(guān)注

    21

    文章

    1431

    瀏覽量

    53661
  • 數(shù)字IC
    +關(guān)注

    關(guān)注

    1

    文章

    37

    瀏覽量

    12465
  • 電壓信號
    +關(guān)注

    關(guān)注

    0

    文章

    210

    瀏覽量

    13287
  • 數(shù)字芯片
    +關(guān)注

    關(guān)注

    1

    文章

    105

    瀏覽量

    18356

原文標(biāo)題:芯片設(shè)計五部曲之二 | 圖靈藝術(shù)家——數(shù)字IC

文章出處:【微信號:傅里葉的貓,微信公眾號:傅里葉的貓】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    EDA流程的重要意義,以及國內(nèi)EDA流程進展

    的方式。如果一款工具能夠覆蓋特定芯片在上述流程中的設(shè)計任務(wù),那么我們就將其稱之為流程EDA工具,或者是
    的頭像 發(fā)表于 12-14 00:08 ?2148次閱讀

    【「數(shù)字IC設(shè)計入門」閱讀體驗】+ 數(shù)字IC設(shè)計流程

    :將芯片設(shè)計結(jié)果交出去進行生產(chǎn)制造。 上述這些只是芯片設(shè)計過程中的主要節(jié)點,細(xì)節(jié)還有很多,如果驗證測試中不通過,就需要從數(shù)字前端設(shè)計開始找原因,之后再經(jīng)歷一次
    發(fā)表于 09-25 15:51

    數(shù)字芯片設(shè)計流程

    數(shù)字芯片設(shè)計流程前端設(shè)計的主要流程:規(guī)格制定芯片規(guī)格: 芯片需要達(dá)到的具體功能和性能方面的要求詳
    發(fā)表于 02-12 16:09

    數(shù)字IC設(shè)計之“數(shù)字SOC流程漫談從0到1”

    分析等等。經(jīng)過這一系列的動作,我們從一個spec產(chǎn)生了一個可用于foundry,也就是工程生產(chǎn)的GDSII這樣的一種文件格式,這就大概是我們的一個數(shù)字SoC芯片的一個
    發(fā)表于 12-07 17:39

    芯片制造工藝流程解析

    芯片制造工藝流程詳情
    發(fā)表于 12-28 06:20

    數(shù)字芯片設(shè)計流程

    數(shù)字芯片設(shè)計流程:功能驗證之前與工藝庫沒多大聯(lián)系,驗證芯片設(shè)計的功能是否正確,針對抽象的代碼進行功能驗證理想值。一致性驗證確保生成的網(wǎng)表和代碼設(shè)計功能一致;DFT之后是
    發(fā)表于 11-10 06:14

    芯片驗證分析及測試流程優(yōu)化技術(shù)

    以失效分析的數(shù)據(jù)作為基本數(shù)據(jù)結(jié)構(gòu),提出了測試項目有效性和測試項目耗費時間的折中作為啟發(fā)信息的優(yōu)化算法,提出了 芯片驗證 分析及測試流程優(yōu)化技術(shù)
    發(fā)表于 06-29 17:58 ?97次下載
    <b class='flag-5'>芯片</b>驗證<b class='flag-5'>分析</b>及測試<b class='flag-5'>流程</b>優(yōu)化技術(shù)

    數(shù)字芯片的設(shè)計流程思路和技術(shù)說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是數(shù)字芯片的設(shè)計流程思路和技術(shù)說明。
    發(fā)表于 06-09 08:00 ?1次下載
    <b class='flag-5'>數(shù)字</b><b class='flag-5'>芯片</b>的設(shè)計<b class='flag-5'>流程</b>思路和技術(shù)說明

    數(shù)字IC設(shè)計流程

    ? ? 數(shù)字IC設(shè)計流程是每個IC從業(yè)者的第一課,無論你是做前端,后端,還是驗證,都需要對芯片的整個設(shè)計流程有個基本的了解。 本文章主要介紹以下三點內(nèi)容: 一.
    的頭像 發(fā)表于 12-09 10:12 ?6837次閱讀
    <b class='flag-5'>數(shù)字</b>IC設(shè)計<b class='flag-5'>流程</b>

    數(shù)字芯片設(shè)計流程之verilog設(shè)計

    數(shù)字芯片設(shè)計流程:功能驗證之前與工藝庫沒多大聯(lián)系,驗證芯片設(shè)計的功能是否正確,針對抽象的代碼進行功能驗證理想值。一致性驗證確保生成的網(wǎng)表和代碼設(shè)計功能一致;DFT之后是
    發(fā)表于 11-05 15:51 ?29次下載
    <b class='flag-5'>數(shù)字</b><b class='flag-5'>芯片</b>設(shè)計<b class='flag-5'>流程</b>之verilog設(shè)計

    數(shù)字IC設(shè)計之“數(shù)字SOC流程漫談從0到1”

    參與過多款基帶芯片、安全芯片、MCU等SOC芯片的研發(fā)工作。本次課程給大家?guī)?b class='flag-5'>數(shù)字SOC流程
    發(fā)表于 11-05 20:51 ?15次下載
    <b class='flag-5'>數(shù)字</b>IC設(shè)計之“<b class='flag-5'>數(shù)字</b>SOC<b class='flag-5'>全</b><b class='flag-5'>流程</b>漫談從0到1”

    芯片制造流程及詳解

    我們身邊大大小小的電子設(shè)備中都會有芯片,芯片讓生活步入了更加智慧的模式。那么芯片那么神奇的東西是怎么制造的呢?下面小編就帶大家看看芯片制造
    的頭像 發(fā)表于 12-10 18:15 ?1.7w次閱讀

    數(shù)字芯片驗證流程

    芯片驗證就是采用相應(yīng)的驗證語言,驗證工具,驗證方法,在芯片生產(chǎn)之前驗證芯片設(shè)計是否符合芯片定義的需求規(guī)格,是否已經(jīng)完全釋放了風(fēng)險,發(fā)現(xiàn)并更正了所有的缺陷,站在
    的頭像 發(fā)表于 07-25 11:48 ?5910次閱讀

    數(shù)字芯片的原理 數(shù)字芯片的設(shè)計流程

    數(shù)字芯片是一種集成電路,可以實現(xiàn)數(shù)字信號的處理和控制功能。數(shù)字芯片通常由數(shù)百萬個晶體管和其他電子元件組成,可以在微小的尺寸內(nèi)實現(xiàn)復(fù)雜的
    的頭像 發(fā)表于 06-02 09:18 ?3189次閱讀

    PCB行業(yè)應(yīng)如何實現(xiàn)流程追溯?

    為了解決這些問題,PCB制造企業(yè)需要對 PCB產(chǎn)品進行流程追溯,通過數(shù)字化系統(tǒng)確保所有流程數(shù)據(jù)都在可追溯的狀態(tài)下,從而保證產(chǎn)品品質(zhì)穩(wěn)定可靠。那么,PCB行業(yè)應(yīng)如何實現(xiàn)
    發(fā)表于 09-12 11:40 ?691次閱讀
    PCB行業(yè)應(yīng)如何實現(xiàn)<b class='flag-5'>全</b><b class='flag-5'>流程</b>追溯?