新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 嵌入式SoCIC的設(shè)計(jì)方法和流程

嵌入式SoCIC的設(shè)計(jì)方法和流程

作者: 時(shí)間:2006-05-07 來(lái)源:網(wǎng)絡(luò) 收藏

摘要:在介紹SoC IC概念的基礎(chǔ)上,介紹基于重用(re-use)的SoC IC設(shè)計(jì)方法和流程,涉及滿足時(shí)序要求、版圖設(shè)計(jì)流程和測(cè)試設(shè)計(jì)的問(wèn)題,并給出設(shè)計(jì)計(jì)劃考慮項(xiàng)目。

本文引用地址:http://www.butianyuan.cn/article/241593.htm

關(guān)鍵詞:系統(tǒng) SoC 重用

一、系統(tǒng)集成芯片(SoC)是IC設(shè)計(jì)的發(fā)展趨勢(shì)

(1)隨著微電子技術(shù)和半導(dǎo)體工業(yè)的不斷創(chuàng)新和發(fā)展,超大規(guī)模集成電路和集成度和工藝水平不斷提高,深亞微米(deep-submicron)工藝,如0.18μm、0.13μm已經(jīng)走向成熟,使得在一個(gè)芯片上完成系統(tǒng)級(jí)的集成已成為可能。

(2)各種電子系統(tǒng)出于降低成本、減少體積的要求,對(duì)系統(tǒng)集成提出了更高的要求。

(3)高性能的EDA工具得到長(zhǎng)足發(fā)展,其自動(dòng)化和智能化程度不斷提高,為系統(tǒng)設(shè)計(jì)提供了功能強(qiáng)大的開(kāi)發(fā)集成環(huán)境。

(4)計(jì)算機(jī)硬件平臺(tái)性能大幅度提高,使得很復(fù)雜的算法和方便的圖形界面得以實(shí)現(xiàn),為復(fù)雜的SoC設(shè)計(jì)提供了物理基礎(chǔ)。

二、何為嵌入式SoC IC

SoC(System on Chip)是指集系統(tǒng)性能于一塊芯片上的系統(tǒng)級(jí)芯片。它通常含有一個(gè)微處理器核(CPU),有時(shí)再增加一個(gè)或多個(gè)DSP核,以及多個(gè)或幾十個(gè)的外圍特殊功能模塊和一定規(guī)模的存儲(chǔ)器(RAM、ROM)等。嵌入式SoC更是針對(duì)應(yīng)用所需的性能,將其設(shè)計(jì)在芯片上而成為系統(tǒng)操作芯片。芯片的規(guī)模常??梢赃_(dá)到數(shù)百萬(wàn)門(mén)甚至上千萬(wàn)門(mén)以上,所以嵌入式SoC是滿足應(yīng)用的系統(tǒng)級(jí)的集成電路產(chǎn)生,一方面要滿足復(fù)雜的系統(tǒng)性能的需要,另一方面也要滿足市場(chǎng)上日新月異的對(duì)新產(chǎn)品的需求,因此嵌入式SoC的設(shè)計(jì)也代替了高科技的設(shè)計(jì)方法和程序。只有在不斷地發(fā)展優(yōu)化下,嵌入式SoC才能提供設(shè)計(jì)周期短而性能優(yōu)異的產(chǎn)品。因此,要掌握芯片的設(shè)計(jì),就要了解其設(shè)計(jì)方法和流程。

三、嵌入式SoC IC的設(shè)計(jì)方法和流程

在介紹SoC IC的設(shè)計(jì)流程之前,先介紹一下“重用”的概念。

“重用”(re-use)指的是在設(shè)計(jì)新產(chǎn)品時(shí)采用已有的各種功能模塊,即使進(jìn)行修改也是非常有限的,這樣,可以減少設(shè)計(jì)人力和風(fēng)險(xiǎn),縮短設(shè)計(jì)周期,確保優(yōu)良品質(zhì)。

SoC IC的設(shè)計(jì)原則,就是盡可能重用各種功能模塊并集成為所需的系統(tǒng)級(jí)芯片。讀到設(shè)計(jì)重用,必須對(duì)重用時(shí)需要考慮的因素作一些說(shuō)明。首先,重用的功能模塊要有詳盡的說(shuō)明書(shū),對(duì)模塊的功能和適用范圍以及芯片集成時(shí)的總線接口進(jìn)行說(shuō)明。其次,要提供該模塊過(guò)去已實(shí)現(xiàn)的生產(chǎn)工藝。第三,要提供用于測(cè)試該模塊的測(cè)試程序及測(cè)試平臺(tái)。最后,也是最重要的,就是模塊的設(shè)計(jì)內(nèi)核。通常提供的設(shè)計(jì)分為“軟模塊”和“硬模塊”兩種?!败浤K”只提供RTL語(yǔ)言描述,可以用EDA綜合工具產(chǎn)生電路。它的優(yōu)點(diǎn)是比較靈活,可以根據(jù)不同的生產(chǎn)工藝產(chǎn)生對(duì)應(yīng)的電路。“硬模塊”提供的是已經(jīng)完成的電路物理設(shè)計(jì)(physical design),也就是版圖的設(shè)計(jì)(layout)。它的缺點(diǎn)是一旦生產(chǎn)工藝改變就不能夠再使用了,即使是在采用同樣生產(chǎn)工藝的情況下,由于模塊的物理尺寸已經(jīng)確定因而也影響了布局(floor-plan)的靈活性;它的優(yōu)點(diǎn)是在設(shè)計(jì)采用同樣生產(chǎn)工藝的產(chǎn)品并且其物理尺寸不影響芯片布局的情況下,能夠直接采用,不用重新設(shè)計(jì)。由于半導(dǎo)體工藝發(fā)展極快,通常重用“軟模塊”比較多。

目前,在歐洲和北美已經(jīng)在產(chǎn)業(yè)界形成了基于IP(Interllectual Property)總線模塊的重用標(biāo)準(zhǔn),對(duì)于重用的各個(gè)因素都有明確的規(guī)定。我國(guó)的IC設(shè)計(jì)產(chǎn)業(yè)正在迅速發(fā)展,應(yīng)該盡快建立自己的重用標(biāo)準(zhǔn),與國(guó)際接軌。

通常SoC IC的設(shè)計(jì)方法有兩種:一種是基于模塊(module-based)的設(shè)計(jì)方法,另一種是“門(mén)?!保╯ea-of-cell)的設(shè)計(jì)方法。

Module-based的設(shè)計(jì)方法是指各個(gè)單元模塊完成各自的RTL和電路綜合以及版圖設(shè)計(jì),然后,在頂層完成整個(gè)芯片的版圖設(shè)計(jì)。這種方法的優(yōu)點(diǎn)是當(dāng)個(gè)別模塊進(jìn)行修改進(jìn),不會(huì)對(duì)整個(gè)芯片的設(shè)計(jì)產(chǎn)生較大的影響。它的設(shè)計(jì)流程如圖1所示。

Sea-of-cell的設(shè)計(jì)方法指的是在各個(gè)單元模塊完成RTL后,直接對(duì)整個(gè)芯片進(jìn)行綜合,產(chǎn)生整個(gè)芯片的網(wǎng)表,然后,完成整個(gè)芯片的版圖設(shè)計(jì)。它的優(yōu)點(diǎn)是能夠節(jié)省芯片面積,缺點(diǎn)是一旦某個(gè)模塊修改了,整個(gè)芯片要重新做綜合和版圖設(shè)計(jì)。它的設(shè)計(jì)流程如圖2所示。

四、SoC IC滿足的時(shí)序要求

無(wú)論采用如種設(shè)計(jì)方法和流程,確保芯片的工作時(shí)序要求始終是芯片設(shè)計(jì)的核心問(wèn)題。好的設(shè)計(jì)方法和流程,應(yīng)該在芯片設(shè)計(jì)和初級(jí)階段對(duì)整個(gè)芯片進(jìn)行時(shí)序的控制和分配,以便減少因時(shí)序問(wèn)題造成的反復(fù)修改。

由于SoC IC的規(guī)模一般都非常大,因此各個(gè)模塊用于綜合(synthesis)的約束條件必須基于整個(gè)芯片的時(shí)序要求來(lái)產(chǎn)生,才不至于對(duì)整個(gè)芯片的Timing產(chǎn)生影響。Synopsys公司的Design Budgeting工具能夠根據(jù)芯片頂層的約束條件對(duì)整個(gè)芯片以及子模塊的約束和時(shí)序進(jìn)行分配和控制,并且產(chǎn)生以此為基礎(chǔ)的各個(gè)子模塊的約束條件用于電路綜合,由于芯片頂層以及模塊之間的時(shí)序已經(jīng)得到平衡考慮,許多時(shí)序問(wèn)題(timing violations)已經(jīng)預(yù)先得到控制,能夠減少后期對(duì)設(shè)計(jì)進(jìn)行反復(fù)修改的次數(shù)。

在對(duì)電路進(jìn)行驗(yàn)證(verify)的時(shí)候,除了驗(yàn)證功能正確外,還要驗(yàn)證工作時(shí)序的正確性。通常的方法是編寫(xiě)專(zhuān)門(mén)的測(cè)試程序,運(yùn)行EDA仿真工具來(lái)完成,這通常稱(chēng)為動(dòng)態(tài)仿真(dynamic simulation)。由于SoC IC的規(guī)模比較大,仿真(simulation)運(yùn)行的時(shí)間比較長(zhǎng),尤其是在完成版圖設(shè)計(jì)后做后仿真(postlayout simulation)的時(shí)候,因此,我們要引入靜態(tài)時(shí)序分析的方法(static timing analysis)。它是從電路的連接和布線上來(lái)推測(cè)貪污傳輸?shù)臅r(shí)序,因此當(dāng)電路的工作時(shí)鐘和約束條件確定后,電路中信號(hào)傳輸時(shí)的設(shè)定時(shí)間(setup time)和保持時(shí)間(hold time)也已經(jīng)確定,通過(guò)靜態(tài)時(shí)序分析就可以把那些不滿足要求的路徑或電路單元找出來(lái),提供修改設(shè)計(jì)的依據(jù)。它的特點(diǎn)是運(yùn)行時(shí)間遠(yuǎn)遠(yuǎn)少于動(dòng)態(tài)仿真。許多電路的時(shí)序問(wèn)題可以預(yù)先發(fā)現(xiàn)而不用等到動(dòng)態(tài)仿真完成,因而可以幫助我們縮短設(shè)計(jì)周期。常用的設(shè)計(jì)工具有Synopsys公司的Primetime和Cadence公司的Pearl。

五、版圖設(shè)計(jì)

對(duì)于復(fù)雜的SoC IC,其版圖設(shè)計(jì)(layout)也是非常復(fù)雜的。隨著半導(dǎo)體工藝的越來(lái)越精密,芯片的規(guī)模越來(lái)越大,版圖布線的負(fù)荷已成為主要的時(shí)序影響因素,所以自動(dòng)布局布線的時(shí)序分析成為設(shè)計(jì)的重點(diǎn)。無(wú)論采用module-based的設(shè)計(jì)方法還是sea-of-cell的方法,最好要采用時(shí)序驅(qū)動(dòng)(timing driven)的版圖設(shè)計(jì)方式,這樣,可以確保前端各個(gè)層次的設(shè)計(jì)約束條件延伸到物理設(shè)計(jì)(physical design)中去。具體做法是將綜合電路的約束條件轉(zhuǎn)化為L(zhǎng)ayout工具可以識(shí)別的格式,用來(lái)驅(qū)動(dòng)Layout工具完成設(shè)計(jì)。此外,為了保證電路的時(shí)鐘到達(dá)各時(shí)序單元的時(shí)間的一致性,需要在各時(shí)鐘路徑上插入時(shí)鐘樹(shù)(clocktree),通過(guò)一定的約束條件,Layout工具可以通過(guò)平衡時(shí)鐘路徑之間的差異(skew),自動(dòng)完成時(shí)鐘樹(shù)的生成。通常的版圖設(shè)計(jì)流程如圖3所示。

最后,當(dāng)布局布線完成之后,還要做DRC和LVS的檢查。DRC(Design Rule Check)是檢查版圖設(shè)計(jì)定否符號(hào)生產(chǎn)工藝的物理規(guī)則要求;LVS(Layout Versus Schematic)是檢查版圖設(shè)計(jì)是否與電路設(shè)計(jì)一致。只有當(dāng)這兩項(xiàng)檢查都通過(guò)后,版圖設(shè)計(jì)的工作才算完成。我們通常采用Cadence或Avanti公司的Layout檢查工具。

需要強(qiáng)調(diào)一點(diǎn)的是,雖然在設(shè)計(jì)開(kāi)始時(shí)設(shè)定了芯片頂層及模塊間的時(shí)序約束條件和時(shí)鐘樹(shù),也采用了動(dòng)態(tài)仿真和靜態(tài)時(shí)序分析以及時(shí)序驅(qū)動(dòng)的版圖設(shè)計(jì)方法;但是,由于SoC IC設(shè)計(jì)的復(fù)雜和困難,通常以設(shè)計(jì)工程師和工具合作也要經(jīng)過(guò)多次反復(fù)修改才能成功,超過(guò)10次的也不少見(jiàn)。所以,在設(shè)計(jì)開(kāi)始前應(yīng)作好設(shè)計(jì)周期的計(jì)劃。

再要一提的是,當(dāng)生產(chǎn)工藝小于0.35μm以下時(shí),尤其在采用同步電路設(shè)計(jì)方法時(shí),因?yàn)椴季€而造成的時(shí)序差異和延遲常常超過(guò)模塊中電路設(shè)計(jì)的差異和延遲。因此,在Layout時(shí)對(duì)布局設(shè)計(jì)和時(shí)鐘樹(shù)生成需要仔細(xì)考慮。Layout完成后的時(shí)序分板是做好設(shè)計(jì)的關(guān)鍵。這也是選擇基于模塊設(shè)計(jì)方法或是“門(mén)?!痹O(shè)計(jì)方法時(shí)要考慮的因素之一。

對(duì)于深亞微米的版圖設(shè)計(jì),還有兩個(gè)因素要考慮。一個(gè)是當(dāng)走線過(guò)長(zhǎng)時(shí)產(chǎn)生的天線效應(yīng)(antennaeffect)會(huì)對(duì)電路的時(shí)序產(chǎn)生影響。解決的辦法是在長(zhǎng)走線中插入天線二極管(antenna diode),用于抵消天線效應(yīng)。另一個(gè)情況是當(dāng)兩條平行的走線非常靠近的時(shí)候,它們之間的偶合效應(yīng)會(huì)產(chǎn)生交叉干擾(cross-talk),也會(huì)對(duì)電路的時(shí)序造成不利影響。解決的辦法是在線路中加入buffer來(lái)克服,采用Cadence公司的Signal Integrity工具可以分析出交叉干擾出現(xiàn)的電路部分并結(jié)合Layout工具自動(dòng)完成buffer的插入。

對(duì)于模塊電路的版圖設(shè)計(jì),現(xiàn)在還無(wú)法采用上述的自動(dòng)布局面線方法而需要人工完成,因而設(shè)計(jì)的時(shí)間和工作量比較大,這一點(diǎn)在作計(jì)劃時(shí)也要考慮。

芯片端口(I/O PAD)的設(shè)計(jì)也是SoC IC設(shè)計(jì)的重點(diǎn),除了要考慮靜電保證ESD、驅(qū)動(dòng)能力等因素外,還要考慮到當(dāng)兩個(gè)PAD靠得很近的時(shí)候,它們之間的耦合效應(yīng)會(huì)形成寄生三極管(parasitic transistor)效應(yīng),影響I/O PAD的正常功能。

SoC IC通常都是數(shù)?;旌想娐?,版圖設(shè)計(jì)的核心是防止噪聲干擾。通常要從兩個(gè)方面來(lái)考慮:一是在布局時(shí)盡量使相互容易受干擾的模塊分開(kāi)得遠(yuǎn)一些;二是數(shù)字電路和模擬電路要采用不同的電源和布線。

六、SoC IC的測(cè)試設(shè)計(jì)DFT(Design For Test)

芯片的測(cè)試,一方面是為了保證芯片的質(zhì)量和可靠性,另一方面也要滿足低成本的生產(chǎn)目的。過(guò)去,傳統(tǒng)的測(cè)試方法是把我們用于功能仿真的測(cè)試程序轉(zhuǎn)化為生產(chǎn)測(cè)試程序輸入測(cè)試儀器。它的缺點(diǎn)是測(cè)試時(shí)間長(zhǎng),尤其是高覆蓋率(test coverage)的要求下,對(duì)于大規(guī)模的SoC IC,其成本將非常高?,F(xiàn)在,通常采用插入測(cè)鏈(scan chain)的方法,使得芯片中的時(shí)序單元在測(cè)試模式下連接成移位寄存器(shift register),然后,采用ATPG(Automatic Test Pattern Generator)工具產(chǎn)生的測(cè)試向量,能夠有效地對(duì)芯片完成測(cè)試。測(cè)試時(shí)間大大縮短,也能達(dá)到高于90%的覆蓋率,保證產(chǎn)品的品質(zhì)和可靠性。許多EDA工具如Synopsys公司的Design Compiler和Mentor公司的DFT Aduvisor/Fastscan都可以幫助完成這一工作,自動(dòng)化程序相當(dāng)高。當(dāng)然,這一方法的代價(jià)是會(huì)增加芯片的面積。需要指出的是,采用插入測(cè)試鏈的方法只適用于同步電路設(shè)計(jì),而且在電路的RTL設(shè)計(jì)階段就要把這一因素考慮進(jìn)去。對(duì)于異步電路的測(cè)試主要還是通過(guò)功能測(cè)試完成。

由于SoC IC比較復(fù)雜,芯處中需要設(shè)有專(zhuān)門(mén)的測(cè)試控制模塊(test control module),將整個(gè)芯片分為若干個(gè)測(cè)試組,每個(gè)部分都有獨(dú)立的測(cè)試鏈完成測(cè)試。結(jié)合若干個(gè)芯片端口完成整個(gè)芯片的測(cè)試控制。

結(jié)束語(yǔ)

好的開(kāi)始是成功的一半。在開(kāi)始時(shí)要做好設(shè)計(jì)計(jì)劃。計(jì)劃項(xiàng)目列舉于下,以作參考。

設(shè)計(jì)計(jì)劃考慮項(xiàng)目:

Product Design specification(產(chǎn)品設(shè)計(jì)規(guī)格書(shū))

Design methodology and EDA tools selection(設(shè)計(jì)方法和設(shè)計(jì)工具的選擇)

Database structure(and choose a Database Manager)(設(shè)計(jì)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu))

Naming convertion(命名規(guī)范)

IP Module re-use consideration (IP模塊重用的考慮)

Test plan(測(cè)試計(jì)劃)

Chip Integration plan(整個(gè)芯片的集成計(jì)劃)

Design schedule(設(shè)計(jì)時(shí)間表)

Design Resources requirement plan(設(shè)計(jì)的人力和軟硬件需求計(jì)劃)

Detail design task check off list。(詳盡的設(shè)計(jì)任務(wù)完成情況檢查表)

SoC IC成為現(xiàn)代電子系統(tǒng)的核心已是不爭(zhēng)的事實(shí)??偠灾?,SoC IC的設(shè)計(jì)方法和流程是一個(gè)不斷演變和改進(jìn)的過(guò)程,有效利用“重用”功能模塊和強(qiáng)大EDA工個(gè)的支持是SoC IC設(shè)計(jì)的基礎(chǔ),而采用好的設(shè)計(jì)方法和流程、解決好Timing Closure和Testability是SoC IC設(shè)計(jì)的核心。同時(shí),我們借此機(jī)會(huì)呼吁業(yè)界同仁的支持和鼓勵(lì),盡快設(shè)立中國(guó)的IP模塊重用標(biāo)準(zhǔn),使國(guó)內(nèi)嵌入式系統(tǒng)和SoC設(shè)計(jì)能很快得到普及。

linux操作系統(tǒng)文章專(zhuān)題:linux操作系統(tǒng)詳解(linux不再難懂)


評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉