因應混合信號設計需求與日俱增,以單一數(shù)據(jù)庫且自動化程度高的全芯片混合信號設計、分析和驗證解決方案隨之而起,透過模擬和數(shù)字仿真引擎的結合,以及與芯片完工整修等其它工具的有效連結,來達到生產力與精確度的大幅提升。
直到最近,絕大部分的IC本質上還都是純數(shù)字(Purely Digital)或純模擬(Purely Analog)的設計,因此,早期以IC為主的電子系統(tǒng)一般都由許多相對簡單的模擬和數(shù)字芯片,組裝在電路板上相互連接。例如1970年代由摩托羅拉(Motorola)所發(fā)展出的第一臺行動電話Dyna-Tac,即是由兩個模擬芯片(其一是現(xiàn)貨,另一是客制化組件)和十五個數(shù)字芯片(其中十三個是現(xiàn)貨,另兩個是客制化組件)所組成。
由于早期的IC都是模擬式或數(shù)字式,因此用來建立或驗證這些組件的計算機輔助設計工具,也是針對數(shù)字領域或是模擬領域所量身訂做。
隨后,為符合無線網(wǎng)絡通訊協(xié)議和標準的復雜要求,并因應使用者愈來愈多的功能需求:如MP3播放器、全球衛(wèi)星定位系統(tǒng)(GPS)、數(shù)字相機等,類似行動電話等產品所使用的模擬及數(shù)字芯片數(shù)量不斷增加。
此外,為了滿足成本、大小、重量和電力消耗方面的需要,業(yè)者也必須整合更多的功能,以減少芯片數(shù)目。剛開始,模擬功能的群組會合并到特定的模擬芯片上,而數(shù)字功能的集合則合并到數(shù)字芯片上。近來則是將模擬和數(shù)字功能一起合并至單一的混合式信號(Mixed-signal)裝置中。例如最新式的高階行動電話,除少數(shù)微小且非常專屬的裝置外,通常只包含一顆容量較大、性能較高的混合信號IC,含有大量模擬和數(shù)字功能,再加上一顆特殊的射頻(RF)芯片。
多年來,雖然傳統(tǒng)的模擬、數(shù)字設計及驗證工具在容量及效能上有一定程度的進展,但基本架構仍以1990年代中期的技術為基礎,而且仍然限于模擬或數(shù)字領域。舉例來說,模擬和數(shù)字工具及設計流程使用不同的數(shù)據(jù)庫,因此阻隔了兩個領域之間的信息交換,造成數(shù)字和模擬的設計團隊大多各自為政,幾乎不了解對方在做什么。
弄清數(shù)字/模擬/混訊/客制化設計定義
由于不同電子設計自動化(EDA)公司對于全客制化(Full-custom)和混合信號等用詞的認知不盡相同,為避免誤解,在此先說明本文定義。所謂數(shù)字IC系指以離散(亦即非連續(xù))數(shù)值描述輸入、處理、儲存、輸出等信息的組件;而模擬IC則是以連續(xù)變化的信號描述輸入、處理、輸出等信息的組件;混合信號IC則包含數(shù)字和模擬功能混合體的組件。
至于全客制化設計,則是指構成一個裝置或裝置中某一部分的晶體管(Transistor)、電阻(Resistor)等各組件的每一個幾何組件,大小和形狀都是個別以手工制作。因此,一般而言,模擬設計亦屬于全客制化設計。相對的,絕大部分的數(shù)字設計主要是使用預先定義的邏輯功能鏈接庫(Libraries of Logical Functions),其中,晶體管的大小和彼此間的連接已預先定義。
有些純數(shù)字裝置如內存芯片(Memory Chip)及高階微處理器(High-end Microprocessor)可能屬于全客制化的類別,但這些是特例,通常只有高度客制化、高度獨特性、專門性的設計環(huán)境支持。
數(shù)字設計工具進展快速
1960年代前期,數(shù)字IC設計正值萌芽階段,電子電路都是以手工制作,使用筆、紙及模板,以手工繪制電路(原理)圖,圖上有各種符號,代表各個邏輯閘(Logic Gate)及功能,以及彼此之間的連接。
每一個設計團隊通常至少有一名成員精通于邏輯電路的最小化(Minimization)和最佳化(Optimization),以便在最后階段將原本的閘極(Gate)改為功能相同,但速度更快且/或面積更小的硅芯片。
功能驗證(Functional Verification)是為確保設計能夠符合原先規(guī)畫的功能。一般而言是由一群工程師圍著一張桌子,逐一檢視原理圖(Schematic)的所有功能,判斷是否有任何問題。同樣地,時序驗證(Timing Verification)也是以筆、紙進行,以確認輸入到輸出及內部路徑延遲符合設計要求,而且諸如設定和保留等參數(shù)與任何內部緩存器均無違反時序。少數(shù)時候,這項作業(yè)可能會使用到機械或機電式計算器。
最后,以手繪制整套的邏輯閘結構,或更精確地說,構成邏輯閘之晶體管及電阻的結構,以及彼此間互連的藍圖。然后,使用這些由正方形及矩形等簡單幾何形狀構成的藍圖來建立光罩,據(jù)以制造實際的硅芯片。
從以上描述與先前定義來看,此款數(shù)位IC會歸類為「全客制化」,因為構成晶體管、電阻等各組件的每一個幾何組件的大小和形狀系個別以手工制作。
然而,以手工方式設計極為耗時且容易出錯,亟須加以改善,許多公司及學術機構因而投入各種不同的研究方向,彼此競爭。以原理圖設計為例,閘極級(Gate-level)的原理圖設計(Schematic Capture)軟件包開始出現(xiàn),功能驗證方面,1960年代晚期和1970年代初,開始出現(xiàn)事件驅動邏輯仿真器(Event-driven Logic Simulator)形式的特殊程序。
在閘極抽象層建立數(shù)字設計,可以比擬為使用匯編語言建立軟件程序,就匯編程序的效率及所需的計算機內存而言,是很好的選擇,但在設計及驗證上要花費很長的時間,而且很不容易移植到另一臺計算機。同樣地,閘極抽象層在設計及驗證上非常費時,而且不容易移植到新的代工廠或制程/技術節(jié)點(Technology Node)。
軟件方面,程序開發(fā)者的解決辦法是改用高階的程序語言,例如C語言,再將這些高級語言編譯成計算機所需要的機器指令,優(yōu)點是可以使軟件開發(fā)人員迅速精準地捕捉程序的意圖并驗證其功能,此外,以C語言撰寫的程序很容易移植到其它計算機平臺。
同樣地,數(shù)字邏輯方面,設計人員開始采用進一步的抽象設計,稱為緩存器轉移級(Register Transfer Level, RTL)。1980年代晚期及1990年代初登場的邏輯合成,可將RTL解譯成對應的閘極級通訊匣層電路表(Gate-level Netlist)。「前端」的合成技術及能夠取得閘極級通訊匣層電路表,以及具體實施設計的「后端」自動布局繞線引擎,兩者相輔相成。
就小型的設計而言,使用合成引擎(Synthesis Engine)不一定能夠獲得與手工設計一樣好的閘極抽象層,但能夠迅速簡潔地捕捉設計意圖,因此可大幅提升設計人員的生產力。此外,合成引擎能夠自動在速度(效率)及面積之間作取舍,加上識別及處理關鍵路徑的能力,因此合成引擎可回報更好的整體結果給設計人員。正如同將C語言的程序編譯用于不同的計算機,RTL及邏輯合成使數(shù)字設計更容易移植到新的代工廠或制程/技術節(jié)點。
模擬設計工具進化牛步
相較比數(shù)位電路的同類型工具,模擬電路的計算機輔助設計及驗證工具,更早出現(xiàn),在模擬電子系統(tǒng)設計的初期,電子電路是靠手工建立。晶體管層級(Transistor-level)的原理圖是使用筆、紙及模板以手工繪制,并初步的進行「筆紙」分析和驗證。
例如晶體管、電阻器、電容器和電感器等離散式(個別封裝)組件建構的設計,通常都會依設計建造實體的原型件,把它放到測試臺上,量測實際的數(shù)值以決定其性能,然后調校組件的數(shù)值,必要時增加/移除組件,以達到預期效果。
顯然,對于建造第一個模擬IC而言,這種方式并不理想,因為重作IC設計的成本極高,因此,在1960年代晚期和1970年代初,有些大學及公司開始著手模擬仿真器(Analog Simulator)設計,藉由這些程序,學生及工程師可仿真模擬電路運作,不須實際建造。早期的仿真器中,最著名的應是集成電路仿真程序(Simulation Program with Integrated Circuit Emphasis, SPICE),這套程序是由加州大學柏克萊分校所開發(fā),在1970年代初開始廣泛應用。
經(jīng)過多年的演進,模擬模擬在復雜的下層模型、算法、仿真引擎的容量以及性能等方面有極大的進展。現(xiàn)在大部分使用的模擬工具,其構想都可追溯至1990年代早期及中期,這些工具的底層架構原本即非針對混合信號設計環(huán)境的復雜需求所設計。
更重要的是,現(xiàn)今模擬設計及驗證工具本質上只限于設計及仿真晶體管層級的原理圖。截至目前,包括將模擬功能高度抽象化進而產生晶體管層級的設計,模擬電路自動最佳化,和模擬電路自動布局與繞線(Placed and Route)等方面,進展不大。以致于現(xiàn)今模擬IC大部分仍是全客制化,以手工辛苦打造,不僅成本高、耗時且容易出錯,這種晶體管層級的設計方式,也無法輕易轉移至新的代工廠或制程/技術節(jié)點。
混合信號工具問題重重
截至目前,在真正的混合信號設計工具的進展上仍相當緩慢。如前所述,為符合成本、大小、重量及電力消耗等需求,模擬及數(shù)字功能已逐漸結合至單一的混合信號裝置中,為實踐這類設計,多家EDA公司正致力把既有的模擬和數(shù)字仿真引擎「結合」在一起。就連以往專精于數(shù)字設計的公司,也開始購買成熟的模擬解決方案,來解決此一問題,并藉以獲得更多模擬客戶,提高市場占有率。
不過,這種做法卻容易使得一些不適合整合的個別工具被勉強拼湊在一起。例如,模擬及數(shù)字工具使用不同的數(shù)據(jù)庫,非常不利于兩個領域之間的信息交換。此外,如前所述,現(xiàn)今大部分的模擬工具都可追溯至1990年代早期及中期,其底層架構從一開始就非針對混合信號設計環(huán)境所發(fā)展。
相較于數(shù)字設計已可達到45奈米的技術節(jié)點,多數(shù)的模擬設計至今仍采用5~10年前的制程技術,如130奈米和250奈米技術節(jié)點;最新進的制程也僅到90奈米,主要因為模擬設計的移植必須從頭開始創(chuàng)建電路。此外,即使使用今日最新技術的混合信號及全客制化設計環(huán)境,數(shù)字和模擬設計團隊多半還是各自為政,幾乎不了解對方作業(yè)內容。這兩個領域的首度接觸,往往是發(fā)生在芯片完工整修(Chip Finishing)制程中,亦即模擬和數(shù)字區(qū)塊的布局及繞線時。
芯片完工整修制程通常是以手工執(zhí)行,有數(shù)項工作是在芯片光罩設計完成的前一個步驟進行。由于缺乏自動化,芯片完工整修的活動和動作通常無法回饋給主設計,因而易導致設計的再利用性不佳。
提高設計工具整合度與自動化效能
為解決混合信號設計工具所面臨的問題,EDA業(yè)者藉由結合SPICE和Fast SPICE兩者的性能優(yōu)點,推出新一代電路仿真器FineSim SPICE,可在兼顧SPICE仿真器準確性的前提下,加快仿真和分析速度。FineSim SPICE采用先進的原生平行技術(Native Parallel Technology, NPT)算法,能夠透過多顆中央處理器(CPU)并行處理,實現(xiàn)線性加速及擴充容量。
現(xiàn)在,EDA業(yè)者也正推動真正統(tǒng)一、自動、全芯片的混合信號設計、分析和驗證解決方案,希望藉由更高的整合性和自動化程度,大幅提升芯片完工修整、模擬/客制化數(shù)字設計等領域的產量(圖1)。此套名為Titan的工具顯著提升芯片完工整修制程的時程關鍵性(Schedule-critical)功能,在效率與可預測性方面獲得重大進展,移除現(xiàn)行客制化布局和標準單元(Standard-cell)實作系統(tǒng)之間費時又復雜的循環(huán),并透過一條實時聯(lián)機,使標準單元數(shù)據(jù)庫與每一次的客制化布局編輯保持同步,將標準單元系統(tǒng)封裝在整個系統(tǒng)中(圖2)。
圖1 Titan透過整合及自動化提高產量
圖2 傳統(tǒng)設計環(huán)境中,客制化布局與標準單元布局及繞線之間的循環(huán)可能成為芯片完工整修的弱點。
在標準單元設計規(guī)則檢查(DRC)/布局與原理圖對照(LVS)無誤且設計通過全部的簽核分析檢查后,流程的布局及繞線部分便告完成。此時,標準單元數(shù)據(jù)庫必須以某種標準格式(例如GDSII)匯出,然后匯入一個包含所有制造層的全客制化系統(tǒng)中。
簽核DRC之前,要先加入光罩設計必要的客制化布局結構,例如覆晶凸塊(Flip-chip Bump)連接及頂層繞線(Top-layer Routing),并規(guī)畫對準靶材(Alignment Target)和畫線網(wǎng)線等,再于客制化環(huán)境中執(zhí)行DRC簽核。這些工作完成后,必須回到布局及繞線環(huán)境,針對所有會影響布局及繞線區(qū)域的變更,重新進行驗證。因此,設計人員必須反復回到布局及繞線系統(tǒng),也就須要再次執(zhí)行繁瑣的數(shù)據(jù)匯出和匯入作業(yè)。更嚴重的是,這個階段如果要求執(zhí)行工程變更命令(ECO),就必須再次反復執(zhí)行循環(huán),以分析驗證任何變更。
為減少此一困擾,Titan透過與其它設計引擎如Talus的有效連接,以及DRC/LVS分析及驗證引擎的緊密整合,來避免執(zhí)行前述循環(huán)的需要。客制化布局環(huán)境中只要有所變更,Talus便會得知,立即可以重新執(zhí)行簽核檢查,而且毋須傳送數(shù)據(jù)庫,標準單元數(shù)據(jù)仍然是在Talus的內存中,客制化數(shù)據(jù)則在Titan的客制化環(huán)境中。
正如整合到數(shù)字布局及繞線系統(tǒng)可大幅提高效率,Titan也使模擬及特殊信號繞線的自動化和標準化向前邁進一大步,透過直覺式的應用布局條件,以互動的方式定義或完全透過指令碼進行自動化,其可在數(shù)秒內完成總線繞線(Bus Routing)、屏蔽(Shielding)、偏差分對繞線(Differential Pair Routing)、星形繞線(Star Routing)和其它特殊的繞線,毋須以手工方式耗費數(shù)日的時間。這點對于ECO而言尤其重要,因為重新繞線能夠自動執(zhí)行,不會延誤時程。
除具備完整的芯片完工整修能力外,Titan也可和寄生提取標準工具QuickCap TLx緊密整合于FineSim電路仿真器,以便在真正的混合信號設計方面,達成全芯片電路仿真(Full-chip Circuit Simulation),為設計的模擬部分提供SPICE的精確度,數(shù)字部分則可達到Fast SPIE的精確度,讓模擬及數(shù)字接口能夠充分仿真驗證后,再制造出實際的硅芯片。
另一方面,可完全編寫指令碼的Tcl/Tk接口以及一個整合式圖形使用者接口(GUI),亦是現(xiàn)今混合信號設計工具不可或缺的功能,以便利用選單、快速鍵、浮動式控制板等,對設計進行全部的檢視、編輯、繞線及驗證,讓設計的模擬和數(shù)字部分的原理圖、布局、DRC錯誤、寄生值(Parasitic Values)等擁有完整除錯功能。
顯而易見的,基于統(tǒng)一、自動、全芯片的混合信號設計解決方案,將為日益復雜的模擬及混合信號IC設計帶來新的生產力和價值。