模擬設(shè)計(jì)與驗(yàn)證工具現(xiàn)狀
大約從20世紀(jì)80年代起,就有許多業(yè)內(nèi)專家宣稱模擬電路已走進(jìn)死胡同,而數(shù)字應(yīng)用將在電子世界中大放異彩,包括用在通信上的集成電路(integrated circuits,ICs)。在現(xiàn)實(shí)中,當(dāng)然,現(xiàn)代化的通信系統(tǒng)同時(shí)需要將模擬及數(shù)字功能復(fù)雜地融合在一起。
不過(guò)有一個(gè)問(wèn)題,比起它的數(shù)字同胞,在支持自動(dòng)化能力這方面,模擬設(shè)計(jì)及驗(yàn)證工具卻遠(yuǎn)遠(yuǎn)落后。其結(jié)果,模擬設(shè)計(jì)工程師的生產(chǎn)力遠(yuǎn)不及數(shù)字搭檔來(lái)得強(qiáng)。
就以數(shù)字集成電路設(shè)計(jì)為例,現(xiàn)代最先進(jìn)的設(shè)計(jì)環(huán)境提供了高階的自動(dòng)化,即使是包含上億個(gè)晶體管的最復(fù)雜設(shè)計(jì),也能在短短幾天內(nèi)重新轉(zhuǎn)給新的代工廠、同一座代工廠但不同的制程、甚至全新的技術(shù)節(jié)點(diǎn)。
相對(duì)地,缺乏自動(dòng)化支持的傳統(tǒng)式模擬設(shè)計(jì)環(huán)境,代表模擬電路的制作及修改幾乎全靠人工。這樣的結(jié)果,即使把相當(dāng)簡(jiǎn)單的模擬功能轉(zhuǎn)向新的代工廠、制程或技術(shù)節(jié)點(diǎn),也要耗費(fèi)6~12個(gè)月的時(shí)間。換言之,雖然尖端的數(shù)字設(shè)計(jì)已經(jīng)達(dá)到32nm的技術(shù)節(jié)點(diǎn),絕大多數(shù)的模擬設(shè)計(jì)仍深陷在130nm及250nm節(jié)點(diǎn)的泥沼之中,那算是5~10年前的老舊技術(shù)了。
首先,本文先提出數(shù)字設(shè)計(jì)及驗(yàn)證技術(shù)演進(jìn)的概觀,并說(shuō)明現(xiàn)代最先進(jìn)數(shù)字設(shè)計(jì)環(huán)境在支持高階自動(dòng)化上的生產(chǎn)力優(yōu)勢(shì)。本文接著提出模擬設(shè)計(jì)及驗(yàn)證技術(shù)演進(jìn)的概觀,并且拿來(lái)跟數(shù)字的自動(dòng)化能力做對(duì)比。
最后,本文討論了模擬工具必須予以強(qiáng)化以支持更高階自動(dòng)化的方法;同時(shí)也闡述了現(xiàn)代化IC設(shè)計(jì)環(huán)境必須強(qiáng)化的方法,以具備足以支持真正的、統(tǒng)一的、全芯片混合信號(hào)設(shè)計(jì)、驗(yàn)證、及實(shí)現(xiàn)的能力。
數(shù)字工具的演進(jìn)
早期的數(shù)字IC設(shè)計(jì),約20世紀(jì)60年代初期,電子電路皆以手工建立。電路圖(原理圖)都是用紙筆及印刷模板以手繪制。這些圖面顯示邏輯門與功能的各式符號(hào),并且用來(lái)實(shí)現(xiàn)符號(hào)之間連線的設(shè)計(jì)。
執(zhí)行“功能驗(yàn)證”時(shí),通常是一群工程師圍坐在桌子旁,通過(guò)原理圖兢兢業(yè)業(yè)地討論:“這部分我看應(yīng)該沒(méi)問(wèn)題!”同樣地,進(jìn)行“時(shí)序驗(yàn)證”時(shí),典型的做法也是靠著紙和筆。最后,用來(lái)組成晶體管、電阻器及彼此之間互連的架構(gòu)都是以人工繪制而成的。
毫無(wú)疑問(wèn),這種手工藝品方式的設(shè)計(jì)極為耗時(shí),而且很容易出錯(cuò)。這種情形必須要有解決之道,于是有些公司及大學(xué)就率先跳出來(lái),采用各種不同的研究方向。就設(shè)計(jì)獲取(design capture)而言,門級(jí)(gate-level)的“原理圖獲取”套件即在市場(chǎng)上開(kāi)始出現(xiàn),至于功能及時(shí)序驗(yàn)證,在20世紀(jì)60~70年代初期所看到的,則是先出現(xiàn)以“事件驅(qū)動(dòng)邏輯仿真器”及“靜態(tài)時(shí)序分析器”為形式的專門程序。
以抽象的門級(jí)建立數(shù)字設(shè)計(jì),就如同使用匯編語(yǔ)言撰寫軟件程序一般。就執(zhí)行效率及所需的計(jì)算機(jī)內(nèi)存數(shù)量而言,匯編語(yǔ)言的程序或許是不錯(cuò)的實(shí)施,但它需要很長(zhǎng)時(shí)間的獲取及確認(rèn),而且不容易轉(zhuǎn)到另一臺(tái)計(jì)算機(jī)上。同樣,門級(jí)的表示方式也需要很長(zhǎng)的時(shí)間獲取及確認(rèn),轉(zhuǎn)移到新的代工廠或制程/技術(shù)節(jié)點(diǎn)也相當(dāng)困難。
至于軟件方面,開(kāi)發(fā)者的解決方案則以程序語(yǔ)言(如C語(yǔ)言)的形式,提升至另一個(gè)更高層次的抽象概念。然后,這些高級(jí)表達(dá)式可以編譯成計(jì)算機(jī)所需的機(jī)器級(jí)指令。這些高級(jí)表達(dá)式的優(yōu)點(diǎn)是,可容許軟件開(kāi)發(fā)者迅速而精準(zhǔn)地捕捉到程序的含義,確認(rèn)其功能。同時(shí),以C語(yǔ)言撰寫的程序可以很容易地轉(zhuǎn)移到其他的計(jì)算機(jī)平臺(tái)。
同樣,對(duì)于數(shù)字邏輯而言,設(shè)計(jì)工程師也開(kāi)始提升至更高階的抽象概念,稱之為“寄存器傳輸層”(Register Transfer Level,RTL)。在20世紀(jì)80~90年代初期登場(chǎng)的“邏輯綜合”(logic synthesis)則用來(lái)將RTL表示式編譯成對(duì)應(yīng)的門級(jí)網(wǎng)表(netlist)。這項(xiàng)“前端”綜合技術(shù)另以“后端”的自動(dòng)布局布線(place-and-route)引擎補(bǔ)其不足之處,后者可從門級(jí)網(wǎng)表,執(zhí)行設(shè)計(jì)的物理實(shí)現(xiàn)。
循著C語(yǔ)言程序在編譯后能用在不同計(jì)算機(jī)上的足跡,RTL與邏輯綜合的組合讓數(shù)字設(shè)計(jì)能更輕易地移植到新的代工廠或制程/技術(shù)節(jié)點(diǎn)。
模擬工具的演進(jìn)
實(shí)際上,模擬電路的計(jì)算機(jī)輔助設(shè)計(jì)與驗(yàn)證工具,在早期是優(yōu)于數(shù)字電路的。模擬電子系統(tǒng)設(shè)計(jì)在剛起步的時(shí)候,電子電路完全靠人工繪制。晶體管層的電路圖完全用紙筆及印刷模板以手工繪制,再搭配基本的“紙筆”分析及驗(yàn)證。
在設(shè)計(jì)由離散(獨(dú)立封裝)的元器件例如晶體管、電阻器、電容器及電感組成時(shí),通常是建立設(shè)計(jì)的實(shí)體原型,將它放上測(cè)試平臺(tái)(test bench),測(cè)量實(shí)際的數(shù)值,以判定性能優(yōu)異,然后參考元器件所得的數(shù)值,新增或移除所需的元器件,以達(dá)到期望的效果。
很顯然,這種方法在開(kāi)始建立第一片模擬IC時(shí)并不可行,因?yàn)镮C設(shè)計(jì)的工程變更代價(jià)非常昂貴。在20世紀(jì)60~70年代初期,有幾所大學(xué)及商業(yè)公司著手開(kāi)發(fā)模擬仿真器。這些程序讓學(xué)生及工程師得以仿真模擬電路,而無(wú)須實(shí)際付諸行動(dòng)制造。早期的幾個(gè)仿真器中,最有名的大概就是“SPICE”(Simulation Program with Integrated Circuit Emphasis),這套程序是由加州大學(xué)柏克萊分校所開(kāi)發(fā),并在70年代初期廣為流傳供大家使用。
隨著時(shí)間的演進(jìn),模擬仿真在基本模型及算法的復(fù)雜度,以及仿真引擎的能力與表現(xiàn)上,有顯著的發(fā)展。多數(shù)今日所使用的模擬工具都發(fā)祥成形于20世紀(jì)90年代的初期與中期。和其他不同的是,這些工具的基本結(jié)構(gòu)從未試圖支持混合信號(hào)設(shè)計(jì)環(huán)境的復(fù)雜需求,一如本文稍后章節(jié)的討論。
或許更重要的是,現(xiàn)今的模擬設(shè)計(jì)及驗(yàn)證工具在實(shí)質(zhì)上僅限于捕捉及模擬晶體管級(jí)的單線圖。到目前為止,有關(guān)自動(dòng)化的成功案例仍屬鳳毛麟爪,例如:
● 在高階抽象概念上描述模擬功能,然后用來(lái)生成等效的晶體管級(jí)電路。
● 自動(dòng)優(yōu)化模擬電路。
● 自動(dòng)布局布線模擬電路。
圖1 每道制程/技術(shù)節(jié)點(diǎn)以人工重新設(shè)計(jì)需要耗費(fèi)9~12個(gè)月
最終的結(jié)局是,模擬集成電路仍舊大多處于全定制,并以人工方式費(fèi)心費(fèi)力繪制。除了非常昂貴、耗時(shí)、容易出錯(cuò)以外,這類晶體管級(jí)的設(shè)計(jì)型態(tài)并不容許現(xiàn)有的設(shè)計(jì)簡(jiǎn)簡(jiǎn)單單地就能轉(zhuǎn)換到新的代工廠或制程/技術(shù)節(jié)點(diǎn)。相反的是,欲移植這類型的設(shè)計(jì)需要將電路重頭開(kāi)始,重新實(shí)施,耗時(shí)9~12個(gè)月是常有的事。
這也有助于說(shuō)明為何最尖端的數(shù)字設(shè)計(jì)目前已邁入32nm的技術(shù)節(jié)點(diǎn),但最先進(jìn)的模擬設(shè)計(jì)只在90nm節(jié)點(diǎn),而且大部分的模擬設(shè)計(jì)依然深陷在130nm及250nm節(jié)點(diǎn)的泥沼中,那算是5~10年前的老舊技術(shù)了。
模擬自動(dòng)化的要求
此處所說(shuō)的要求可以簡(jiǎn)要地說(shuō)明之;如何實(shí)際達(dá)成可說(shuō)非常地復(fù)雜。最低限度,強(qiáng)化后的模擬設(shè)計(jì)工具必須能提供與數(shù)字設(shè)計(jì)相類似的自動(dòng)化及生產(chǎn)力能力。這些自動(dòng)化能力應(yīng)包括但不限于以下:
● 在高階抽象概念下確認(rèn)模擬功能的能力,然后自動(dòng)將表示式編譯成等價(jià)的晶體管層級(jí)。
● 自動(dòng)執(zhí)行模擬精細(xì)改進(jìn)及優(yōu)化的能力。
● 自動(dòng)在IC上布局模擬零組件的能力。
● 自動(dòng)在IC上布線模擬零組件的能力。
● 從某制程/技術(shù)節(jié)點(diǎn)自動(dòng)移植模擬設(shè)計(jì)制程至另一個(gè),以及從某代工廠移植至另一家的能力。
從某方面來(lái)說(shuō),需考慮的最后一點(diǎn)就是所有其他點(diǎn)的疊合。老實(shí)說(shuō),需耗費(fèi)6~12個(gè)月才能將模擬設(shè)計(jì)轉(zhuǎn)移到新的技術(shù)節(jié)點(diǎn)早已令人無(wú)法接受。若能透過(guò)自動(dòng)化將此過(guò)程降低到僅需數(shù)天的時(shí)間,模擬功能即可享受到功耗及最新技術(shù)節(jié)點(diǎn)性能特征的完全優(yōu)勢(shì)。
混合信號(hào)的考慮
直到最近,大部分的集成電路在性質(zhì)上若不是純數(shù)字,就是純模擬。因此,很自然地,任何用來(lái)設(shè)計(jì)或驗(yàn)證這些器件所使用的計(jì)算機(jī)輔助設(shè)計(jì)工具,都是只為數(shù)字或只為模擬的領(lǐng)域單獨(dú)設(shè)計(jì)的。
圖2 模擬/全定制的生產(chǎn)力依靠集成化和自動(dòng)化的提高可以顯著地增加
初期的通信系統(tǒng)是由一大堆相當(dāng)簡(jiǎn)單的模擬及數(shù)字IC所組成。隨著時(shí)間的歷程,為了滿足多樣化的要求,例如尺寸、成本、功率、性能及可靠度,越來(lái)越多的功能結(jié)合在越來(lái)越少的芯片上。開(kāi)始只是將多種模擬功能合并在特定的模擬芯片上,將多種數(shù)字功能合并在數(shù)字芯片上。直到最近,終于將模擬及數(shù)字功能結(jié)合在單一的混合信號(hào)裝置上。
經(jīng)過(guò)這些年的發(fā)展,雖然傳統(tǒng)的模擬與數(shù)字設(shè)計(jì)及驗(yàn)證工具,在容量及性能上已有長(zhǎng)足地進(jìn)步,但其最基本的底層架構(gòu)大部分仍是以20世紀(jì)90年代中期的技術(shù)為基礎(chǔ),而這些工具依舊專注在模擬或數(shù)字的領(lǐng)域。舉一個(gè)簡(jiǎn)單的例子,模擬與數(shù)字的工具及流程使用不同的數(shù)據(jù)庫(kù),因此這兩個(gè)領(lǐng)域之間的交互非常困難。其結(jié)果是數(shù)字及模擬的設(shè)計(jì)團(tuán)隊(duì)向來(lái)都是井水不犯河水,甚少關(guān)注對(duì)方倒底是在研究什么。
即使是現(xiàn)代“最先進(jìn)”的混合信號(hào)及全定制設(shè)計(jì)環(huán)境,數(shù)字與模擬團(tuán)隊(duì)大多還是各自獨(dú)立作業(yè),甚少涉足到對(duì)方的領(lǐng)域中。在芯片最后整合(chip finishing)的階段,也就是將模擬模塊和數(shù)字模塊擺放在一起并走線的時(shí)候,兩個(gè)團(tuán)隊(duì)才首次見(jiàn)面并互相介紹認(rèn)識(shí),這種情況并不罕見(jiàn)。
芯片最后整合通常是以人工的方式執(zhí)行,其中發(fā)生在芯片投片之前的就有許多工作。由于缺少自動(dòng)化,芯片最后整合活動(dòng)及動(dòng)作常常不能反饋回原來(lái)的模塊設(shè)計(jì),這有可能導(dǎo)致成為下一代芯片在設(shè)計(jì)重用上產(chǎn)生問(wèn)題。
總結(jié)
最近幾年,市場(chǎng)上的需求著眼在通信系統(tǒng)日益增加的性能上,而且?guī)捳员稊?shù)的速度成長(zhǎng),然而許多產(chǎn)業(yè)觀察家相信,目前所看到的只不過(guò)是“冰山一角”。為了滿足目前及未來(lái)的需求,進(jìn)入21世紀(jì),模擬設(shè)計(jì)與驗(yàn)證工具必須在本文前述的自動(dòng)化能力上努力奮進(jìn)。然而,靠著孤立的方式強(qiáng)化模擬工具是不夠的;真正的要求將是一個(gè)真實(shí)、統(tǒng)一、全芯片的混合信號(hào)設(shè)計(jì),以及驗(yàn)證的環(huán)境。首先,所有的模擬與數(shù)字設(shè)計(jì),以及驗(yàn)證引擎應(yīng)使用統(tǒng)一的數(shù)據(jù)庫(kù)。其次,環(huán)境必須提供最大的容量及性能,例如將整個(gè)全芯片的數(shù)據(jù)在一分鐘之內(nèi)加載,并在短短數(shù)秒之內(nèi)重新繪制所有的模擬及數(shù)字層。第三,環(huán)境必須支持極為精確的寄生參數(shù)提取及全芯片混合信號(hào)仿真與分析。第四,在芯片最后整合階段,環(huán)境必須支持自動(dòng)全域布線。
通信業(yè)正在迅速接近這樣一個(gè)危機(jī),就是需要快速設(shè)計(jì)和制造大型復(fù)雜的混合信號(hào)器件方面的能力。當(dāng)今最先進(jìn)集成電路的設(shè)計(jì)師需要所有這些能力,他們現(xiàn)在就需要!
評(píng)論