日本无码免费高清在线|成人日本在线观看高清|A级片免费视频操逼欧美|全裸美女搞黄色大片网站|免费成人a片视频|久久无码福利成人激情久久|国产视频一二国产在线v|av女主播在线观看|五月激情影音先锋|亚洲一区天堂av

  • 手機(jī)站
  • 小程序

    汽車測(cè)試網(wǎng)

  • 公眾號(hào)
    • 汽車測(cè)試網(wǎng)

    • 在線課堂

    • 電車測(cè)試

無人駕駛AI芯片從設(shè)計(jì)到制造流程詳解

2021-10-29 20:10:51·  來源:北京市高級(jí)別自動(dòng)駕駛示范區(qū)  作者:周彥武  
 
所謂AI芯片,就是深度學(xué)習(xí)加速器,目前所有的人工智能其算法在硬件層面最消耗計(jì)算資源的就是乘和累加運(yùn)算,即卷積,分解到底層就是MAC(Multiply Accumulate)。
所謂AI芯片,就是深度學(xué)習(xí)加速器,目前所有的人工智能其算法在硬件層面最消耗計(jì)算資源的就是乘和累加運(yùn)算,即卷積,分解到底層就是MAC(Multiply Accumulate)。實(shí)際卷積主要用在圖像分類或者說識(shí)別領(lǐng)域,無人駕駛中的行為預(yù)測(cè)主要是基于貝葉斯算法,行為決策目前多是決策樹算法,預(yù)測(cè)和決策這兩個(gè)領(lǐng)域分解到底層都是除法、乘法和加法,順序不固定。因此AI芯片無法加速,這些都需要高性能CPU才能解決問題。


上面就是一個(gè)卷積,第二個(gè)等號(hào)右邊每個(gè)括號(hào)里的系數(shù)構(gòu)成的序列 (14,34,14,4),實(shí)際上就是序列 (2,4) 和 (7,3,1) 的卷積。所謂AI算力就是每秒執(zhí)行多少萬億次指令,這些指令通常就是MAC運(yùn)算的指令。


AI芯片的核心就是MAC運(yùn)算單元,流程就是從內(nèi)存中讀取訓(xùn)練好的模型的濾波權(quán)重值和輸入數(shù)據(jù),兩者相乘,然后重復(fù)這個(gè)流程并將乘積累加,再寫入內(nèi)存。

設(shè)計(jì)一款數(shù)字芯片,流程基本上是確定市場(chǎng)定位、確定性能與功能目標(biāo)即設(shè)計(jì)規(guī)格參數(shù)、架構(gòu)與算法設(shè)計(jì)、任務(wù)劃分、購買IP、RTL編碼與功能驗(yàn)證即RTL仿真、綜合門級(jí)仿真、靜態(tài)時(shí)序分析與仿真。這是前端工序,后端是RTL轉(zhuǎn)門級(jí)網(wǎng)表文件、數(shù)據(jù)導(dǎo)入、布局規(guī)劃、單元布局、時(shí)鐘綜合樹、布線、物理驗(yàn)證、版圖文件即GDSII交付晶圓代工廠。


前端流程

后端流程
 
也可以分為三級(jí):

第一級(jí)行為級(jí)(Behavior Level):通過行為級(jí)算法描述數(shù)字系統(tǒng)。也就是邏輯構(gòu)思,人腦的思維流程。這一階段主要工具為C/C++/Matlab,熟悉這些工具的人很多,很好找;
第二級(jí)寄存器傳輸級(jí)(Register Transfer Level):在寄存器傳輸級(jí),通過寄存器之間的數(shù)據(jù)傳輸進(jìn)行電路功能設(shè)計(jì),例如有限狀態(tài)機(jī)。工具是VHDL/Verilog/System Verilog,熟悉這些工具的人很少,這要求既要懂上層的邏輯結(jié)構(gòu),也要懂下層的電路實(shí)現(xiàn);

第三級(jí)門級(jí)(Gate level):數(shù)字系統(tǒng)按門級(jí)(AND,OR,NOT,NAND等)描述。通常不會(huì)進(jìn)行門級(jí)設(shè)計(jì),門級(jí)網(wǎng)表一般是通過邏輯綜合的輸出。RTL可以用Verilog或VHDL描述。實(shí)際上還有更細(xì)分的系統(tǒng)級(jí)(System Level)或功能模塊級(jí)(Functional Model Level)。

AI芯片自然是需要先進(jìn)制程工藝,越先進(jìn)越好,一般目前都必須選擇10納米以下,這個(gè)領(lǐng)域離不開EDA工具,10納米以下,Synopsys、Cadence和Mentor(Siemens EDA)市場(chǎng)占有率100%,前兩家是美國的,西門子自然是德國的,離開這三家,是無法設(shè)計(jì)出10納米以下芯片的。這些EDA工具非常昂貴,主要用在后端,對(duì)于初創(chuàng)企業(yè)來說后端所花的成本遠(yuǎn)高于前端。
工序
仿真工具
IP Level RTL coding
Make file;仿真驗(yàn)證工具,Cadence:Incisive,Synopsys:VCS,Mentor:QuestaSim
Logic Synthesis
邏輯綜合工具,Cadence:Genus,Synopsys:Design Compiler
形式驗(yàn)證
形式驗(yàn)證工具,Cadence:Conformal,Synopsys:Formality
STA(靜態(tài)時(shí)序分析)
靜態(tài)時(shí)序分析工具,Cadence:Tempus,Synopsys:Prme Time
PR版圖生成,自動(dòng)布局布線
自動(dòng)布線工具,Cadence:Innovus,Synopsys:IC Compiler
DRC/LVS
物理驗(yàn)證工具,Cadence:Diva/dracula,Synopsys:Hercules,Mentor:Calibre
AI芯片大同小異,通常包含四個(gè)部分,標(biāo)量運(yùn)算、矢量或向量運(yùn)算、張量運(yùn)算、存儲(chǔ)處理。對(duì)于矢量運(yùn)算和張量運(yùn)算來說要提高算力就是增加運(yùn)算單元數(shù)量,對(duì)芯片來說,這意味著芯片面積的增大,而芯片的主要成本就是晶圓片,與面積成正比,因此需要提高晶體管密度,盡量小的空間內(nèi)塞下更多的運(yùn)算單元,也就是晶體管。這兩個(gè)領(lǐng)域基本上由代工廠決定,臺(tái)積電在這個(gè)領(lǐng)域優(yōu)勢(shì)明顯,90%的AI芯片都是臺(tái)積電代工。芯片設(shè)計(jì)公司能改進(jìn)的領(lǐng)域主要在標(biāo)量運(yùn)算和存儲(chǔ)處理這兩個(gè)領(lǐng)域。

AI芯片有一個(gè)特殊之處,那就軟硬一體,與軟件或者說算法類型捆綁的越緊,性能表現(xiàn)就越優(yōu)秀,但適用面很窄,換一個(gè)算法體系,利用效率就可能大幅度下降90%。如果要爭取盡量大的市場(chǎng),以提高出貨量來降低成本,那必須適應(yīng)各種算法體系,這就肯定會(huì)帶來性能的下降。大部分純芯片公司都會(huì)增加矢量運(yùn)算(如求倒數(shù)、求平方根)就是如此,爭取有更大的應(yīng)用面,特別是用于推理領(lǐng)域,如果用于訓(xùn)練領(lǐng)域,則無需增加矢量運(yùn)算單元。無人駕駛領(lǐng)域,矢量運(yùn)算不可或缺,如簡單的圖像預(yù)處理,AI芯片最好還是加上矢量運(yùn)算單元。

還有一個(gè)關(guān)鍵領(lǐng)域是編譯器,這主要是英偉達(dá)的阻撓,所有主流深度學(xué)習(xí)框架都是基于英偉達(dá)的CUDA的,框架的角色是連接上層應(yīng)用和底層各種硬件,它看重的是如何方便而高效地連接底層編譯器,選擇合適硬件達(dá)到最好的性能。而芯片在底層,作為一種硬件,它的角色是應(yīng)用在多個(gè)不同的框架里,提供方便的連接和優(yōu)異的性能。如果你特別擅長軟件,如寒武紀(jì),就獨(dú)立創(chuàng)作了TVM+NNVM,作為“深度學(xué)習(xí)到各種硬件的完整優(yōu)化工具鏈”,寒武紀(jì)在搞芯片的時(shí)候當(dāng)然要最大限度支持自己的深度學(xué)習(xí)框架,軟硬一體,自然算力效率都高,但適用面很窄,一直推廣不開。主流深度學(xué)習(xí)框架對(duì)CUDA支持自然最好,沒辦法,CUDA做得早,當(dāng)初可沒有AI芯片,只有GPU做AI處理,如今生態(tài)系統(tǒng)被CUDA一統(tǒng)了,誰都繞不開。


高通AI芯片每個(gè)AI核內(nèi)部框架如上,主要分4個(gè)部分,分別是標(biāo)量處理、向量處理、存儲(chǔ)處理和張量處理。

華為的昇騰系列內(nèi)部框架,與高通AI100基本差不多,昇騰910的MAC數(shù)量都和高通AI100一樣多,華為把張量換了個(gè)說法,叫CUBE。

深度學(xué)習(xí)中經(jīng)常出現(xiàn)4種量,標(biāo)量、向量、矩陣和張量。神經(jīng)網(wǎng)絡(luò)最基本的數(shù)據(jù)結(jié)構(gòu)就是向量和矩陣,神經(jīng)網(wǎng)絡(luò)的輸入是向量,然后通過每個(gè)矩陣對(duì)向量進(jìn)行線性變換,再經(jīng)過激活函數(shù)的非線性變換,通過層層計(jì)算最終使得損失函數(shù)的最小化,完成模型的訓(xùn)練。

標(biāo)量(scalar):一個(gè)標(biāo)量就是一個(gè)單獨(dú)的數(shù)(整數(shù)或?qū)崝?shù)),不同于線性代數(shù)中研究的其他大部分對(duì)象(通常是多個(gè)數(shù)的數(shù)組)。標(biāo)量通常用斜體的小寫字母來表示,標(biāo)量就相當(dāng)于Python中定義的x=1。

向量(Vector):一個(gè)向量表示一組有序排列的數(shù),通過次序中的索引我們能夠找到每個(gè)單獨(dú)的數(shù),向量通常用粗體的小寫字母表示,向量中的每個(gè)元素就是一個(gè)標(biāo)量,向量相當(dāng)于Python中的一維數(shù)組。

矩陣(matrix):矩陣是一個(gè)二維數(shù)組,其中的每一個(gè)元素由兩個(gè)索引來決定,矩陣通常用加粗斜體的大寫字母表示,我們可以將矩陣看做是一個(gè)二維的數(shù)據(jù)表,矩陣的每一行表示一個(gè)對(duì)象,每一列表示一個(gè)特征。

張量(Tensor):超過二維的數(shù)組,一般來說,一個(gè)數(shù)組中的元素分布在若干維坐標(biāo)的規(guī)則網(wǎng)格中,被稱為張量。如果一個(gè)張量是三維數(shù)組,那么我們就需要三個(gè)索引來決定元素的位置,張量通常用加粗的大寫字母表示。

不太嚴(yán)謹(jǐn)?shù)卣f,標(biāo)量是0維空間中的一個(gè)點(diǎn),向量是一維空間中的一條線,矩陣是二維空間的一個(gè)面,三維張量是三維空間中的一個(gè)體。也就是說,向量是由標(biāo)量組成的,矩陣是向量組成的,張量是矩陣組成的。

AI芯片的工作流程,從存儲(chǔ)器取出指令,如果是標(biāo)量指令,立即執(zhí)行,如果是非標(biāo)量指令,則根據(jù)指令類型劃分為向量、張量(即矩陣)、存儲(chǔ)移動(dòng)三個(gè)類型,分別送到不同的運(yùn)算單元。

如果只考慮一種算法類型,標(biāo)量處理器也不可缺少,因?yàn)槿斯ぶ悄苓\(yùn)算中除了卷積部分,還有很多非矩陣運(yùn)算,常見的CNN為例,流程是INPUT(輸入層)-CONV(卷積層)-RELU(激活函數(shù))-POOL(池化層)-FC(全連接層),AI芯片只擅長處理卷積,遇到其他類型的需求效率會(huì)大幅度下降。標(biāo)量處理器就是一個(gè)CPU,完成整個(gè)程序的循環(huán)控制、分支判斷、矩陣/向量等指令的地址和參數(shù)計(jì)算以及基本的算術(shù)運(yùn)算等。

這是AI芯片最能差異化的地方,CPU廠家也最擅長。目前AI芯片優(yōu)化標(biāo)量處理器的主要手段是VLIW。

VLIW是目前比較優(yōu)秀的,卷積層運(yùn)算密集、算法單一穩(wěn)定,固定時(shí)間內(nèi)存訪問。為了實(shí)現(xiàn)較大規(guī)模的運(yùn)算單元和功耗控制,需要簡化內(nèi)存和總線結(jié)構(gòu),通常采取權(quán)重常駐,數(shù)據(jù)通過DMA搬運(yùn)的模式,使用TCM作為片上緩存,這樣也就具備了固定訪問時(shí)間的特點(diǎn)。這樣VLIW結(jié)構(gòu)就可以很好的匹配深度學(xué)習(xí)算法的特點(diǎn)。同時(shí)由于基本算子的固定性,只需要向DSP那樣手動(dòng)實(shí)現(xiàn)各個(gè)運(yùn)算庫的支持,連編譯器靜態(tài)調(diào)度都可以做的簡單。這樣一方面簡化硬件,利于大規(guī)模的堆疊算力資源,一方面簡化編譯設(shè)計(jì),縮短軟件開發(fā)周期和難度。因此VLIW在深度學(xué)習(xí)領(lǐng)域大放異彩也就不難理解。

VLIW就是超標(biāo)量運(yùn)算,超長指令集,在亂序執(zhí)行和超標(biāo)量的CPU架構(gòu)里,指令的前后依賴關(guān)系,是由CPU內(nèi)部的硬件電路來檢測(cè)的,到了超長指令集的架構(gòu)里面,該工作交給了編譯器來實(shí)現(xiàn),編譯器把沒有依賴關(guān)系的代碼位置進(jìn)行交換,然后把多條連續(xù)的指令打包成一個(gè)指令包,CPU運(yùn)行時(shí),不再是取一條指令,而是取出一個(gè)指令包,譯碼解析整個(gè)指令包,解析出多條指令直接并行運(yùn)行,使用超長指令字架構(gòu)的CPU,同樣采用的是流水線架構(gòu),一組指令,仍然要經(jīng)歷多個(gè)時(shí)鐘周期,流水線停頓這件事情在超長指令字架構(gòu)里面,很多時(shí)候也是由編譯器實(shí)現(xiàn)的。


VLIW對(duì)應(yīng)多種運(yùn)算單元
對(duì)VLIW最熟悉的莫過于英特爾,不過它和x86指令集不兼容,后來放棄了,再有就是DSP玩家,如高通和德州儀器。英特爾后來花20億美元收購以色列的Habana Labs,也是VLIW。
對(duì)于矩陣(張量)運(yùn)算陣列,也就是MAC陣列。MAC陣列越多,算力就越高。當(dāng)然也不是這么簡單,MAC陣列的分布有兩種,即時(shí)間架構(gòu)(temporal architecture)與空間架構(gòu)(spatial architecture)兩種高度并行化的計(jì)算架構(gòu)。


SIMD/SIMT這種時(shí)間序列型并行處理架構(gòu)一般是CPU/GPU/DSP用的,空間并行處理架構(gòu)也叫數(shù)據(jù)流架構(gòu),如谷歌的脈動(dòng)陣列,一般是專用AI芯片用的。兩種架構(gòu)各有優(yōu)缺點(diǎn)。

時(shí)間序列并行是通用的架構(gòu),可以映射任意的數(shù)據(jù)流圖,但是數(shù)據(jù)流動(dòng),是通過把數(shù)據(jù)讀寫全局寄存器,以及存儲(chǔ)器來實(shí)現(xiàn)的。所以數(shù)據(jù)流圖的映射來看,一個(gè)數(shù)據(jù)流圖上的計(jì)算,是需要多個(gè)周期來連接起來的,而空間并行則是通過ALU之間的通路來實(shí)現(xiàn)的,每個(gè)ALU都包含了存儲(chǔ)、寄存器和控制邏輯,這樣的ALU又叫PE,這是純物理實(shí)現(xiàn)。每個(gè)MAC都需要三次內(nèi)存讀與一次內(nèi)存寫操作。其中三次內(nèi)存讀操作分別為讀取輸入數(shù)據(jù)、權(quán)值數(shù)據(jù)與部分和數(shù)據(jù)(partial sum),一次內(nèi)存寫操作為更新部分和數(shù)據(jù)。頻繁地內(nèi)存數(shù)據(jù)搬遷,是AI芯片能量消耗的主要來源,空間并行大大減少數(shù)據(jù)搬遷的距離。因此空間并行架構(gòu)的計(jì)算密度遠(yuǎn)高于時(shí)間并行架構(gòu),功耗也比較低。

但是空間并行也有缺點(diǎn),那就是如果數(shù)據(jù)特殊,如智能駕駛中的圖像數(shù)據(jù),這種數(shù)據(jù)包含大量無用的0值,就是天空或背景,這種稀疏網(wǎng)絡(luò)會(huì)讓空間并行架構(gòu)的ALU利用率大大降低。即便不是稀疏網(wǎng)絡(luò),也需要完美對(duì)應(yīng)空間并行架構(gòu)的算法模型才能最大限度發(fā)揮ALU的利用率,除非高度捆綁算法模型,都無法達(dá)到空間并行架構(gòu)的理論算力值。當(dāng)然對(duì)時(shí)間并行架構(gòu)也是個(gè)麻煩,不過相對(duì)好處理。通常推理用AI芯片一般會(huì)經(jīng)常遇到稀疏網(wǎng)絡(luò),因此推理領(lǐng)域用時(shí)間并行架構(gòu)最終實(shí)際的算力密度比空間并行架構(gòu)相差不算多。

空間并行架構(gòu)的另一個(gè)缺點(diǎn)是每個(gè)ALU都需要有自己的控制邏輯和本地存儲(chǔ),為了保證性能,每個(gè)ALU都需要On-Die SRAM。SRAM速度最快,缺點(diǎn)是6個(gè)晶體管才能存儲(chǔ)1比特,密度太低,這就意味著die的面積會(huì)暴漲,成本自然也暴漲,對(duì)于比較在乎價(jià)格的推理用AI芯片,這顯然不太合適。當(dāng)然也有人不在乎成本,如阿里平頭哥的含光800,采用全SRAM設(shè)計(jì),僅僅依靠臺(tái)積電12納米工藝就取得825TOPS@int8的驚人算力,這也是目前性能最強(qiáng)的推理用AI芯片,但芯片die面積也達(dá)到了725平方毫米,這已經(jīng)是訓(xùn)練用AI芯片的面積了。


考慮到成本關(guān)系,需要多級(jí)緩存,減少內(nèi)層存儲(chǔ)訪問,減少外層存儲(chǔ)訪問。但是如果深度學(xué)習(xí)模型太大,SRAM無法完全以此讀入,需要多次多層次讀入,這就失去了空間并行架構(gòu)的優(yōu)點(diǎn)。
MAC陣列的上一級(jí)是核心,通常AI芯片都需要至少8個(gè)以上內(nèi)核,16-32個(gè)最為常見。核心與核心之間則需要NoC。

在NoC出現(xiàn)之前,傳統(tǒng)的片上互聯(lián)方法包括Bus總線和Crossbar兩種。Bus總線的互聯(lián)方式即所有數(shù)據(jù)主從模塊都連接在同一個(gè)互聯(lián)矩陣上,當(dāng)有多個(gè)模塊同時(shí)需要使用總線傳輸數(shù)據(jù)時(shí),則采用仲裁的方法來確定誰能使用總線,在仲裁中獲得總線使用權(quán)限的設(shè)備則在完成數(shù)據(jù)讀寫后釋放總線。ARM著名的AXI、AHB、APB等互聯(lián)協(xié)議就是典型的總線型片上互聯(lián)。

除了總線互聯(lián)之外,另一種方法是Crossbar互聯(lián)??偩€互聯(lián)同時(shí)只能有一對(duì)主從設(shè)備使用總線傳輸數(shù)據(jù),因此對(duì)于需要較大帶寬的架構(gòu)來說不一定夠用。除此之外,在一些系統(tǒng)架構(gòu)中,一個(gè)主設(shè)備的數(shù)據(jù)往往會(huì)需要同時(shí)廣播給多個(gè)從設(shè)備。在這種情況下,Crossbar就是更好的選擇。Crossbar的主要特性是可以同時(shí)實(shí)現(xiàn)多個(gè)主從設(shè)備的數(shù)據(jù)傳輸,同時(shí)能實(shí)現(xiàn)一個(gè)主設(shè)備對(duì)多個(gè)從設(shè)備進(jìn)行數(shù)據(jù)廣播。然而,Crossbar的主要問題是互聯(lián)線很復(fù)雜,給數(shù)字后端設(shè)計(jì)帶來了較大的挑戰(zhàn),版圖無法優(yōu)化,die面積會(huì)增加。

NoC有兩個(gè)優(yōu)勢(shì),一個(gè)是復(fù)雜度,因?yàn)镹oC使用了類似計(jì)算機(jī)網(wǎng)絡(luò)的OSI 7層架構(gòu),因此可以更好地支持多個(gè)互聯(lián)模塊,同時(shí)可以輕松地加入更多互聯(lián)模塊——這和我們把一臺(tái)新的電腦接入互聯(lián)網(wǎng)而幾乎不會(huì)對(duì)互聯(lián)網(wǎng)造成影響一樣。同時(shí)這種網(wǎng)絡(luò)模型節(jié)點(diǎn)數(shù)再多(一般核心數(shù)不超過64)也不會(huì)增加路由阻塞。這就可以提升核心的運(yùn)算頻率,提高性能。

另一個(gè)優(yōu)勢(shì)來自于其物理層、傳輸層和接口是分開的。拿傳統(tǒng)的總線為例,ARM的AXI接口在不同的版本定義了不同的信號(hào),因此在使用不同版本的AXI時(shí)候,一方面模塊的接口邏輯要重寫,另一方面AXI矩陣的邏輯、物理實(shí)現(xiàn)和接口也要重寫,因此造成了IP復(fù)用和向后兼容上的麻煩。而NoC中,傳輸層、物理層和接口是分開的,因此用戶可以在傳輸層方便地自定義傳輸規(guī)則,而無需修改模塊接口,而另一方面?zhèn)鬏攲拥母膶?duì)于物理層互聯(lián)的影響也不大,因此不用擔(dān)心修改了傳輸層之后對(duì)于NoC的時(shí)鐘頻率造成顯著的影響。

核心數(shù)越多,NoC的優(yōu)勢(shì)就越明顯,不過NoC門檻頗高,全球主要有3家,且都已被大廠收購。分別是2013年11月被高通收購的Arteris,英特爾收購的NetSpeed,F(xiàn)acebook收購的Sonics,后兩起收購都是2019年。Arteris的NoC具體產(chǎn)品叫FlexNoc,每個(gè)IP授權(quán)大約200-300萬美元,國內(nèi)大量采用,包括瑞芯微、華為、天數(shù)智芯、百度昆侖芯片、國民技術(shù)、靈汐科技、辰芯科技、地平線、黑芝麻(2021年6月8日)、四維圖新旗下杰發(fā)科技(2021年6月底才剛剛購買)。地平線不止買了FlexNoc,還買了Netspeed的NoC IP。

至此,行為級(jí)設(shè)計(jì)基本完成,這時(shí)候進(jìn)行功能仿真,或者叫行為級(jí)仿真,檢查代碼中的語法錯(cuò)誤以及代碼行為的正確性,其中不包括延時(shí)信息。如果沒有實(shí)例化一些與器件相關(guān)的特殊底層元件的話,這個(gè)階段的仿真也可以做到與器件無關(guān)。然后是綜合后門級(jí)功能仿真。絕大多數(shù)的綜合工具除了可以輸出一個(gè)標(biāo)準(zhǔn)網(wǎng)表文件以外,還可以輸出Verilog或者VHDL網(wǎng)表,其中標(biāo)準(zhǔn)網(wǎng)表文件是用來在各個(gè)工具之間傳遞設(shè)計(jì)數(shù)據(jù)的,并不能用來做仿真使用,而輸出的Verilog或者VHDL網(wǎng)表可以用來仿真,之所以叫門級(jí)仿真是因?yàn)榫C合工具給出的仿真網(wǎng)表已經(jīng)是與生產(chǎn)廠家的器件的底層元件模型對(duì)應(yīng)起來了,所以為了進(jìn)行綜合后仿真必須在仿真過程中加入廠家的器件庫,對(duì)仿真器進(jìn)行一些必要的配置,不然仿真器并不認(rèn)識(shí)其中的底層元件,無法進(jìn)行仿真。在設(shè)計(jì)流程中的最后一個(gè)仿真是時(shí)序仿真。在設(shè)計(jì)布局布線完成以后可以提供一個(gè)時(shí)序仿真模型,這種模型中也包括了器件的一些信息,同時(shí)還會(huì)提供一個(gè)SDF時(shí)序標(biāo)注文件(Standard Delay format Timing Anotation)。SDF時(shí)序標(biāo)注最初使用在Verilog語言的設(shè)計(jì)中,現(xiàn)在VHDL語言的設(shè)計(jì)中也引用了這個(gè)概念。對(duì)于一般的設(shè)計(jì)者來說并不需知道SDF文件的詳細(xì)細(xì)節(jié),因?yàn)檫@個(gè)文件一般由器件廠家提供給設(shè)計(jì)者。前端設(shè)計(jì)至此完成。

行為級(jí)設(shè)計(jì)通常都是總架構(gòu)師和算法工程師完成,普通的集成電路工程師的工作集中在RTL級(jí)。

寄存器傳輸級(jí)(RTL,Register Transfer Level)指:不關(guān)注寄存器和組合邏輯的細(xì)節(jié)(如使用了多少邏輯門,邏輯門之間的連接拓?fù)浣Y(jié)構(gòu)等),通過描述寄存器到寄存器之間的邏輯功能描述電路的 HDL 層次。RTL 級(jí)是比門級(jí)更高的抽象層次,使用RTL級(jí)語言描述硬件電路一般比門級(jí)描述電路簡單、高效得多。

典型的 RTL 設(shè)計(jì)包含以下3個(gè)部分:

時(shí)鐘域描述,描述設(shè)計(jì)所使用的所有時(shí)鐘,時(shí)鐘之間的主從與派生關(guān)系,時(shí)鐘域之間的轉(zhuǎn)換。

時(shí)序邏輯描述(寄存器描述),根據(jù)時(shí)鐘沿的變換,描述寄存器之間的數(shù)據(jù)傳輸方式。

組合邏輯描述,描述電平敏感信號(hào)的邏輯組合方式與邏輯功能。

在硬件描述語言中,設(shè)計(jì)人員只需要聲明寄存器(就像在計(jì)算機(jī)編程語言中聲明變量一樣),然后使用類似編程語言中的條件(if...then...else)、選擇(case)等運(yùn)算符來描述組合邏輯的功能。我們把上述這樣級(jí)別的設(shè)計(jì)稱為寄存器傳輸級(jí)的設(shè)計(jì)。這個(gè)術(shù)語主要是指我們的關(guān)注點(diǎn)為訊號(hào)在寄存器之間的流動(dòng)。如果寄存器的輸出端和輸入端存在環(huán)路,這樣的電路被稱為“狀態(tài)機(jī)”,常被歸類到時(shí)序邏輯電路中。如果寄存器之間有連接,而沒有上述的“回環(huán)”,則這樣的電路結(jié)構(gòu)被稱為“流水線結(jié)構(gòu)”。RTL級(jí)最后輸出RTL網(wǎng)表文件。再下來就是RTL級(jí)轉(zhuǎn)門級(jí)。

數(shù)據(jù)導(dǎo)入是指導(dǎo)入綜合后的網(wǎng)表和時(shí)序約束的腳本文件,以及代工廠提供的庫文件。布局規(guī)劃是指在芯片上規(guī)劃輸入/輸出單元,宏單元及其他主要模塊位置的過程。單元布局是根據(jù)網(wǎng)表和時(shí)序約束自動(dòng)放置標(biāo)準(zhǔn)單元的過程。時(shí)鐘樹綜合是指插入時(shí)鐘緩沖器,生成時(shí)鐘網(wǎng)絡(luò),最小化時(shí)鐘延遲和偏差的過程。布線是指在滿足布線層數(shù)限制,線寬、線間距等約束條件下,根據(jù)電路關(guān)系自動(dòng)連接各個(gè)單元的過程。物理驗(yàn)證(Physical Verificaiton)通常包括版圖設(shè)計(jì)規(guī)則檢查(DRC),版圖原理圖一致性檢查(LVS)和電氣規(guī)則檢查(ERC)等。最后得到GDSII文件,設(shè)計(jì)公司的任務(wù)就完成了。

接下來就是找合適的晶圓代工廠流片,流片即tapeout,但往往在實(shí)驗(yàn)性生產(chǎn)和驗(yàn)證性生產(chǎn)中才用流片這個(gè)詞,一般來說tapeout的模式有2大類,一種是多家拼一起的MPW,另一種是專用的全晶圓流片。前者因?yàn)槌杀镜?,一般?shí)驗(yàn)流片用,后者成本高,一般用于批量生產(chǎn)。流片的主要成本是光罩成本,這是一次性成本,主要與光罩的精密度有關(guān),因?yàn)楣饪虣C(jī)太貴了,40納米中芯國際流片光罩成本大約50萬美元,臺(tái)積電12納米費(fèi)用大約500-800萬美元,6納米1500萬美元,7納米則需要大約2-3千萬美元,5納米需要5千萬到1億美元,3納米3億美元。流片不成功的話,就需要再來一次,費(fèi)用一點(diǎn)沒變化,盡管目前EDA工具很完善,但也不能保證100%流片成功,因此風(fēng)險(xiǎn)是很高的。

AI芯片只有臺(tái)積電和三星兩個(gè)代工廠可選,臺(tái)積電價(jià)格高,因?yàn)榕_(tái)積電產(chǎn)能不足,在臺(tái)積電那里需要排隊(duì)等待,等多長時(shí)間未知,三星則產(chǎn)能比較充足,但性能比較差。盡管知道在臺(tái)積電需要等檔期,但是幾乎沒有人選擇三星,只有百度昆侖選擇了三星。芯片制造完成后,還需要封裝和測(cè)試,最終可以拿到芯片。從確定市場(chǎng)定位到最終量產(chǎn),數(shù)字類芯片大概周期要3-4年,用在車上都要是5-6年后了,AI芯片比較簡單,快的兩年甚至1年半也可以搞定。所以一開始的市場(chǎng)定位需要考慮到4-10年后的市場(chǎng)需求,而市場(chǎng)需求通常很難預(yù)測(cè),把握市場(chǎng)環(huán)境與動(dòng)態(tài)從而立項(xiàng)芯片設(shè)計(jì)規(guī)劃也是芯片公司們最重要的工作之一。
分享到:
 
反對(duì) 0 舉報(bào) 0 收藏 0 評(píng)論 0
滬ICP備11026917號(hào)-25