概述
集成電路是由硅晶圓(wafer)切割出來的芯片(die)組成的。每個(gè)晶圓可以切割出數(shù)百個(gè)芯片。
ASIC是指針對(duì)特定應(yīng)用而設(shè)計(jì)的集成電路(Application Specific Integrated Circuit),與通用的存儲(chǔ)器、微處理器等不同。ASIC有以下幾種類型:
全定制ASIC(Full-Custom ASIC):這種類型的ASIC是完全手工設(shè)計(jì)的,沒有使用預(yù)先設(shè)計(jì)好的邏輯門,而是自己繪制芯片的版圖(layout)。
標(biāo)準(zhǔn)單元ASIC(Standard Cell ASIC):這種類型的ASIC是使用預(yù)先設(shè)計(jì)好的邏輯門,例如AND,NOR等,來構(gòu)建電路。這些邏輯門被稱為標(biāo)準(zhǔn)單元(Standard Cell)。標(biāo)準(zhǔn)單元ASIC的優(yōu)點(diǎn)是設(shè)計(jì)者可以節(jié)省時(shí)間、金錢和風(fēng)險(xiǎn),因?yàn)闃?biāo)準(zhǔn)單元庫(kù)已經(jīng)過設(shè)計(jì)和測(cè)試。每個(gè)標(biāo)準(zhǔn)單元都是用全定制的方法設(shè)計(jì)的,可以進(jìn)行單獨(dú)的優(yōu)化。
設(shè)計(jì)ASIC時(shí),需要平衡以下幾個(gè)目標(biāo):
速度(Speed):指芯片運(yùn)行的時(shí)鐘頻率和響應(yīng)時(shí)間,影響芯片的性能和效率。
面積(Area):指芯片占用的硅晶圓面積,影響芯片的成本和產(chǎn)量。
功耗(Power):指芯片運(yùn)行時(shí)消耗的電能,影響芯片的可靠性和散熱。
上市時(shí)間(Time to Market):指從設(shè)計(jì)開始到產(chǎn)品上市所需的時(shí)間,影響芯片的競(jìng)爭(zhēng)力和市場(chǎng)占有率。
為了實(shí)現(xiàn)這些目標(biāo),設(shè)計(jì)者需要熟悉CMOS工藝,即使用互補(bǔ)金屬氧化物半導(dǎo)體(Complementary Metal Oxide Semiconductor)制造芯片的技術(shù)。
CMOS工藝
1.1 CMOS工藝
CMOS工藝是目前最常用的芯片制造技術(shù),它利用互補(bǔ)金屬氧化物半導(dǎo)體(Complementary Metal Oxide Semiconductor)來構(gòu)建電路。CMOS電路由NMOS和PMOS兩種類型的MOSFET晶體管組成。
1.2 MOSFET晶體管
MOSFET是金屬氧化物半導(dǎo)體場(chǎng)效應(yīng)晶體管(Metal Oxide Semiconductor Field Effect Transistor)的簡(jiǎn)稱,它是一種電壓控制的開關(guān)器件,也是數(shù)字集成電路設(shè)計(jì)中的基本單元。MOSFET的結(jié)構(gòu)和工作原理如下圖所示。
?
CMOS工藝?yán)肗MOS和PMOS兩種MOSFET來實(shí)現(xiàn)高密度、復(fù)雜的數(shù)字集成電路,主要用于信號(hào)處理。CMOS工藝的優(yōu)點(diǎn)是低功耗、高速度和易于集成等。在數(shù)字IC中,MOSFET可以看作是簡(jiǎn)單的開關(guān)。例如:CMOS反相器只需要一個(gè)PMOS和一個(gè)NMOS晶體管。
當(dāng)輸入為邏輯“0”時(shí),PMOS導(dǎo)通,NMOS截止,輸出負(fù)載電容被充電,輸出為邏輯“1”。
當(dāng)輸入為邏輯“1”時(shí),PMOS截止,NMOS導(dǎo)通,輸出負(fù)載電容被放電,輸出為邏輯“0”。
邏輯門的輸出負(fù)載電容由兩部分組成:本征電容和外部電容(走線、扇出等)。PMOS和NMOS的載流子分別是空穴和電子。由于電子的遷移率比空穴高出一倍多,導(dǎo)致輸出上升時(shí)間和下降時(shí)間不對(duì)稱。
為了平衡這種差異,通常讓PMOS的寬長(zhǎng)比(W/L)比NMOS的大一些。這樣可以使PMOS和NMOS具有相近的驅(qū)動(dòng)能力(drive strength)。
在標(biāo)準(zhǔn)單元庫(kù)中,晶體管的長(zhǎng)度L一般是固定的,而寬度W則根據(jù)不同門的驅(qū)動(dòng)需求進(jìn)行調(diào)整。
1.3 CMOS集成電路的功耗
CMOS集成電路的功耗主要有以下三個(gè)來源:
動(dòng)態(tài)功耗:由于電路負(fù)載電容在開關(guān)過程中的充放電而產(chǎn)生。給定頻率f,動(dòng)態(tài)功耗為:負(fù)載電容* Vdd * Vdd * f
短路功耗:由于PMOS和NMOS在開關(guān)過程中同時(shí)導(dǎo)通而形成短路路徑而產(chǎn)生。
靜態(tài)功耗:由于晶體管存在漏電流而產(chǎn)生。
1.4 CMOS傳輸門
將PMOS和NMOS并聯(lián)起來就形成了傳輸門。傳輸門可以將輸入信號(hào)傳遞到輸出端。
1.5 時(shí)序元件
在CMOS中,可以通過反饋回路來實(shí)現(xiàn)邏輯值的存儲(chǔ),這樣的元件被稱為時(shí)序元件。最簡(jiǎn)單的時(shí)序元件就是兩個(gè)反相器相互連接?;谶@種結(jié)構(gòu),可以有兩種基本的時(shí)序元件,分別是:
1、鎖存器(Latch):鎖存器是在兩個(gè)反相器之間加入一個(gè)傳輸門來控制數(shù)據(jù)的輸入和輸出。
當(dāng)傳輸門的控制信號(hào)為邏輯“1”時(shí),傳輸門打開,輸入信號(hào)“D”可以傳遞到輸出端。
當(dāng)控制信號(hào)為邏輯“0”時(shí),傳輸門關(guān)閉,輸出端保持原來的值不變。??
2、觸發(fā)器(Flip-Flop):觸發(fā)器是由兩個(gè)鎖存器串聯(lián)而成的。第一個(gè)鎖存器叫做主鎖存器(Master latch),第二個(gè)鎖存器叫做從鎖存器(Slave latch)。
在這種情況下,傳輸門的控制信號(hào)就是時(shí)鐘信號(hào)(Clock)。時(shí)鐘信號(hào)經(jīng)過反相后送到從鎖存器的傳輸門。
當(dāng)時(shí)鐘信號(hào)為高電平時(shí),主鎖存器的傳輸門打開,輸入信號(hào)“D”可以被兩個(gè)反相器鎖定。同時(shí),由于時(shí)鐘信號(hào)反相,從鎖存器的傳輸門關(guān)閉,輸出信號(hào)“Q”保持原來的值不變。
當(dāng)時(shí)鐘信號(hào)為低電平時(shí),從鎖存器的傳輸門打開,輸出信號(hào)“Q”更新為主鎖存器鎖定的值。此時(shí),輸出信號(hào)“Q”與輸入信號(hào)“D”的變化無關(guān)。
由于觸發(fā)器只在時(shí)鐘信號(hào)由低變高的上升沿更新數(shù)據(jù),所以這種類型的觸發(fā)器叫做正邊沿觸發(fā)器。如果觸發(fā)器只在時(shí)鐘信號(hào)由高變低的下降沿更新數(shù)據(jù),則叫做負(fù)邊沿觸發(fā)器。??
芯片設(shè)計(jì)的過程
要設(shè)計(jì)芯片,首先需要有一個(gè)清晰的設(shè)計(jì)目標(biāo)和功能需求(Idea)。
在ASIC設(shè)計(jì)流程中,這個(gè)Idea會(huì)不斷地轉(zhuǎn)化為不同的表現(xiàn)形式。
ASIC設(shè)計(jì)流程的第一步就是把Idea寫成詳細(xì)的規(guī)格說明書(Specifications)。規(guī)格說明書包括:
設(shè)計(jì)的目標(biāo)和約束條件。
設(shè)計(jì)的功能描述。
設(shè)計(jì)的性能指標(biāo),如速度和功耗。
設(shè)計(jì)的面積預(yù)估。
設(shè)計(jì)的制造工藝和設(shè)計(jì)方法選擇。
傳統(tǒng)意義上,ASIC設(shè)計(jì)流程如下所示:
1、給出設(shè)計(jì)的結(jié)構(gòu)和功能分解(Structural and Functional Description)。這意味著要確定使用什么樣的設(shè)計(jì)架構(gòu),例如 RISC / CISC,ALU,流水線等,并且將整個(gè)系統(tǒng)劃分為若干個(gè)子模塊。每個(gè)子模塊的功能也要在規(guī)格說明書中明確定義。
2、確定了系統(tǒng)層次結(jié)構(gòu)之后,就要開始用具體的邏輯元素來實(shí)現(xiàn)設(shè)計(jì)的功能。這一步稱為RTL級(jí)邏輯設(shè)計(jì)(Register Transfer Level)。RTL設(shè)計(jì)通常用硬件描述語言(Verilog、VHDL)來編寫。硬件描述語言(HDL)是一種用于描述數(shù)字系統(tǒng)的語言,可以用來表示邏輯門、微處理器、存儲(chǔ)器、觸發(fā)器等任何級(jí)別的硬件。在這個(gè)階段,要對(duì)設(shè)計(jì)進(jìn)行功能驗(yàn)證,以確保設(shè)計(jì)符合規(guī)格說明書的要求。
3、功能驗(yàn)證
4、邏輯綜合(Logic synthesis),使用Design Compiler (Synopsys),Genus(Cadence)等綜合工具,將 RTL代碼轉(zhuǎn)換為優(yōu)化后的門級(jí)網(wǎng)表(Gate Level Netlist)。綜合工具需要輸入RTL代碼和標(biāo)準(zhǔn)單元庫(kù)(Standard cell library),輸出門級(jí)網(wǎng)表。標(biāo)準(zhǔn)單元庫(kù)是集成電路設(shè)計(jì)中常用的基本邏輯模塊的集合。綜合工具在進(jìn)行邏輯綜合時(shí),要考慮各種約束(Constraints),如時(shí)序、面積、可測(cè)性和功耗等。綜合工具會(huì)根據(jù)不同的優(yōu)化策略和代價(jià)函數(shù)(cost function),來尋找滿足約束條件的最佳實(shí)現(xiàn)方案。邏輯綜合完成之后,會(huì)得到一個(gè)只包含結(jié)構(gòu)信息而不包含行為信息的門級(jí)網(wǎng)表。
5、對(duì)門級(jí)網(wǎng)表進(jìn)行功能驗(yàn)證,以檢查是否與RTL代碼一致。
6、門級(jí)網(wǎng)表的物理實(shí)現(xiàn)(Physical Implementation)。這一步是將門級(jí)網(wǎng)表映射到芯片上的具體位置和連線。物理實(shí)現(xiàn)需要考慮制造工藝對(duì)布局布線(Layout)的限制條件,如DRC規(guī)則等。物理實(shí)現(xiàn)步驟包括三個(gè)子步驟:Floor planning->Placement->Routing。物理實(shí)現(xiàn)的輸出是GDSII文件。這是芯片制造廠所需要的文件格式。物理實(shí)現(xiàn)可以由IC Compiler (Synopsys)、Innovus (Cadence)等軟件完成。
7、進(jìn)行物理驗(yàn)證(Physical Verification),以檢查是否滿足DRC規(guī)則、LVS規(guī)則等。?
8、時(shí)序分析。對(duì)于任何有特定時(shí)鐘頻率要求的設(shè)計(jì),都必須進(jìn)行時(shí)序分析(timing analysis)。我們需要檢查設(shè)計(jì)是否滿足規(guī)格說明書中的時(shí)序要求。這是通過靜態(tài)時(shí)序分析(Static Timing Analysis)工具完成的,例如Primetime(Synopsys)。它會(huì)檢查設(shè)計(jì)中所有的時(shí)序路徑,來驗(yàn)證設(shè)計(jì)是否存在時(shí)序違規(guī)(timing violations)。例如:建立時(shí)間(setup)、保持時(shí)間(hold)等。
9、在物理實(shí)現(xiàn)和時(shí)序分析都通過之后,設(shè)計(jì)就可以交付給制造廠進(jìn)行制造(Fabrication)了。制造完成之后,芯片會(huì)被切割、封裝和測(cè)試。
最后,值得思考的是,我們是否一定要遵從這種瀑布式開發(fā)流程???能否盡可能地流程左移。
編輯:黃飛
?
評(píng)論