芯片設(shè)計流程
集成電路設(shè)計可以大致分為數(shù)字集成電路設(shè)計和模擬集成電路設(shè)計兩大類。不過,實際的集成電路還有可能是混合信號集成電路,因此不少電路的設(shè)計同時用到這兩種流程。模擬集成電路集成電路設(shè)計的另一個大分支是模擬集成電路設(shè)計,這一分支通常關(guān)注電源集成電路、射頻集成電路等。由于現(xiàn)實世界的信號是模擬的,所以,在電子產(chǎn)品中,模-數(shù)、數(shù)-模相互轉(zhuǎn)換的集成電路也有著廣泛的應(yīng)用。模擬集成電路包括運算放大器、線性整流器、鎖相環(huán)、振蕩電路、有源濾波器等。相較數(shù)字集成電路設(shè)計,模擬集成電路設(shè)計與半導(dǎo)體器件的物理性質(zhì)有著更大的關(guān)聯(lián),例如其增益、電路匹配、功率耗散以及阻抗等等。模擬信號的放大和濾波要求電路對信號具備一定的保真度,因此模擬集成電路比數(shù)字集成電路使用了更多的大面積器件,集成度亦相對較低。
在微處理器和計算機輔助設(shè)計方法出現(xiàn)前,模擬集成電路完全采用人工設(shè)計的方法。由于人處理復(fù)雜問題的能力有限,因此當(dāng)時的模擬集成電路通常是較為基本的電路,運算放大器集成電路就是一個典型的例子。在當(dāng)時的情況下,這樣的集成電路可能會涉及十幾個晶體管以及它們之間的互連線。為了使模擬集成電路的設(shè)計能達到工業(yè)生產(chǎn)的級別,工程師需要采取多次迭代的方法以測試、排除故障。重復(fù)利用已經(jīng)設(shè)計、驗證的設(shè)計,可以進一步構(gòu)成更加復(fù)雜的集成電路。1970年代之后,計算機的價格逐漸下降,越來越多的工程師可以利用這種現(xiàn)代的工具來輔助設(shè)計,例如,他們使用編好的計算機程序進行仿真,便可獲得比之前人工計算、設(shè)計更高的精確度。SPICE是第一款針對模擬集成電路仿真的軟件(事實上,數(shù)字集成電路中標(biāo)準(zhǔn)單元本身的設(shè)計,也需要用到SPICE來進行參數(shù)測試),其字面意思是“以集成電路為重點的仿真程序(英語:Simulation Program with Integrated Circuit Emphasis)” 基于計算機輔助設(shè)計的電路仿真工具能夠適應(yīng)更加復(fù)雜的現(xiàn)代集成電路,特別是專用集成電路。使用計算機進行仿真,還可以使項目設(shè)計中的一些錯誤在硬件制造之前就被發(fā)現(xiàn),從而減少因為反復(fù)測試、排除故障造成的大量成本。此外,計算機往往能夠完成一些極端復(fù)雜、繁瑣,人類無法勝任的任務(wù),使得諸如蒙地卡羅方法等成為可能。實際硬件電路會遇到的與理想情況不一致的偏差,例如溫度偏差、器件中半導(dǎo)體摻雜濃度偏差,計算機仿真工具同樣可以進行模擬和處理。
總之,計算機化的電路設(shè)計、仿真能夠使電路設(shè)計性能更佳,而且其可制造性可以得到更大的保障。盡管如此,相對數(shù)字集成電路,模擬集成電路的設(shè)計對工程師的經(jīng)驗、權(quán)衡矛盾等方面的能力要求更嚴(yán)格。數(shù)字電路粗略地說,數(shù)字集成電路可以分為以下基本步驟:系統(tǒng)定義、寄存器傳輸級設(shè)計、物理設(shè)計。而根據(jù)邏輯的抽象級別,設(shè)計又分為系統(tǒng)行為級、寄存器傳輸級、邏輯門級。設(shè)計人員需要合理地書寫功能代碼、設(shè)置綜合工具、驗證邏輯時序性能、規(guī)劃物理設(shè)計策略等等。在設(shè)計過程中的特定時間點,還需要多次進行邏輯功能、時序約束、設(shè)計規(guī)則方面的檢查、調(diào)試,以確保設(shè)計的最終成果合乎最初的設(shè)計收斂目標(biāo)。系統(tǒng)定義系統(tǒng)定義是進行集成電路設(shè)計的最初規(guī)劃,在此階段設(shè)計人員需要考慮系統(tǒng)的宏觀功能。設(shè)計人員可能會使用一些高抽象級建模語言和工具來完成硬件的描述,例如C語言、C++、SystemC、SystemVerilog等事務(wù)級建模語言,以及Simulink和MATLAB等工具對信號進行建模。
盡管主流是以寄存器傳輸級設(shè)計為中心,但已有一些直接從系統(tǒng)級描述向低抽象級描述(如邏輯門級結(jié)構(gòu)描述)轉(zhuǎn)化的高級綜合(或稱行為級綜合)、高級驗證工具正處于發(fā)展階段。系統(tǒng)定義階段,設(shè)計人員還對芯片預(yù)期的工藝、功耗、時鐘頻率頻率、工作溫度等性能指標(biāo)進行規(guī)劃 [2] 。寄存器傳輸級設(shè)計集成電路設(shè)計常常在寄存器傳輸級上進行,利用硬件描述語言來描述數(shù)字集成電路的信號儲存以及信號在寄存器、存儲器、組合邏輯裝置和總線等邏輯單元之間傳輸?shù)那闆r。在設(shè)計寄存器傳輸級代碼時,設(shè)計人員會將系統(tǒng)定義轉(zhuǎn)換為寄存器傳輸級的描述。設(shè)計人員在這一抽象層次最常使用的兩種硬件描述語言是Verilog、VHDL,二者分別于1995年和1987年由電氣電子工程師學(xué)會(IEEE)標(biāo)準(zhǔn)化。正由于有著硬件描述語言,設(shè)計人員可以把更多的精力放在功能的實現(xiàn)上,這比以往直接設(shè)計邏輯門級連線的方法學(xué)(使用硬件描述語言仍然可以直接設(shè)計門級網(wǎng)表,但是少有人如此工作)具有更高的效率。