劉明艷
(湖北科技學(xué)院,湖北咸寧,437100)
對于集成電路來說,又被稱作芯片和微電路,它是一種新型的半導(dǎo)體元器件,它主要通過具備相應(yīng)功能電路內(nèi)所需電容、電阻、半導(dǎo)體和電感等構(gòu)成,并通過光刻、氧化、擴(kuò)散、蒸餾和外延等制造的工藝在小硅片中實現(xiàn)有效集成。在集成電路的設(shè)計中,主要是將集成的電路產(chǎn)品實現(xiàn)具體化,將電路各項的性能進(jìn)行具體的物理版圖轉(zhuǎn)化。目前最先進(jìn)集成電路,在微處理器、多核的處理器中具有核心作用,它能夠?qū)κ謾C(jī)、電腦和數(shù)字設(shè)備等實現(xiàn)全面控制。盡管集成電路設(shè)計所學(xué)成本比較高,但把集成電路在所需各個產(chǎn)品中分散,就能夠?qū)呻娐返母鳟a(chǎn)晶成本實現(xiàn)控制,進(jìn)而降低其設(shè)計的成本。對集成電路設(shè)計中,要按照電路功能以及性能的實際要求,對系統(tǒng)的配置、元件的結(jié)構(gòu)、電路的形式、工藝的方法等正確選擇,并對芯片面積盡可能減少,對設(shè)計成本進(jìn)行控制,并縮短設(shè)計的周期,確保全局的優(yōu)化布置。在集成電路設(shè)計中,有分層分級的設(shè)計、模塊化的設(shè)計思路。其中模塊化的設(shè)計主要是把集成電路認(rèn)為是由大量相關(guān)模塊、單元構(gòu)建;而分層分級的設(shè)計主要是把高復(fù)雜性電路進(jìn)行逐級分解,讓其變成低復(fù)雜性級別,一直到將設(shè)計的級別實現(xiàn)最低復(fù)雜性的分解效果[1]。
在集成電路的設(shè)計中,常用的設(shè)計方法主要有全定制、半定制的設(shè)計法。
對半定制的設(shè)計法,其完整流程主要包括電路圖的繪制、電路的仿真、生成版圖、DRC的檢查、提取寄生參數(shù)、LVS的檢查、后仿真等,如圖1。
圖1 全定制的設(shè)計流程圖
2.1.1 電路圖的繪制
在電路圖的繪制中,可以選擇Schematic Capture的繪制工具,它能更提供門級以及晶體管級繪制的功能,完成此步驟后,能夠生成出網(wǎng)表文件的供電路,來供仿真使用。
2.1.2 電路的仿真
此步驟主要對電路的仿真器調(diào)用,比如SPECTRE和HSPICE等,對電路實施仿真,對電路內(nèi)各項的電性指標(biāo)驗證,看其是否滿足規(guī)格的說明書要求。在集成的設(shè)計環(huán)境內(nèi),用戶能夠借助配置對此類仿真器自由選擇和使用,能夠方便借助HSPICE進(jìn)行仿真,但前提要求生成出HSPICE的格式類型網(wǎng)表[2]。
2.1.3 生成版圖
版圖生成的途徑主要有兩種,一種是通過手工繪制,還有一種是自動進(jìn)行生成,所生成文件一般是GDSII或者CIF的格式,它們都是國際標(biāo)準(zhǔn)的格式。
2.1.4 DRC的檢查
在完成版圖的生成后,要對設(shè)計規(guī)則進(jìn)行檢查,其是一些通過特定制造的工藝水平而確定出的規(guī)則,比如metal到metal最小的間距、metal最大的寬度、poly到poly contact最小的間距等。
2.1.5 提取寄生參數(shù)
完成對版圖DRC的檢查后,要對此電路內(nèi)寄生參數(shù)提取,來實現(xiàn)對現(xiàn)實芯片工作的情形較為精確性模擬。寄生的參數(shù)主要有寄生電阻、寄生電容等,在高頻的電路設(shè)計時,還要對寄生電感提取[3]。
2.1.6 LVS的檢查
LVS的檢查主要是對原來電路圖內(nèi)拓?fù)渚W(wǎng)絡(luò)和從版圖內(nèi)提取出拓?fù)涞慕Y(jié)構(gòu)進(jìn)行比較,證明出二者呈現(xiàn)完全等價性。
2.1.7 后仿真
在后仿真輸入中,其包含了原始的電路信息和寄生的信息網(wǎng)表,和真實的電路網(wǎng)表文件最為接近。在后仿真處理后,能夠得到此設(shè)計真實性性能,如功耗、延時、時序和邏輯功能等信息,此過程對整個設(shè)計的成功與否進(jìn)行驗證。如果不符合實際規(guī)格的說明書,則要求從頭開始,對新一輪設(shè)計的流程走完。
對半定制的設(shè)計法,其完整流程主要包括RTL代碼(寄存器的轉(zhuǎn)換級別電路)的輸入、HDL的功能模擬仿真、RTL邏輯的綜合、電路形式的驗證、靜態(tài)時序的分析、功耗和噪聲的分析、物理綜合和仿真的驗證,如圖2。
圖2 半定制的方法流程圖
2.2.1 RTL的設(shè)計
先對SPEC(規(guī)格的說明書)定義,完成定義后,通過systemC、systemverilog等進(jìn)行高層次性建模語言實施高層系統(tǒng)的設(shè)計。后對RTL進(jìn)行設(shè)計,通過硬件的描述性語言,如HDL、VHDL等對芯片RTL級邏輯功能進(jìn)行設(shè)計。
2.2.2 HDL的功能模擬仿真
通過HDL的語言把設(shè)計規(guī)范進(jìn)行RTL級行為的描述轉(zhuǎn)化后,要構(gòu)建出一組測試的程序,來對HDL實施模擬仿真,對行為描述和設(shè)計的規(guī)范以及產(chǎn)品需求的說明一致性實施驗證。通過對一組測試的向量設(shè)定,從底向上對各層模塊聯(lián)系構(gòu)建,于每一層次實現(xiàn)迭代的模擬,一直到證明出行為正確為止[4]。
2.2.3 RTL邏輯的綜合
此步驟把RTL的代碼轉(zhuǎn)變?yōu)橥ㄓ玫拈T以及寄存器,后對邏輯實施優(yōu)化,實現(xiàn)速度以及芯片面積的改善。此階段一般會進(jìn)行DFT代碼的鍵入,便于幫助測試的制造。測試的插入使用到兩種基本的技術(shù),有ATPG(自動測試的模式生成技術(shù))和BIST(內(nèi)建測試技術(shù))。
2.2.4 形式的驗證
此步驟主要對綜合所生成網(wǎng)表同和最初行為級內(nèi)HDL的描述是否具有等價性實施驗證,因為HDL內(nèi)含糊性的描述可能造成綜合器出現(xiàn)網(wǎng)表的錯誤情況。此步驟一般存在兩類策略,其中一種是把HDL的模擬重新做一次,對行為級與結(jié)構(gòu)級的網(wǎng)表是否相同檢查;另一種是形式驗證的方式,主要通過形式驗證的工具,對兩種描述邏輯的等價性進(jìn)行比較[5]。
2.2.5 靜態(tài)時序的分析
此階段中,假定門級的描述與最初HDL的行為級在描述中呈現(xiàn)等價性,對設(shè)計時序檢查看其是否滿足具體要求。往往通過時序的分析器對靜態(tài)時序進(jìn)行分析,它通過單元庫內(nèi)門的基本性時序?qū)o態(tài)時序進(jìn)行分析,一般會對最大延遲以及最小延遲檢查,對所有時序的路徑評估。在超過時序的要求路徑中,要對原來Verilog的代碼修改,使用更好的邏輯設(shè)計與流片技術(shù)對延時改善。
2.2.6 功耗和噪聲的分析
此環(huán)節(jié)在模擬器中進(jìn)行一組特殊性測試向量的運行,并對每個節(jié)點中每個時鐘的跳變時總開關(guān)的電容計算。如果功耗太高,要返回到設(shè)計體系的結(jié)構(gòu)進(jìn)行一級RTL的設(shè)計,對解決方案重新考慮。
2.2.7 物理綜合
此環(huán)節(jié)是對版圖的自動生成,以上一步所生成結(jié)構(gòu)的網(wǎng)表當(dāng)作輸入,而產(chǎn)生物理的版圖。
2.2.8 仿真驗證
最后通過仿真來對最終設(shè)計后的時序、功耗以及噪聲等進(jìn)行驗證,看其是夠滿足SPEC具體的要求,如果不滿足,需要對上述流程進(jìn)行幾次迭代處理。
對于IP設(shè)計的技術(shù)來說,主要是將IP當(dāng)作核心進(jìn)行設(shè)計,是以0.35umCMOS的工藝技術(shù)和EDA的技術(shù)為基礎(chǔ)而產(chǎn)生,它對設(shè)計重用以及軟硬件的協(xié)同設(shè)計十分重視。對同一種的單一性用途的模塊開采中,具有的工作量超過集成一可高度性復(fù)用模塊的工作量十倍之多,則IP設(shè)計的技術(shù)能夠產(chǎn)生的利益也超過十倍。
此設(shè)計方法主要包括的內(nèi)容有系統(tǒng)的設(shè)計、對IP模塊的設(shè)計、IP任務(wù)的驗證、對BFM的驗證、對IP總線的接口設(shè)計和驗證、對系統(tǒng)的集成等。此設(shè)計方法的關(guān)鍵在于對OCB(片上總線)的建立,要確保OCB具有良好的正確性、靈活性、高效性和可重用性。在IP設(shè)計中,要選擇標(biāo)準(zhǔn)性接口、可驗證以及可重用性策略,且進(jìn)行精確化IP模型的提供。通過IP技術(shù)的運用,能夠?qū)υO(shè)計周期有效減少,對設(shè)計成本和設(shè)計風(fēng)險實現(xiàn)控制。
我國對IP產(chǎn)業(yè)發(fā)展十分重視,業(yè)內(nèi)對IP設(shè)計的技術(shù)也是不斷研究,這也推動了此設(shè)計方法的發(fā)展。為了使芯片設(shè)計具有良好可重用性特點,對庫中核開發(fā)中要遵循可重用性的設(shè)計要求,其主要的原則包括:核一定要容易在整個芯片設(shè)計中集成;要求核一定要強(qiáng)壯,可以對核的內(nèi)部采取一定功能性的驗證操作[6]。
此設(shè)計法中,一般涉及到軟IP核的設(shè)計和硬IP核的設(shè)計。其中軟IP因為是一種基于可綜合性RTL的代碼交付類型的核,則RTL的代碼編寫要遵循簡單性、編碼方式的一致性、劃分的規(guī)則性、易讀易懂等原則。在硬IP核的設(shè)計中,此方法和軟IP核相比較為復(fù)雜,且程序也比較復(fù)雜,一定要注意硬核接口的設(shè)計,在對接口設(shè)計中,要注重端口時序的一致性以及輸出端口的驅(qū)動選擇等問題,對輸出的驅(qū)動要按照具體的設(shè)計要求進(jìn)行合理選擇。