行業(yè)動(dòng)態(tài)
News
芯片在我們的生活和工作中無處不在。例如,交通智能卡就嵌入了一顆帶有微處理器、儲(chǔ)存單元、芯片操作系統(tǒng)的芯片;而手機(jī)的主板則集成了數(shù)百顆芯片,有的負(fù)責(zé)無線電收發(fā)、有的負(fù)責(zé)功率放大、還有的負(fù)責(zé)存儲(chǔ)照片和文件、處理音頻,完成指紋、虹膜、面部的識(shí)別。當(dāng)然,手機(jī)中最重要,也是價(jià)格最昂貴的還屬CPU,它是手機(jī)的控制中樞和邏輯計(jì)算的中心,通過運(yùn)行存儲(chǔ)器內(nèi)的軟件及數(shù)據(jù)庫來操控手機(jī)。
根據(jù)處理的信號(hào)類型不同,芯片可以分為數(shù)字芯片和模擬芯片。要制造出芯片,首先要完成芯片設(shè)計(jì)。本文將概要介紹數(shù)字芯片設(shè)計(jì)的十大流程,以及各大流程中使用的主流EDA軟件。
芯片設(shè)計(jì)可以分為前端設(shè)計(jì)(即邏輯設(shè)計(jì))和后端設(shè)計(jì)(即物理設(shè)計(jì))。前端設(shè)計(jì)包括以下四個(gè)步驟:
在明確芯片的設(shè)計(jì)需求之后,系統(tǒng)架構(gòu)師會(huì)把這些市場需求轉(zhuǎn)換成芯片的規(guī)格指標(biāo),形成芯片的Spec,也就是芯片的規(guī)格說明書。這個(gè)說明書會(huì)詳細(xì)描述芯片的功能、性能、尺寸、封裝和應(yīng)用等內(nèi)容。
系統(tǒng)架構(gòu)師會(huì)根據(jù)芯片的特點(diǎn)將芯片內(nèi)部的規(guī)格使用劃分出來,規(guī)劃每個(gè)部分的功能需求空間,確立不同單元間聯(lián)結(jié)的方法,同時(shí)確定設(shè)計(jì)的整體方向。這個(gè)步驟對之后的設(shè)計(jì)起著至關(guān)重要的作用,區(qū)域劃分不夠的,無法完成該區(qū)域內(nèi)的功能實(shí)現(xiàn),會(huì)導(dǎo)致之前的工作全部推翻重來。設(shè)計(jì)出來的東西,必須能夠制造出來,所以芯片設(shè)計(jì)需要與產(chǎn)業(yè)鏈后端晶圓的制造和封裝測試環(huán)節(jié)緊密合作,工程師不但需要考慮工藝是否可以實(shí)現(xiàn)相應(yīng)電路設(shè)計(jì),同時(shí)需要整合產(chǎn)業(yè)鏈資源確保芯片產(chǎn)品的及時(shí)供給。這里的算法構(gòu)建會(huì)用到編程語言(MATLAB,C++, C,System C, System Verilog等),對于不同類型的芯片,工程師們會(huì)有不同的偏好選擇。
由于芯片的設(shè)計(jì)及其復(fù)雜,設(shè)計(jì)人員并不在晶體級(jí)進(jìn)行設(shè)計(jì),而是在更高的抽象層級(jí)進(jìn)行設(shè)計(jì)。RTL實(shí)現(xiàn)就是根據(jù)第一步的架構(gòu)設(shè)計(jì)結(jié)果,轉(zhuǎn)化為Verilog HDL或VHDL語言,這兩種語言是世界上最流行的兩種硬件描述語言,以文本形式來描述數(shù)字系統(tǒng)硬件的結(jié)構(gòu)和行為的硬件編程語言,可以用于表示邏輯電路圖、表達(dá)式等邏輯輸出。所以,可以理解為上一步是統(tǒng)籌規(guī)劃,第二步是具體去實(shí)現(xiàn),設(shè)計(jì)工程師們通過敲一行行代碼,去實(shí)現(xiàn)電路的功能。輸出結(jié)果轉(zhuǎn)化為Verilog HDL或VHDL語言。
這一步就是檢查代碼有沒有錯(cuò)誤,保證代碼不會(huì)出現(xiàn)什么歧義導(dǎo)致實(shí)現(xiàn)結(jié)果和設(shè)計(jì)目的不一致。一般來說,最常用的編碼檢查工具就是Synopsys的Spyglass,這個(gè)工具最主要檢查的內(nèi)容有兩個(gè),一個(gè)是Lint檢查,一個(gè)是CDC (Clock Domain Crossing,跨時(shí)鐘域)檢查。Lint檢察不僅可以檢測出許多編譯器編譯過程中的錯(cuò)誤,還可以關(guān)聯(lián)很多文件進(jìn)行錯(cuò)誤的檢查和代碼分析;CDC檢查則是對電路設(shè)計(jì)中同步電路設(shè)計(jì)的檢查,在大型電子電路設(shè)計(jì)中,設(shè)計(jì)人員很難設(shè)計(jì)出整個(gè)大型的同步電路,而只能根據(jù)電路邏輯功能,劃分為多個(gè)同步電路部分,由不同的時(shí)鐘域控制。這些部分可能存在重疊,這會(huì)導(dǎo)致重疊部分的觸發(fā)器狀態(tài)變化不能在統(tǒng)一的時(shí)鐘作用下完成,從而導(dǎo)致電路出現(xiàn)亞穩(wěn)態(tài)。電路出現(xiàn)亞穩(wěn)態(tài)會(huì)讓組合邏輯電路輸入狀態(tài)不可頂知,甚至產(chǎn)生突然的跳變,因此需要進(jìn)行CDC檢查。
這一步是驗(yàn)證芯片設(shè)計(jì)與預(yù)定的設(shè)計(jì)需求是否相符的關(guān)鍵步驟,主要是驗(yàn)證電路設(shè)計(jì)邏輯功能的正確性,而非電路的物理特性(后面的步驟會(huì)講到物理驗(yàn)證)。數(shù)字仿真器是數(shù)字集成電路邏輯功能驗(yàn)證的主要手段。
隨著超大規(guī)模集成電路的高速發(fā)展,高性能數(shù)字仿真器已經(jīng)成為數(shù)字集成電路設(shè)計(jì)與驗(yàn)證中必備的一環(huán)。近年來數(shù)字仿真器技術(shù)發(fā)展很快,當(dāng)今主流數(shù)字仿真軟件可以支持?jǐn)?shù)十億晶體管規(guī)模的超大規(guī)模集成電路的邏輯功能進(jìn)行高效精確的仿真驗(yàn)證。為了保證芯片的穩(wěn)定性,這個(gè)階段的過程時(shí)間會(huì)持續(xù)數(shù)月。EDA工程師常用的EDA工具是Mentor(西門子EDA)的Modelsim、Synopsys的VCS和Candence 的NC-Verilog。
從這一步開始,就進(jìn)入芯片設(shè)計(jì)的后端設(shè)計(jì)(物理設(shè)計(jì))階段了。主要負(fù)責(zé)將RTL code轉(zhuǎn)換為實(shí)際后端使用的Netlist(網(wǎng)表,包含了RTL中所有的邏輯信息,以及離散傅立葉變換、門控時(shí)鐘和I/O等)。網(wǎng)表的質(zhì)量對芯片的布局布線工作起到?jīng)Q定性作用。該過程需要考慮工藝的電特性和物理特性等因素,要盡可能做到Performance(性能)、Power(功耗)和Area(面積)的PPA優(yōu)化。Synthesis的質(zhì)量在一定程度上取決于綜合軟件的性能,業(yè)界流行的兩個(gè)邏輯綜合工具是Synopsys的Design Compiler和Cadence的Genus,綜合工程師的一個(gè)基本要求便是熟練的掌握兩個(gè)工具的使用方法。
布局布線是數(shù)字后端中占比最大的工作,主要就是把網(wǎng)表轉(zhuǎn)化成GDSII流格式(這是一種用于集成電路版圖的數(shù)據(jù)轉(zhuǎn)換的標(biāo)準(zhǔn)數(shù)據(jù)文件庫格式,其中含有集成電路版圖中的平面的幾何形狀、文本或標(biāo)簽等有關(guān)信息,由層次結(jié)構(gòu)組成),確定各種功能電路的擺放位置。PD的步驟包括Floorplan(布局規(guī)劃)、Place(功能電路的擺放)、CTS(時(shí)鐘綜合)、Optimize(優(yōu)化)、Route(布線)和ECO(工程變更)等,確保各個(gè)模塊滿足時(shí)序和物理制造的要求。這個(gè)步驟是后端設(shè)計(jì)中最核心的工作。布局布線對工具的依賴程度較強(qiáng),而且工具操作相對來說較為復(fù)雜。業(yè)界較為常用的是Cadence的Innovus和Synopsys的ICC。
STA(Static Timing Analysis,靜態(tài)時(shí)序分析)是芯片后端設(shè)計(jì)中的重要步驟。芯片上有海量的極其微小的金屬元器件,這些元器件的大小不一,通過引線流過這些元器件的延時(shí)會(huì)有不同,由于元器件過于微小,芯片的布局布線肯定會(huì)受到這些不同大小元器件和之間引線的各種限制,而靜態(tài)時(shí)序分析則是模擬各種元器件間的互聯(lián)和各種不同狀況的仿真,找出存在的各種問題。
靜態(tài)分析需要保證芯片設(shè)計(jì)中所有的路徑,滿足內(nèi)部時(shí)序單元對建立時(shí)間和保持時(shí)間的設(shè)計(jì)要求。也就是說無論信號(hào)的起點(diǎn)是什么,信號(hào)都可以被及時(shí)地傳遞到該路徑的終點(diǎn)。同時(shí),也要滿足電平跳變時(shí)間、電容、噪聲、等要求。STA需要制定整個(gè)芯片的時(shí)序約束約束文件,選擇芯片需要Signoff(簽發(fā))的Corner(工作范圍)以及全芯片的Timing(時(shí)序) ECO流程,這個(gè)步驟的難度要求很高。STA階段應(yīng)用較廣的是Synopsys的Primetime和Cadence的Tempus軟件。值得一提的是國內(nèi)鴻芯微納的ChimeTime,它是一種靜態(tài)時(shí)序簽核工具,提供了SPICE仿真精度的簽核結(jié)果。
物理驗(yàn)證也是流片(即試生產(chǎn))前的一項(xiàng)重要事項(xiàng)。如果物理驗(yàn)證有錯(cuò),那芯片生產(chǎn)就會(huì)失敗。在布局布線工具中,真正的物理驗(yàn)證需要檢查到器件底層。因此,物理驗(yàn)證需要將金屬層和底層金屬合并到一起,進(jìn)行全芯片的DRC(設(shè)計(jì)規(guī)則檢查)。同時(shí),還需要做全芯片的LVS(版圖與原理圖一致性檢查),ERC(電氣規(guī)則檢查),確保芯片沒有違反任何物理設(shè)計(jì)規(guī)則。物理驗(yàn)證的主要工具在Mentor(西門子EDA)的Calibre中進(jìn)行,Calibre也是業(yè)界標(biāo)準(zhǔn)的物理驗(yàn)證工具。
功耗分析也是芯片簽發(fā)的重要步驟,功耗分析的兩大任務(wù)是分析IR drop(電壓降)和EM(電遷移)。及時(shí)將結(jié)果反饋給布局布線任務(wù)組,讓他們及時(shí)修改后端設(shè)計(jì)圖,解決設(shè)計(jì)中潛在的問題。功耗分析常用的軟件有Ansys公司的Redhawk,以及Cadence公司的Voltus和Synopsys公司的Ptpx。
該步驟是對芯片實(shí)際工作時(shí)的狀態(tài)進(jìn)行仿真,即后仿真,來驗(yàn)證功能是否正常。時(shí)序仿真使用布局布線后器件給出的模塊和連線的延時(shí)信息,在最壞的情況下對電路的行為進(jìn)行實(shí)際評(píng)估。時(shí)序仿真使用的仿真器和上述第四步的功能仿真使用的仿真器是相同的,區(qū)別在于功能仿真是在布線前進(jìn)行,僅僅關(guān)注輸出和輸入的邏輯關(guān)系是否正確,不考慮時(shí)間延時(shí)信息;而時(shí)序仿真是在布線后進(jìn)行,不僅關(guān)注輸出和輸入的邏輯關(guān)系是否正確,同時(shí)還計(jì)算了時(shí)間延時(shí)信息。
總結(jié)下來,數(shù)字芯片的前端設(shè)計(jì)是邏輯設(shè)計(jì),用邏輯電路實(shí)現(xiàn)其預(yù)期的功能。后端部分則是對前端設(shè)計(jì)的物理實(shí)現(xiàn)。芯片設(shè)計(jì)完成后,F(xiàn)abless(芯片設(shè)計(jì))公司一般會(huì)將設(shè)計(jì)結(jié)果以GDSII格式記錄的電路版圖數(shù)據(jù)交給Foundry(芯片代工廠)進(jìn)行Tape-out(流片)了,也就是試生產(chǎn)。
為什么會(huì)叫Tape-out呢?因?yàn)樵谏鲜兰o(jì)七八十年代,芯片的設(shè)計(jì)數(shù)據(jù)都是寫到磁帶或者膠片里傳給工廠,設(shè)計(jì)團(tuán)隊(duì)將數(shù)據(jù)寫入磁帶叫Tape in,工廠讀取磁帶的數(shù)據(jù)叫Tape out,雖然隨著科技的發(fā)展,自動(dòng)化集成電路版圖工具軟件早已代替了磁帶,但是這個(gè)叫法一直沿用下來了。當(dāng)Tape out完成后,芯片就可以正式開始生產(chǎn)了。
由于芯片的流片花費(fèi)巨大,因此芯片的可靠性和可制造性,需要盡可能在設(shè)計(jì)階段就能確保。主流EDA軟件的驗(yàn)證和仿真功能十分完善,可以通過在各個(gè)階段不斷地進(jìn)行驗(yàn)證仿真,減少在流片中的錯(cuò)誤,降低流片的成本,確保芯片的可靠性。
芯片設(shè)計(jì)非常專業(yè),每一個(gè)設(shè)計(jì)階段涉及到的各種軟件種類繁多,雖然全球EDA軟件市場只有數(shù)百億美元的規(guī)模,但是它撬動(dòng)的是萬億美元級(jí)的集成電路市場,因此,EDA軟件產(chǎn)業(yè)具有重要的戰(zhàn)略意義。
當(dāng)前,我國高速重視發(fā)展工業(yè)軟件,國產(chǎn)EDA軟件迎來了發(fā)展的春天,我國的EDA市場正在全面發(fā)力,涌現(xiàn)出華大九天、概倫電子、廣立微、九同方、上海立芯、芯華章、芯愿景和鴻芯微納等知名品牌。雖然EDA領(lǐng)域的“卡脖子”問題對我國高端芯片的設(shè)計(jì)與制造產(chǎn)生了較大影響,但同時(shí)也為國產(chǎn)EDA軟件廠商帶來更大的市場機(jī)會(huì)。通過更多芯片設(shè)計(jì)、制造和封裝測試企業(yè)在實(shí)踐中的應(yīng)用,不斷為國產(chǎn)EDA軟件反饋應(yīng)用需求和軟件改進(jìn)需求,將迅速提升我國EDA軟件的技術(shù)水平。
銷售服務(wù)專線:0755-82127888
技術(shù)支持專線:0755-82127938
投訴專線:0755-82127989