IC設(shè)計(jì)總結(jié)文檔_第1頁
IC設(shè)計(jì)總結(jié)文檔_第2頁
IC設(shè)計(jì)總結(jié)文檔_第3頁
IC設(shè)計(jì)總結(jié)文檔_第4頁
IC設(shè)計(jì)總結(jié)文檔_第5頁
已閱讀5頁,還剩97頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

L1微電子技術(shù)概述

i.i.i集成電路的發(fā)展

回顧全球集成電路發(fā)展的路程,基本上可以總結(jié)為六個階段:

第一階段:1962年制造出包含12個晶體管的小規(guī)模集成電路(SSI,Small-Scale

Integration)o

第二階段:1966年發(fā)展到集成度為100~1000個晶體管的中規(guī)模集成電路(MSI,

Medium-ScaleIntegration)<>

第三階段:1967~1973年,研制出1000~100000個晶體管的大規(guī)模集成電路(LSI)

Large-ScaleIntegration)<>

第四階段:1977年研制出在30平方毫米的硅晶片上集成15萬個晶體管的超大規(guī)模集

成電路(VLSI,VeryLarge-ScaleIntegration)?這是電子技術(shù)的第4次重大突破,從此真正邁

入了微電子時代。

第五階段:1993年隨著集成了1000萬個晶體管的16MBFLASH和256MBDRAM的研制

成功,進(jìn)入了特大規(guī)模集成電路(ULSI,UltraLarge-ScaleIntegration)時代。

第六階段:1994年由于集成1億個元件的1GBDRAM的研制成功,進(jìn)入巨大規(guī)模集成

電路(GSI>GigaScaleIntegration)時代。

1.1.2集成電路產(chǎn)業(yè)分工

微電子技術(shù)的迅速發(fā)展得益于集成電路產(chǎn)業(yè)內(nèi)部的細(xì)致分工。目前,集成電路產(chǎn)業(yè)鏈主

要包括設(shè)計(jì)、制造、封裝和測試,如圖所示。在這歷史過程中,世界IC產(chǎn)業(yè)為適應(yīng)技術(shù)的

發(fā)展和市場的需求,其產(chǎn)業(yè)結(jié)構(gòu)經(jīng)歷了3次重大變革。

1、以生產(chǎn)為導(dǎo)向的初級階段

20世紀(jì)60年代的集成電路產(chǎn)業(yè)就是半導(dǎo)體產(chǎn)業(yè),IC設(shè)計(jì)只是附屬產(chǎn)品.70年代出現(xiàn)

獨(dú)立的IC廠家設(shè)計(jì)IC產(chǎn)品。

2、Foundry與Fabless設(shè)計(jì)公司的崛起

20世紀(jì)80年代,工藝設(shè)備生產(chǎn)能力已經(jīng)相當(dāng)強(qiáng)大,但是費(fèi)用十分昂貴,IC廠家自己的

設(shè)計(jì)不足以供其飽和運(yùn)行,因此開始承接對外加工,繼而山部分到全部對外加工,形成了

Foundry加工和Fabless設(shè)計(jì)的分工。

Foundry:芯片代工廠的簡稱,不搞設(shè)計(jì),沒有自己的IC產(chǎn)品,為Fabless提供完全意

義上的代工,這使得Fabless可以放心地把產(chǎn)品交給Foundry而無需擔(dān)心知識產(chǎn)權(quán)外流。

Fabless:半導(dǎo)體集成電路行業(yè)中無生產(chǎn)線設(shè)計(jì)公司的簡稱。Fabless開拓市場后進(jìn)行產(chǎn)

品設(shè)計(jì),將設(shè)計(jì)的成果外包給Foundry廠家進(jìn)行芯片生產(chǎn),生產(chǎn)出來的芯片經(jīng)過封裝測試后

由設(shè)計(jì)公司自己銷售。

3、“四業(yè)分離”的IC產(chǎn)業(yè)

20世紀(jì)90年代,IC產(chǎn)業(yè)結(jié)構(gòu)開始向高度專業(yè)化轉(zhuǎn)變,開始形成設(shè)計(jì)、制造、封裝、測

試獨(dú)立成型的局面。

這次分工的另?個特征是:系統(tǒng)設(shè)計(jì)和IP(知識產(chǎn)權(quán))設(shè)計(jì)開始分工,它對集成電路產(chǎn)

業(yè)的影響不亞于20世紀(jì)80年代Foundry與Fabless的分工。

集成電路生產(chǎn)商設(shè)計(jì))制造>封裝>市^跖)

1.2SoC概述

隨著設(shè)計(jì)與制造技術(shù)的發(fā)展,集成電路設(shè)計(jì)從晶體管的集成發(fā)展到邏輯門的集成,現(xiàn)在

又發(fā)展到IP的集成,即SoC(System-on-a-Chip)設(shè)計(jì)技術(shù),SoCdesign=systemarchitecture+IC。

在經(jīng)過了多年的爭論后,專家們就SoC的定義達(dá)成了一致意見。這個定義雖然不是非

常嚴(yán)格,但明確地表明了SoC的特征:

①實(shí)現(xiàn)復(fù)雜系統(tǒng)功能的VLSI;采用超深亞微米工藝技術(shù);

②使用一個以上嵌入式CPU/數(shù)字信號處理器(DSP);

③外部可以對芯片進(jìn)行編程;

注:晶圓:指硅半導(dǎo)體集成電路所用的硅晶片,由于其形狀為圓形,故稱為晶圓,晶

圓是生產(chǎn)集成電路所用的載體。晶圓越大,同一圓片上可生產(chǎn)的IC就越多,可降低成本;

但對材料技術(shù)和生產(chǎn)技術(shù)的要求更高,一般認(rèn)為硅晶圓的直徑越大,代表這座晶圓廠有更

好的技術(shù),在生產(chǎn)晶圓的過程當(dāng)中,良品率是很重要的條件。

工藝等級:通常把0.8?0.35um稱為亞微米,0.25um及其以下稱為深亞微米,0.18um

或以下稱為超深亞微米,0Q5um及其以下稱為納米級。

SoC中包含了微處理器/微控制器、存儲器以及其他專用功能邏輯(DSP等),但并不

是包含了微處理器、存儲器以及其他專用功能邏輯的芯片就是SoC。SoC技術(shù)被廣泛認(rèn)同的

根本原因,并不在于SoC可以集成多少個晶體管,而在于SoC可以用較短時間被設(shè)計(jì)出來。

這是SoC的主要價值所在——縮短產(chǎn)品的上市周期,因此,SoC更合理的定義為:SoC是在

一個芯片上由于廣泛使用預(yù)定制模塊IP(lntellectualProperty)而得以快速開發(fā)的集成電路。

從設(shè)計(jì)上來說,SoC就是一個通過設(shè)計(jì)復(fù)用達(dá)到高生產(chǎn)率的硬件軟件協(xié)同設(shè)計(jì)的過程。從方

法學(xué)的角度來看,SoC是一套極大規(guī)模集成電路的設(shè)計(jì)方法學(xué),包括IP核可復(fù)用設(shè)計(jì)/測試

方法及接口規(guī)范、系統(tǒng)芯片總線式集成設(shè)計(jì)方法學(xué)、系統(tǒng)芯片驗(yàn)證和測試方法學(xué)。SoC是一

種設(shè)計(jì)理念,就是將各個可以集成在一起的模塊集成到一個芯片上,他借鑒了軟件的復(fù)用概

念,也有了繼承的概念。也可以說是包含了設(shè)計(jì)和測試等更多技術(shù)的一項(xiàng)新的設(shè)計(jì)技術(shù)。

SoC的一般構(gòu)成:

從大處來分,SoC含有:

1.邏輯核包括CPU、時鐘電路、定時器、中斷控制器、串并行接口、其它外圍設(shè)備、I/O

端口以及用于各種IP核之間的粘合邏輯等等;

2.存儲器核包括各種易失、非易失以及Cache等存儲器;

3.模擬核包括ADC、DAC、PLL以及一些高速電路中所用的模擬電路。

現(xiàn)在的SoC芯片上可綜合實(shí)現(xiàn)CPU、DSP、數(shù)字電路、模擬電路、存儲器、片上可編程

邏輯等多種電路:綜合實(shí)現(xiàn)圖像處理、語音處理、通信協(xié)議、通信機(jī)能、數(shù)據(jù)處理等功能。

SoC按用途可分為兩種類型:一種是專用SoC芯片,是專用集成電路(ASIC)向系統(tǒng)級

集成的自然發(fā)展;另?一種是通用SoC芯片,將絕大多數(shù)部件,如CPU、DSP、RAM、I/O等

集成在芯片上,同時提供用戶設(shè)計(jì)所需要的邏輯資源和軟件編程所需的軟件資源。

IP核是具有復(fù)雜系統(tǒng)功能的能夠獨(dú)立出售的VLSI塊,經(jīng)過驗(yàn)證并能在設(shè)計(jì)中復(fù)用的功

能模塊。

2SoC設(shè)計(jì)流程

2.1軟硬件協(xié)同設(shè)計(jì)

SoC通常被稱作系統(tǒng)級芯片或者片上系統(tǒng),作為一個完整的系統(tǒng),其包含硬件和軟件兩

部分內(nèi)容。這里所說的硬件指SoC芯片部分,軟件是指運(yùn)行在SoC芯片上的系統(tǒng)及應(yīng)用程序。

既然它是由軟件和硬件組合而成,則在進(jìn)行系統(tǒng)設(shè)計(jì)時,就必須同時從軟件和硬件的角度去

考慮。

軟硬件協(xié)同設(shè)計(jì)的SoC設(shè)計(jì)流程

一個完整的SoC設(shè)計(jì)包括系統(tǒng)結(jié)構(gòu)設(shè)計(jì)(也稱為架構(gòu)設(shè)計(jì)),軟件結(jié)構(gòu)設(shè)計(jì)和ASIC設(shè)

計(jì)(硬件設(shè)計(jì))。

SoC設(shè)計(jì)與傳統(tǒng)的ASIC設(shè)計(jì)最大的不同在于以下兩方面:

1)SoC設(shè)計(jì)更需要了解整個系統(tǒng)的應(yīng)用,定義出合理的芯片架構(gòu),使得軟硬件配合達(dá)

到系統(tǒng)最佳工作狀態(tài)。因而,軟硬件協(xié)同設(shè)計(jì)被越來越多地采用。

2)SoC設(shè)計(jì)是以IP復(fù)用或更大的平臺復(fù)用為基礎(chǔ)的。因而,基于IP復(fù)用的設(shè)計(jì)是硬件

實(shí)現(xiàn)的特點(diǎn)。

1.系統(tǒng)需求說明

系統(tǒng)設(shè)計(jì)首先從確定所需的功能開始,包含系統(tǒng)基本輸入和輸出及基本算法需求,以及

系統(tǒng)要求的功能、性能、功耗、成本和開發(fā)時間等。在這一階段,通常會將用戶的需求轉(zhuǎn)換

為用于設(shè)計(jì)的技術(shù)文檔,并初步確定系統(tǒng)的設(shè)計(jì)流程。

2.高級算法建模與仿真

設(shè)計(jì)者將使用如C和C++等高級語言創(chuàng)建整個系統(tǒng)的高級算法模型和仿真模型。目前,

一些EDA工具可以幫助我們完成這一步驟。有了高級算法模型,便可以得到軟硬件協(xié)同仿

真所需的可執(zhí)行的說明文檔。此類文檔會隨著設(shè)計(jì)進(jìn)程的深入而不斷地完善和細(xì)化。

3.軟硬件劃分過程

設(shè)計(jì)者通過軟硬件劃分來決定哪些功能應(yīng)該由硬件完成,哪些功能應(yīng)該由軟件來實(shí)現(xiàn)。

這是一個需要反復(fù)評估-修改直至滿足系統(tǒng)需求的過程。軟硬件劃分的合理性對系統(tǒng)的實(shí)現(xiàn)

至關(guān)重要。有些功能既可以用軟件實(shí)現(xiàn)也可以用硬件實(shí)現(xiàn),這取決于所要達(dá)到的性能指標(biāo)與

實(shí)現(xiàn)的復(fù)雜程度及成本口

4.軟硬件同步設(shè)計(jì)

由于軟硬件的分工已明確,芯片的架構(gòu)及同軟件的接口也已定義,接下來便可以進(jìn)行軟

硬件的同步設(shè)計(jì)了。其中硬件設(shè)計(jì)包括RTL設(shè)計(jì)和集成、綜合、布局布線及最后的流片。軟

件設(shè)計(jì)則包括算法優(yōu)化、應(yīng)用開發(fā),以及操作系統(tǒng)、接口驅(qū)動和應(yīng)用軟件的開發(fā)。

2.2下面主要介紹硬件(芯片)設(shè)計(jì):基于標(biāo)準(zhǔn)單元的SoC

芯片設(shè)計(jì)流程

1.硬件設(shè)計(jì)定義說明

硬件設(shè)計(jì)定義說明描述芯片總體結(jié)構(gòu)、規(guī)格參數(shù)、模塊劃分、使用的總線,以及各個模

塊的詳細(xì)定義等。

2.模塊設(shè)計(jì)及IP復(fù)用

根據(jù)所劃分出的功能模塊,確定需要重新設(shè)計(jì)的部分及可復(fù)用的IP核,對于需要重新

設(shè)計(jì)的模塊進(jìn)行設(shè)計(jì);對于可復(fù)用的IP核,通常由于總線接口標(biāo)準(zhǔn)不一致需要做一定的修

改。IP核可自主研發(fā)或者購買其他公司的IP。目前,設(shè)計(jì)的輸入是采用硬件描述語言(HDL),

如Verilog或VHDL,所以,數(shù)字模塊的設(shè)計(jì)通常稱為RTL代碼編寫。

3.頂層模塊集成

頂層模塊集成是將各個不同的功能模塊,包括新設(shè)計(jì)的與復(fù)用的整合在一起,形成一個

完整的設(shè)計(jì)。通常采用硬件描述語言對電路進(jìn)行描述,其中需要考慮系統(tǒng)時鐘/復(fù)位、I/O環(huán)

等問題。

4.前仿真

前仿真也叫RTL級仿真,功能仿真。通過HDL仿真器驗(yàn)證電路邏輯功能是否有效,及

HDL描述是否符合設(shè)計(jì)所定義的功能期望。在前仿真時,通常與具體的電路物理實(shí)現(xiàn)無關(guān),

沒有時序信息。

5.邏輯綜合

邏輯綜合是指使用EDA工具把山硬件描述語言設(shè)計(jì)的電路自動轉(zhuǎn)換成特定工藝下的網(wǎng)

表,即從RTL級的HDL描述通過編譯與優(yōu)化產(chǎn)生符合約束條件的門級網(wǎng)表。網(wǎng)表是一種描

述邏輯單元和他們之間互連的數(shù)據(jù)文件。約束條件包括時序、面積和功耗的約束.其中,時

序是最復(fù)雜和最關(guān)鍵的約束,決定了整個芯片的性能。在綜合過程中,EDA工具會根據(jù)約束

條件對電路進(jìn)行優(yōu)化,優(yōu)化(這里指的是初次邏輯綜合優(yōu)化)的主要目的是在滿足時序要求

的前提下盡量減小芯片面積。與工藝無關(guān)的優(yōu)化缺乏非常準(zhǔn)確的時序信息,因而注意力往往

集中在優(yōu)化面積上。等到映射之后時序信息比較準(zhǔn)確時再進(jìn)行修正更有效。

6.版圖布局規(guī)劃

版圖布局規(guī)劃完成的任務(wù)是確定設(shè)計(jì)中各個模塊在版圖上的位置,主要包括:

▲I/。規(guī)劃,確定I/O的位置,定義電源和接地口的位置;

▲模塊放置,定義各種物理的組、區(qū)域或模塊,對這些大的宏單元進(jìn)行放置;

▲供電設(shè)計(jì),設(shè)計(jì)整個版圖的供電網(wǎng)絡(luò),基于電壓降(IRDrop)和電遷移進(jìn)行拓?fù)鋬?yōu)化。

版圖布局規(guī)劃的挑戰(zhàn)是在保證布線能夠走通且性能允許的前提下,如何最大限度地減少

芯片面積,是物理設(shè)計(jì)過程中需要設(shè)計(jì)者付出最大努力的地方之一。

7.功耗分析

▲在設(shè)計(jì)中的許多步驟都需要對芯片功耗進(jìn)行分析,從而決定是否需要對設(shè)計(jì)進(jìn)行改進(jìn)。

▲在版圖布局規(guī)劃后,需要對電源網(wǎng)絡(luò)進(jìn)行功耗分析(PNA,PowerNetworkAnalysis),

確定電源引腳的位置和電源線寬度。

▲在完成布局布線后,需要對整個版圖的布局進(jìn)行動態(tài)功耗分析和靜態(tài)功耗分析。

▲除了對版圖進(jìn)行功耗分析以外,還應(yīng)通過仿真工具快速計(jì)算動態(tài)功耗,找出主要的功

耗模塊或單元。

8.單元布局和優(yōu)化

單元布局和優(yōu)化主要定義每個標(biāo)準(zhǔn)單元的擺放位置并根據(jù)擺放的位置進(jìn)行優(yōu)化。

現(xiàn)在,EDA工具廣泛支持物理綜合,即將布局和優(yōu)化與邏輯綜合統(tǒng)一起來,引入真實(shí)(實(shí)

際)的連線延時信息,減少了時序收斂所需要的迭代次數(shù)。

注:綜合(synthesis):就是把思想轉(zhuǎn)換為實(shí)現(xiàn)欲想功能的可制造的設(shè)計(jì),綜合是約束驅(qū)

動和基于路徑的:在進(jìn)行綜合時,對時序的約束和優(yōu)化都是針對路徑的,優(yōu)化時序就是優(yōu)化

路徑上的時序,因?yàn)檫x定工藝后,單元的建立保持時間是固定的,因此只有改變路徑來滿足

約束,綜合工具總是計(jì)算路徑的延時,并根據(jù)邏輯單元對時序的要求來判斷綜合結(jié)果中的路

徑是否滿足設(shè)計(jì)要求。在邏輯設(shè)計(jì)中,時序路徑延時通常由組合邏輯延時和布線延時組成,

其中布線延時可以通過工具優(yōu)化,而組合邏輯延時屬于器件延時,因此如何在設(shè)計(jì)階段進(jìn)行

優(yōu)化以減少組合邏輯延時(減少組合邏輯的器件級數(shù))是我們需要考慮的。

在0.13微米以前的工藝時,互連線上延遲非常的不明顯,標(biāo)準(zhǔn)單元的延遲占絕對主導(dǎo)

因素,因此在邏輯綜合后,網(wǎng)表就被直接拿來進(jìn)行布局布線,時序往往也沒有問題。然而自

0.13微米的工藝以來,連線延時越來越起主導(dǎo)作用了。

物理綜合是將邏輯綜合和布局布線結(jié)合起來設(shè)計(jì)方法學(xué)。

簡單地說,物理綜合工具除了具有原來邏輯綜合,簡單的自動放置標(biāo)準(zhǔn)單元的能力外,

還會把標(biāo)準(zhǔn)單元在放置過程中實(shí)際位置的不同而導(dǎo)致的連線電容、電阻值的種種變化考慮

進(jìn)去,從而得到具有實(shí)際物理意義的準(zhǔn)確的RC延遲及時序信息。如果當(dāng)前的布置無法滿

足時序要求時,物理綜合工具就會自動地嘗試改變標(biāo)準(zhǔn)單元的放置或優(yōu)化電路結(jié)構(gòu),直到

時序滿足輸入約束(或能達(dá)到的最優(yōu)情況)為止。

傳統(tǒng)的邏輯綜合方法是依賴于連線負(fù)我模型(Wire-loadModel)的,所用的連線延時信

息是根據(jù)wire-loadmodel估算出來的。在物理綜合時,就考慮布局布線的問題了(邏輯綜

合沒有包含布局布線的信息),計(jì)算延時的方法不是通過連線負(fù)載模型得出的,而是通過布

局信息得到。它(指物理綜合)在綜合(轉(zhuǎn)換成可制造的設(shè)計(jì))的同時也根據(jù)版圖規(guī)劃

(Floorplan)的信息來完成電路布局過程(所以這是一個邏輯綜合+布局結(jié)合的過程),同

時進(jìn)行電路綜合(換成可制造的設(shè)計(jì))和布局的過程能提供準(zhǔn)確的互連線延時信息。

物理綜合要求的約束條件通常有芯片尺寸、引腳位置、線上負(fù)載信息、版圖規(guī)劃信息等。

一般使用以下兩種操作模式。

1)RTL到門級模式:在RTL到門級模式下,物理綜合的輸入信息是RTL級的設(shè)計(jì)電路、

版圖規(guī)劃信息及含有版圖信息的物理綜合的庫文件。經(jīng)過綜合后,輸出帶有布局(placement)

數(shù)據(jù)的門級網(wǎng)表及布局信息。(這是上述意義上的物理綜合過程)

2)門級到布局后門級模式:在這一模式下,與RTL到門級模式的唯一區(qū)別是物理綜合

的輸入信息是門級網(wǎng)表,而不是RTL級的設(shè)計(jì)電路。門級網(wǎng)表是由傳統(tǒng)方法通過邏輯綜合方

法運(yùn)用連線負(fù)載模型wire-loadmodel得出的,通過物理綜合能夠優(yōu)化網(wǎng)表并得到門級電路

的布局信息。

當(dāng)設(shè)計(jì)電路很龐大的時候,RTL到網(wǎng)表需要花費(fèi)的時間會很長,而由于缺少實(shí)際的布局

布線的信息,所得的網(wǎng)表對實(shí)際布局而言并不是優(yōu)化的。建議在這?級的綜合時不要花太多

的時間優(yōu)化,而把優(yōu)化工作由物理綜合完成。換句話說,可以先通過簡單的邏輯綜合將RTL

級的設(shè)計(jì)轉(zhuǎn)換為網(wǎng)表,然后通過物理綜合對網(wǎng)表進(jìn)行布局與優(yōu)化,最終得到滿足時序的電路

結(jié)構(gòu)。隨著物理綜合工具的不斷成熟,物理綜合在0.18mm以下工藝的大型SOC設(shè)計(jì)中被廣

泛采用。

9.靜態(tài)時序分析

STA是一種靜態(tài)驗(yàn)證方法

通過對提取電路中所有路徑上的延遲等信息的分析,計(jì)算出信號在時序路徑上的延遲,

找出違背時序約束的錯誤,如檢查建立時間(SetupTime)和保持時間(HoldTime)是否滿

足要求。

靜態(tài)時序分析的方法不依賴于激勵,而且可以窮盡所有的路徑,運(yùn)行速度快,占用內(nèi)存

少。它完全克服了動態(tài)時序驗(yàn)證的缺陷,是SoC設(shè)計(jì)中重要的?個環(huán)節(jié)。在后端設(shè)計(jì)的很多

步驟完成后都要進(jìn)行靜態(tài)時序分析,如在邏輯綜合完成之后、在布局優(yōu)化之后、在布線完成

后等。

動態(tài)驗(yàn)證的缺陷有:

①現(xiàn)在SoC的發(fā)展趨勢是將上百萬個甚至更多門級電路集成在一個芯片上,通過動態(tài)仿

真的方法驗(yàn)證這樣的電路設(shè)計(jì),則需要花費(fèi)很長的時間。

②動態(tài)仿真取決于驗(yàn)證時采用的測試向量的覆蓋率及仿真平臺(Testbench)的性質(zhì),

因此往往只能測試到部分邏輯而其他的邏輯被忽略。

10.形式驗(yàn)證

形式驗(yàn)證也是一種靜態(tài)驗(yàn)證方法,與靜態(tài)時序分析一起構(gòu)成設(shè)計(jì)的靜態(tài)驗(yàn)證。

在整個設(shè)計(jì)流程中會多次引入形式驗(yàn)證用于比較RTL代碼之間、門級網(wǎng)表與RTL代碼之

間,以及門級網(wǎng)表之間在修改之前與修改之后功能的一致性。

11.可測性電路插入

可測性設(shè)計(jì)是SoC設(shè)計(jì)中的重要一步。通常,對于邏輯電路采用掃描鏈的可測試結(jié)構(gòu),

對于芯片的輸入/輸出端口采用邊界掃描的可測試結(jié)構(gòu)?;舅枷胧峭ㄟ^插入掃描鏈,增加

電路內(nèi)部節(jié)點(diǎn)的可控性和可觀測性,以達(dá)到提高測試效率的目的。一般在邏輯綜合或物理綜

合后進(jìn)行掃描電路的插入和優(yōu)化。

注:在集成電路設(shè)計(jì)領(lǐng)域,通常所說的驗(yàn)證和測試是指兩種不同的事,其主要區(qū)別在于:

驗(yàn)證是在設(shè)計(jì)過程中確認(rèn)所設(shè)計(jì)的電路功能的正確性,測試是指采用測試設(shè)備檢查芯片是否

存在制造或封裝過程中產(chǎn)生的缺陷。驗(yàn)證可以通過軟件仿真、硬件模擬和形式驗(yàn)證等方法進(jìn)

行,它是在流片之前要做的。

12.時鐘樹綜合

SoC設(shè)計(jì)方法強(qiáng)調(diào)同步電路的設(shè)計(jì),即所有的寄存器或一組寄存器是由同一個時鐘的同

一個邊沿驅(qū)動的。構(gòu)造芯片內(nèi)部全局或局部平衡的時鐘鏈的過程稱為時鐘樹綜合。分布在芯

片內(nèi)部寄存器與時鐘的驅(qū)動電路構(gòu)成了一種樹狀結(jié)構(gòu),這種結(jié)構(gòu)稱為時鐘樹。時鐘樹綜合是

在布線設(shè)計(jì)之前進(jìn)行的。

13.布線設(shè)計(jì)

這一階段完成所有節(jié)點(diǎn)的連接。布線工具通常將布線分為兩個階段:全局布線與詳細(xì)布

線。在布局之后,電路設(shè)計(jì)通過全局布線決定布局的質(zhì)量及提供大致的延時信息。為了減少

綜合到布局的迭代次數(shù)及提高布局的質(zhì)量,通常在全局布線之后要提取一次時序信息,盡管

此時的時序信息沒有詳細(xì)布線之后得到的準(zhǔn)確,得到的時序信息將被反標(biāo)(Back-Annotation)

到設(shè)計(jì)網(wǎng)表上(用于替代wireloadmodel估算的連線延時),用于做靜態(tài)時序分析,只有當(dāng)

時序得到滿足時才進(jìn)行到下一階段。詳細(xì)布線是布局工具做的最后一步,在詳細(xì)布線完成之

后,可以得到精確的時序信息。

14.寄生參數(shù)提取

通過提取版圖上內(nèi)部互連所產(chǎn)生的寄生電阻和電容值,得到SPEF文件,SPEF通過PT

轉(zhuǎn)換成SDF被反標(biāo)回設(shè)計(jì),用于做靜態(tài)時序分析和后仿真。

15.后仿真

后仿真也叫門級仿真、時序仿真、帶反標(biāo)的仿真,需要利用在布局布線后獲得的精確

延遲參數(shù)和網(wǎng)表進(jìn)行仿真,驗(yàn)證網(wǎng)表的功能和時序是否正確。后仿真一般使用標(biāo)準(zhǔn)延時(SDF,

StandardDelayFormat)文件來輸入延時信息。

16.ECO修改

1)EC。修改是工程修改命令的意思。

2)這一步實(shí)際上是正常設(shè)計(jì)流程的一個例外。當(dāng)在設(shè)計(jì)的最后階段發(fā)現(xiàn)個別路徑有時

序問題或邏輯錯誤時,有必要通過ECO對設(shè)計(jì)的局部進(jìn)行小范圍的修改和重新布線,并不

影響芯片其余部分的布局布線。在大規(guī)模的IC設(shè)計(jì)中,ECO修改是一種有效、省時的方法,

通常會被采用。

17.物理驗(yàn)證

物理驗(yàn)證是對版圖的設(shè)計(jì)規(guī)則檢查(DRC,DesignRuleCheck)及邏輯圖網(wǎng)表和版圖網(wǎng)

表比較(LVS,LayoutVs.Schematic).,

DRC用以保證制造良率。

LVS用以確認(rèn)電路版圖網(wǎng)表結(jié)構(gòu)是否與其原始電路原理圖(網(wǎng)表)一致。

3SOC設(shè)計(jì)與EDA工具

3.1電子系統(tǒng)級設(shè)計(jì)與工具

SoC的設(shè)計(jì)趨勢正從RTL向電子系統(tǒng)級(ESL,ElectronicSystemLevel)轉(zhuǎn)移。

ESL可以幫助設(shè)計(jì)者從更高層次進(jìn)行電路設(shè)計(jì),能協(xié)助工程師進(jìn)行系統(tǒng)級設(shè)計(jì)、結(jié)構(gòu)定

義、算法開發(fā)、軟硬件劃分和協(xié)同設(shè)計(jì)、建立虛擬原型機(jī),以及驗(yàn)證不同架構(gòu)方案的可行性

等。

目前的ESL工具通常采用工業(yè)標(biāo)準(zhǔn)語言進(jìn)行建模,如C/C++、SystemC、SystemVerilog

等,常用的軟硬件協(xié)同設(shè)計(jì)驗(yàn)證工具有Mentor公司的Seamless和CarbonDesignSystems公

司的SoCDesigner,Mentor的Catapult可實(shí)現(xiàn)C++到RTL級的綜合(高層次的綜合)。

3.2驗(yàn)證的分類及相關(guān)工具

SOC設(shè)計(jì)中驗(yàn)證包含以下幾個方面:

▲驗(yàn)證原始描述的正確性;

▲驗(yàn)證設(shè)計(jì)的邏輯功能是否符合設(shè)計(jì)規(guī)范的要求;

▲驗(yàn)證設(shè)計(jì)結(jié)果的時序是否符合原始設(shè)計(jì)規(guī)范的性能指標(biāo);

▲驗(yàn)證結(jié)果是否包含違反物理設(shè)計(jì)規(guī)則的錯誤。

3.2.1驗(yàn)證方法的分類

1.動態(tài)驗(yàn)證

動態(tài)驗(yàn)證也叫仿真,是指從電路的描述提取模型,然后將外部激勵信號或數(shù)據(jù)施加于此

模型,通過觀察該模型在外部的激勵信號作用下的實(shí)時響應(yīng)來判斷該電路系統(tǒng)是否實(shí)現(xiàn)了預(yù)

期的功能。仿真目前最常用的是基于事件驅(qū)動的方法,也在發(fā)展周期驅(qū)動的方法。

2.靜態(tài)驗(yàn)證

靜態(tài)驗(yàn)證是指采用分析電路的某些特性是否滿足設(shè)計(jì)要求的方法,來驗(yàn)證電路的正確與

否。

形式驗(yàn)證時近幾年來興起的一種驗(yàn)證方法,它需要有一個正確的模型作為參考,把待驗(yàn)

證的電路與正確的模型進(jìn)行比較,并給出不同版本的電路是否在功能上等效的結(jié)論,他利用

理論證明的方法來驗(yàn)證設(shè)計(jì)結(jié)果的正確性。

比較動態(tài)驗(yàn)證和靜態(tài)驗(yàn)證,各有優(yōu)勢和不足。動態(tài)仿真主要是模擬電路的功能行為,必

須給出適當(dāng)?shù)募钚盘?,然而很難選擇激勵來達(dá)到覆蓋電路所有功能的目的,同時動態(tài)仿真

很耗費(fèi)時間。靜態(tài)驗(yàn)證只限于數(shù)字邏輯單路,其準(zhǔn)確性低于動態(tài)驗(yàn)證,偶爾還會提供錯誤信

息。

3.2.2動態(tài)驗(yàn)證及相關(guān)工具

動態(tài)驗(yàn)證的工具很多,主要由電路級仿真工具,如SPICE、TimeMilLNanoSim,以及邏

輯仿真工具,如VCS、Verilog-XL、NCVerilog>Modelsiim等。

▲電路級仿真工具模擬晶體管級的電路行為特性,主要用于模擬電路的設(shè)計(jì)。

▲邏輯仿真工具可以仿真行為級、RTL級和門級網(wǎng)表的數(shù)字電路,有Synopsys的VCS

和Mentor的Modelsim。

3.2.3靜態(tài)驗(yàn)證及相關(guān)工具

靜態(tài)驗(yàn)證包括形式驗(yàn)證(從功能上對設(shè)計(jì)進(jìn)行驗(yàn)證)和靜態(tài)時序分析(從時序上對設(shè)計(jì)

驗(yàn)證)。

▲形式驗(yàn)證工具有Synopsys公司的Formality及Cadance公司的EncounterConformal

EquivalentChecker等。

▲靜態(tài)時序分析工具有Synopsys公司的Primetime。

注:下面列出IC前端設(shè)計(jì)流程中使用到的EDA工具

數(shù)字前端設(shè)計(jì):以生成可以布局布線的網(wǎng)表為終點(diǎn)。

數(shù)字后端設(shè)計(jì):以生成可以送交foundry進(jìn)行流片的GDS2文件為終點(diǎn)。

圖中沒有物理綜合,這是一個傳統(tǒng)的流程:邏輯綜合+布局布線,目前的一個趨勢是邏

輯綜合和布局布線的集成,即物理綜合,所以物理綜合慢慢的取代了從邏輯綜合到布線這

一系列步驟,即物理綜合工具可以完成從邏輯綜合到布線之間多個工具完成的功能。

▲以往的方法是對網(wǎng)表文件(綜合后文件)做門級仿真。此種方式的仿真時間較長,且

覆蓋率相對較低。

▲形式驗(yàn)證+靜態(tài)時序分析。此種方法仿真時間短,覆蓋率高,為業(yè)界普遍采用的方式。

*******************************************************************************

*******************************************************************************

*******************************************************************************

SYNOPSYS-DesignCompiler:傳統(tǒng)的邏輯綜合工具

初次綜合時,使用wireloadmodel來估算延時。

SYNOPSYS-PrimeTime

在初次進(jìn)行靜態(tài)時序分析時,仍然采用wireloadmodel來估算電路時序。

▲布局布線前(即初次綜合和STA分析時),由于無布線信息,所以連線(wire)延時

只能夠通過連接關(guān)系(與fanout相關(guān))估計(jì)得到。

▲當(dāng)特征尺寸降低時,此種估計(jì)方法越來越不準(zhǔn)確,所以可以使用physicalsynthesis技

術(shù)。

▲在布局布線后,布局布線工具可以提取出實(shí)際布線后的線網(wǎng)負(fù)載電容,此時PT可以

計(jì)算實(shí)際延時(back-annote)。

可以將延時信息寫入SDF文件用,然后反向標(biāo)注到DC綜合工具進(jìn)行時序的優(yōu)化。

PT使用方法與DC類似

1.指定使用的庫

2.讀入網(wǎng)表文件

3.指定時序約束及工作環(huán)境

4.進(jìn)行靜態(tài)時序分析,給出報(bào)告。

以上是后端設(shè)計(jì)流程及EDA工具,也是傳統(tǒng)的流程。

目前隨著EDA軟件的功能越來越強(qiáng),各大EDA公司都推出了RTL到GDSII的完整工具包。

這樣大大減少了使用不同工具帶來的數(shù)據(jù)格式不同等問題,如Synopsys的Galaxy平臺、

Candence公司的SOCEncounter,Magma公司的Blaster等。

4SOC系統(tǒng)結(jié)構(gòu)設(shè)計(jì)

嵌入式軟件是運(yùn)行在SOC芯片之上的。軟件和硬件的有效結(jié)合決定了系統(tǒng)的效率和性

能。電子系統(tǒng)級(ESL,electronicsystemlever)設(shè)計(jì)以抽象方式來描述SOC系統(tǒng),給軟硬件

工程師提供一個虛擬的硬件原型平臺(已經(jīng)比較細(xì)節(jié)化了,面向某一應(yīng)用領(lǐng)域的基礎(chǔ)底層

平臺,針對該領(lǐng)域內(nèi)不同應(yīng)用的特點(diǎn)進(jìn)行微小的擴(kuò)展或者裁剪即可滿足需求,增加了設(shè)計(jì)

的復(fù)用性一ESL三步走的最有一步的結(jié)果),用以進(jìn)行硬件系統(tǒng)結(jié)構(gòu)的探索和軟件程序的開

發(fā)。

SOC的系統(tǒng)結(jié)構(gòu)設(shè)計(jì)的過程可以分為以下三個階段(上述的三步走):功能設(shè)計(jì)階段、

應(yīng)用驅(qū)動的系統(tǒng)結(jié)構(gòu)設(shè)計(jì)階段及平臺導(dǎo)向的系統(tǒng)結(jié)構(gòu)設(shè)計(jì)階段。

(1)功能設(shè)計(jì)階段

這一階段的主要目標(biāo)是根據(jù)應(yīng)用的需要,正確地定義系統(tǒng)功能,以此為基礎(chǔ)建立一個面

向應(yīng)用需求的系統(tǒng)功能模型。需要考慮以下問題:①正確定義系統(tǒng)的輸入/輸出;②確定系

統(tǒng)中各功能組件的功能行為;③各功能組件之間的互連結(jié)構(gòu)和通信方式。

(2)應(yīng)用驅(qū)動的系統(tǒng)結(jié)構(gòu)設(shè)計(jì)階段

主要目標(biāo)是針對特定的應(yīng)用需求(如需要支持播放視頻、音頻等),確定SOC的系統(tǒng)結(jié)

構(gòu)。將設(shè)計(jì)劃分為一系列硬件模塊和軟件任務(wù),并確定各軟硬件之間的接口規(guī)范。系統(tǒng)結(jié)構(gòu)

設(shè)計(jì)的最初級階段需要確定芯片上使用的處理器(如處理器類型及個數(shù))、總線(總線標(biāo)準(zhǔn)、

總線架構(gòu))和存儲器類型(需要哪些處理器)。在這一階段也確定了軟硬件的劃分,如那些

任務(wù)用處理器完成,哪些任務(wù)用硬件加速器完成。

通過這一階段,可以得到一個高抽象層次的SOC系統(tǒng)結(jié)構(gòu)平臺。

(3)平臺導(dǎo)向的系統(tǒng)結(jié)構(gòu)設(shè)計(jì)階段

主要目標(biāo)是創(chuàng)建一個較低抽象層次的SOC硬件平臺(即上面說的硬件原型平臺)。在該

階段需要關(guān)注更多的設(shè)計(jì)細(xì)節(jié),如處理器的型號、存儲器容量、總線仲裁等。本階段所構(gòu)建

的SOC平臺將是面向某應(yīng)用領(lǐng)域(如手機(jī))的基礎(chǔ)底層平分,針對該領(lǐng)域內(nèi)不同的應(yīng)用

特點(diǎn)僅需對該平臺進(jìn)行微小的擴(kuò)展或裁減即可,大大增加設(shè)計(jì)復(fù)用性?;谠撾A段構(gòu)建的

SOC平臺進(jìn)行設(shè)計(jì)的方法稱為基于平臺的設(shè)計(jì)方法。

4.1SOC中常用的處理器

分為三類:通用處理器、數(shù)字信號處理器和可配置處理器。

通用處理器:主要負(fù)責(zé)控制、操作系統(tǒng)平臺和一般的信號處理等任務(wù)。無法滿足計(jì)算密

集型任務(wù)對于實(shí)時性的需要。如ARM系列處理器、MIPS系列處理器、PowerPC系列處理器

數(shù)字信號處理器DSP:常常被作為SOC中的核心處理器或者在多核SOC中被作為對計(jì)

算密集型任務(wù)進(jìn)行加速的處理器。如TI系列DSP、ADI系列DSP,Freescale系列DSP。

可配置處理器:針對不同應(yīng)用的需求,允許用戶配置具有不同體系結(jié)構(gòu)的處理器。如

Tensilica系列處理器、Nios系列處理器、ARC系列處理器。

4.2SOC中常用的總線

較有影響力的片上總線標(biāo)準(zhǔn)有ARM公司的AMBA總線、IBM公司的CoreConnect總線、

SilicoreCorp公司的Wishbone總線和Altera公司的Avalon總線等。

(1)AMBA總線標(biāo)準(zhǔn)包括AHB(AdvancedHigh-performanceBus)總線、ASB(Advanced

SystemBus)總線、APB(AdvancedPeripheralBus)總線和AXI總線。

AHB和ASB總線連接高性能系統(tǒng)模塊,ASB是舊版本的系統(tǒng)總線,使用三態(tài)總線,目前

已被新版本的AHB總線所代替。AHB是AMBA2.0標(biāo)準(zhǔn),而AXI是最新推出的新一代AMBA3.0

標(biāo)準(zhǔn)。APB連接低性能外圍設(shè)備。

(2)CoreConnect總線包括PLB(ProcesorLocalBus)總線、OPB(On-ChipPeripheralBus)

總線、DCR(DeviceControlRegister)總線

在CoreConnect總線中,PLB總線連接高性能設(shè)備如處理器、存儲器接口、DMA等。OPB

總線連接低性能設(shè)備如各種外圍接口等

DCR總線主要用來訪問和配置PLB和OPB總線設(shè)備的狀態(tài)和控制寄存器

(3)Wishbone總線是由Silicore公司推出的片上總線標(biāo)準(zhǔn),這種總線具有簡單、靈活

和開放的特點(diǎn),現(xiàn)在已經(jīng)被OpenCores采用并組織維護(hù)。

在Wishbone中,所有核都連接在同一標(biāo)準(zhǔn)接口上。當(dāng)需要時,系統(tǒng)設(shè)計(jì)者可以選擇在

一個微處理器核上實(shí)現(xiàn)兩個接口,一個給高速設(shè)備,另一個給低速設(shè)備

一個Wishbone系統(tǒng)由主設(shè)備、從設(shè)備、INTERCON和SYSCON組成。其中INTERCON定

義了主設(shè)備和從設(shè)備之間的連接方式,而SYSCON用來產(chǎn)生系統(tǒng)時鐘和復(fù)位信號

在Wishbone中有4種不同的連接方式可以使用,它們分別是點(diǎn)對點(diǎn)、數(shù)據(jù)流、共享總

線和交叉連接方式

(4)AVALON總線主要應(yīng)用在FPGA中,作為SOPC(SystemOnaProgrammableChip)

中的片上總線。

SOPC:System-on-a-Programmable-Chip,即可編程片上系統(tǒng),可編程片上系統(tǒng)(SOPC)

是一種特殊的嵌入式系統(tǒng):首先它是片上系統(tǒng)(SOC),即由單個芯片完成整個系統(tǒng)的主要

邏輯功能;其次,它是可編程系統(tǒng),具有靈活的設(shè)計(jì)方式,可裁減、可擴(kuò)充、可升級,并具

備軟硬件在系統(tǒng)可編程的功能。

OCP:開放核協(xié)議(OCP,OpenCoreProtocol)是由。CP-IP組織定義的IP互連協(xié)議。

它不是總線定義,而是在IP核之間的?種獨(dú)立于總線之外的高性能接口規(guī)范。一個IP

核可以是處理器、外圍設(shè)備或者片上總線(帶有這一標(biāo)準(zhǔn)接U的總線),OCP在兩個通信實(shí)

體之間定義了點(diǎn)到點(diǎn)的接口。

4.3SOC中典型的存儲器

存儲器分RAM、ROM和FLASH三種。

(1)RAM有SRAM、DRAM兩大類:

▲SRAM(StaticRAM,靜態(tài)隨機(jī)存儲器),是目前讀寫最快的存儲設(shè)備,可以達(dá)到和處

理器的時鐘同步,SRAM存儲器的接口簡單,比較容易設(shè)計(jì),SRAM在系統(tǒng)中常常作為處理

器的緩存(如CPU的一級緩存和二級緩存)。但是一個SRAM的每1位需要6個晶體管,因

此相同存儲空間的RAM的面積較大,在SoC中只能少量使用。

▲DRAM(DynamicRAM,動態(tài)隨機(jī)存取存儲器),通常都用作計(jì)算機(jī)內(nèi)的主存儲器。DRAM

保留數(shù)據(jù)的時間很短,速度也比SRAM慢,不過它還是比任何的ROM都要快。計(jì)算機(jī)內(nèi)存

就是DRAM的。DRAM分為很多種,最常見的就是SDRAM、DDRRAM。

SDRAM:SDRAM(同步動態(tài)隨機(jī)存儲器)的價格低、體積小、容量大,與SRAM相比,

SDRAM的控制邏輯復(fù)雜,速度較慢。

DDRAM:DDRAM(雙倍傳輸速度隨機(jī)存儲器)采用雙倍數(shù)據(jù)技術(shù),這種改進(jìn)型的RAM

和SDRAM是基本一樣的,不同之處在于它可以在一個時鐘讀寫兩次數(shù)據(jù),支持在時鐘的上

升沿和下降沿同時進(jìn)行數(shù)據(jù)的傳輸,從而增加數(shù)據(jù)的吞吐量。其最大帶寬可達(dá)SDRAM的兩

倍。當(dāng)然它的設(shè)計(jì)也更復(fù)雜。這是目前電腦中用得最多的內(nèi)存,而且它有著成本優(yōu)勢。在很

多高端的顯卡上,也配備了高速DDRAM來提高帶寬,這可以大幅度提高3D加速卡的像素

渲染能力。

▲ROM(只讀存儲器)是一種只讀存儲器,包括掩膜式ROM、可編程ROM(PROM)、

可擦除的可編程ROM(EPROM)和電可擦除的可編程ROM(EEPROM)等。ROM在SoC中

一般用來存儲固定的代碼或資料。

▲FLASH(閃存),它結(jié)合了ROM和RAM的長處,不僅具備電子可擦出可編程(EEPROM)

的性能,還不會斷電丟失數(shù)據(jù)同時可以快速讀取數(shù)據(jù)(NVRAM的優(yōu)勢),U盤和MP3里用

的就是這種存儲器。

NORFlash和NANDFlash是現(xiàn)在市場上兩種主要的Flash存儲器。NORFLASH的特點(diǎn)是

芯片內(nèi)可以直接運(yùn)行程序,而不必再把代碼讀到系統(tǒng)RAM中。NOR的傳輸效率很高,但寫

入和擦除速度較低,這大大影響了它的性能。NANDFLASH寫入和擦除速度很快,但NAND

FLASH沒有采取內(nèi)存的隨機(jī)讀取技術(shù),它的讀取是以一次讀取一快的形式來進(jìn)行的,通常是

一次讀取512個字節(jié),采用這種技術(shù)的Flash比較廉價。用戶不能直接運(yùn)行NANDFlash上的

代碼,因此好多使用NANDFlash的開發(fā)板除了使用NANDFLASH。以外,還作上了一塊小的

NORFlash來運(yùn)行啟動代碼。

4.4多核SOC的系統(tǒng)結(jié)構(gòu)設(shè)計(jì)

多核與多處理器:

①多核處理器(CMPChipmultiprocessors)是指在一枚處理器(processor)中集成兩個

或多個完整的計(jì)算引擎(內(nèi)核core)。多核處理器可以在處理器內(nèi)部共享緩存。

形象的比喻是:雙核心可以形象比喻成一套兩居室,房子里有兩個屋子,每個屋子都是

獨(dú)立存在的,不互相干擾。出門時也可以各走各的臥室門到大門口。不過如果因?yàn)槟承┰颍?/p>

例如放音響聲音過大等情況,在同一套兩居室里的兩個屋子之間也會相互影響。而且房子里

的其他設(shè)施都是共享的,所以多核共享緩存。

②多處理器(SMPSymmetricMulti-Processing)是指在一個計(jì)算機(jī)上匯集了一組處理器

(多CPU),多CPU則是真正意義上的多核心,不光是處理器核心有多個,其他例如緩存等

硬件配置也都是多份的。即每個CPU都有自己的緩存。各CPU之間共享內(nèi)存子系統(tǒng)以及總

線結(jié)構(gòu)。

形象的比喻是:雙CPU,他就是名副其實(shí)的兩套房子,每個房子有每個房子的大門,不

會出現(xiàn)雙核心那樣一個房間因?yàn)槟承┰蛴绊懥黹g,即使某個房子播放音響也不會影響到

另外一套房子。每個房子都有自己的設(shè)施。

但是兩個房子在一個小區(qū),所以共享小區(qū)的公共設(shè)施,所以多CPU之間共享內(nèi)存、總

線結(jié)構(gòu)等。

③而超線程則是用軟件將一個物理核心模擬出雙核的效果。

形象的比喻是:超線程技術(shù)實(shí)際上就相當(dāng)于把一個房間人為的通過添加屏風(fēng)或者推拉門

來劃分成兩小間,雖然表面上每間居住者可以自己干自己的事,不互相影響,但是在出門時

都要走同一個臥室門。

▲核心與核心之間的通信是由CPU芯片內(nèi)部的總線完成的;而多塊CPU芯片之間的通

信則應(yīng)該有CPU與CPU之間的總線完成,如上面所述的AMBA等總線。

上述說的是一個處理器芯片上集成核數(shù)的問題,然則在SOC中,本身就是一個芯片集

成了一個系統(tǒng),因此多核SOC和多處理器SOC是一個概念,因?yàn)槎际嵌鄠€處理引擎集成在

一個芯片中。因此在書本中是這么表達(dá)的:多核SOC或多處理器SOC-iP45《SOC的設(shè)計(jì)方

法與實(shí)現(xiàn)》第二版。原文中還說明:實(shí)際上,由于不同的任務(wù)可在很大的程度上互相獨(dú)立運(yùn)

行,如音頻和視頻處理及網(wǎng)絡(luò)協(xié)議處理等,可以將具有內(nèi)在執(zhí)行并行性的復(fù)雜任務(wù)分解為??

系列子任務(wù),并行執(zhí)行,因此我們說多核SOC中的核不僅僅指通用處理器核,也可以是音

頻解碼核、視頻解碼核及網(wǎng)絡(luò)協(xié)議處理器核。

多核結(jié)構(gòu)的設(shè)計(jì)可以復(fù)用現(xiàn)有的成熟的單核處理器作為處理器核心。

4.4.1可用的并發(fā)性

設(shè)計(jì)師可以利用許多不同級別的并發(fā)性,通常這些級別的并發(fā)性可歸納為3中:指令并

級發(fā)性、數(shù)據(jù)級并發(fā)性和任務(wù)級并發(fā)性。

(1)指令級并發(fā)性(ILP,InstructionLevelParallelism)利用指令之間的無關(guān)性,使得多

條指令可以同時執(zhí)行,改變傳統(tǒng)串行執(zhí)行指令造成的較大延時,提高指令和程序的執(zhí)行效率。

最常見的指令并行是利用指令流水線保證多條相互無關(guān)的指令重疊執(zhí)行不同的流水階

段,從而提高指令執(zhí)行的吞吐率。

(2)數(shù)據(jù)級并發(fā)性(DLP,DataLevelParallelism)是指,-組待處理的數(shù)據(jù)內(nèi)部存在較

為松散的依賴關(guān)系,在理論上可以對這些松散數(shù)據(jù)并行執(zhí)行

(3)任務(wù)級并行(TLP,TaskLevelParallelism),由于系統(tǒng)往往需要完成多種功能,而

這些功能可能獨(dú)立于系統(tǒng)中的其他功能。任務(wù)級并行性可以從原本的一個串行任務(wù)中提取出

來。與前兩類并行性相比,任務(wù)級并行性對于結(jié)構(gòu)設(shè)計(jì)師更為重要。

4.4.2多核SOC設(shè)計(jì)中的系統(tǒng)結(jié)構(gòu)選擇

(1)處理器結(jié)構(gòu)

需要重點(diǎn)考慮對處理器的選型、處理器間的互連結(jié)構(gòu)及存儲器的共享方式等方面。

因?yàn)槎嗪薙OC中的核不僅僅指通用處理器核,也可以是音頻解碼核、視頻解碼核及網(wǎng)

絡(luò)協(xié)議處理器核。所以多核結(jié)構(gòu)可以根據(jù)處理器核的特性分為同構(gòu)多核結(jié)構(gòu)和異構(gòu)多核結(jié)構(gòu)。

①同構(gòu)多核結(jié)構(gòu):一個芯片上集成了多個相同的處理器,這些處理器執(zhí)行相同或類似的

任務(wù),多用于服務(wù)器市場。

②異構(gòu)多核結(jié)構(gòu):處理器中只有一個或數(shù)個同用核心承擔(dān)任務(wù)指派功能,而諸如協(xié)處理

器、加速器和外設(shè)等功能都可以通過專業(yè)核心如DSP來完成。應(yīng)用很廣泛,比如多媒體應(yīng)

用中?

(2)核間通信

多核處理器的各個核心之間需要進(jìn)行數(shù)據(jù)共享與同步,因此其硬件結(jié)構(gòu)必須支持核間通

信。高效的通信機(jī)制是保證多核處理器高性能的關(guān)鍵。目前比較主流的片上高效通信機(jī)制有

兩種,一種是基于總線共享Cache結(jié)構(gòu),一種是基于片上的互連結(jié)構(gòu)。

▲基于總線共享cache結(jié)構(gòu),是指每個處理器內(nèi)核擁有共享的二級或三級cache(每個

處理器核擁有私有的一級cache),cache中保存比較常用的數(shù)據(jù),并通過連接核心的總線進(jìn)

行通信。

▲基于片上互連的結(jié)構(gòu)?;谄匣ミB的結(jié)構(gòu)是指每個處理器核具有獨(dú)立的處理單元和

cache,各個處理器核通過總線(交叉開關(guān)或片上網(wǎng)絡(luò)等方式)連接在一起,利用消息傳遞

機(jī)制進(jìn)行通信。

典型的多核soc系統(tǒng)結(jié)構(gòu):

①片上網(wǎng)絡(luò)NOC:

隨著同一芯片內(nèi)部集成的處理器數(shù)量不斷增加,利用傳統(tǒng)的基于總線的互連結(jié)構(gòu)已成為

多核間通信的主要瓶頸??偩€帶寬有限,分時復(fù)用難以解決數(shù)據(jù)計(jì)算密集型的應(yīng)用中。

在基于NOC的SOC中,處理器核之間依靠網(wǎng)絡(luò)和數(shù)據(jù)包交換機(jī)制,在一條由其他處理

器或IP核構(gòu)成的連接或路由上完成數(shù)據(jù)的交互。NOC借鑒了計(jì)算機(jī)網(wǎng)絡(luò)的理念。較好的解

決了傳統(tǒng)的基于總線的多核SOC系統(tǒng)在總線結(jié)構(gòu)設(shè)計(jì)上所血臨的帶寬和復(fù)雜邏輯協(xié)議問題。

S

圖典型的NOC系統(tǒng)結(jié)構(gòu)

NOC包括計(jì)算和通信兩個子系統(tǒng),計(jì)算子系統(tǒng)(PE,processingelement構(gòu)成的子系統(tǒng)),

完成廣義的“計(jì)算”任務(wù),PE既可以是處理器也可以是各種專用功能的IP核或存儲器陣列

等。通信子系統(tǒng)(S,switch組成的子系統(tǒng)),負(fù)責(zé)連接PE,實(shí)現(xiàn)計(jì)算資源之間的高速通信。

②TI的開放式多媒體應(yīng)用平臺(OMAP)架構(gòu):

在異構(gòu)多核處理器方面,RISC通用處理器和DSP的結(jié)構(gòu)收到了業(yè)界的廣泛關(guān)注,產(chǎn)品

以TI的OMAP最具代表性。它采用雙核結(jié)構(gòu),把TI的高性能低功耗DSP核與控制性能強(qiáng)的

ARM微處理器結(jié)合起來。此外,芯片中還包括圖像、圖形的加速器及一些輸入輸出接口。

在該SOC中,利用低功耗的ARM處理器實(shí)現(xiàn)接口和控制方面的需求,而DSP用來增加芯片

對音視頻應(yīng)用中的信號處理能力。

圖TIOMAP結(jié)構(gòu)

4.5SOC中的軟件結(jié)構(gòu)

在一個SOC的系統(tǒng)結(jié)構(gòu)設(shè)計(jì)中,除了硬件結(jié)構(gòu)外,還包括軟件結(jié)構(gòu)。

IO接口

圖SOC中的應(yīng)用軟件運(yùn)行環(huán)境及開發(fā)工具結(jié)構(gòu)

5IP復(fù)用的設(shè)計(jì)與方法

IP是知識產(chǎn)權(quán)的意思

在集成電路行業(yè)里,IP通常是指硅知識產(chǎn)權(quán)(SiliconIntellectualProperty),即IP核。

(1)從差異化的程度來區(qū)分

除可集成到芯片上的IP核外,還有大量專門用于驗(yàn)證電路的IP,這些IP稱為驗(yàn)證IP

(VerificationIP),如用于驗(yàn)證USB2.0的IP,用于驗(yàn)證AHB的總線功能模型等,這些IP是

不需要可綜合的。

(2)從設(shè)計(jì)流程上來區(qū)分

①軟核(SoftIP)

利用Verilog或VHDL等硬件描述語言,依照所制定的規(guī)格,將系統(tǒng)所需的功能寫成RTL

的程序,被稱為軟核。與具體的實(shí)現(xiàn)工藝無關(guān)。

②固核(FirmIP)

RTL程序經(jīng)過仿真后,通過綜合從單元庫中選取相應(yīng)的邏輯門,轉(zhuǎn)換成以邏輯門單元形

式呈現(xiàn)的網(wǎng)表文件,即所謂的固核。

③硬核(HardIP)

網(wǎng)表文件經(jīng)過驗(yàn)證后,經(jīng)過布局規(guī)劃和布局布線后所產(chǎn)生的GDSII文件,即稱為硬核。

硬核的設(shè)計(jì)與工藝已經(jīng)完成而且無法修改,用戶得到的硬核僅是產(chǎn)品功能而不是產(chǎn)品設(shè)計(jì)。

與軟核和固核不同,硬核在物理設(shè)計(jì)完成后必須用特定的工具對其進(jìn)行建模。一個完整

的硬核通常包含以下模型:

▲功能模型

▲時序模型

▲功耗模型

▲測試模型

▲物理模型

6RTL代碼的編寫

6.1代碼編寫前的準(zhǔn)備

(1)總線設(shè)計(jì)的考慮

目前,片上總線尚處于發(fā)展階段,沒有一個統(tǒng)一的標(biāo)準(zhǔn),國際上比較成熟的總線結(jié)構(gòu)有

PCI總線、ARM公司的AMBA和AXI總線、IBM的coreconnect等

(2)模塊的劃分

模塊劃分是將復(fù)雜的設(shè)計(jì)劃分成許多小模塊,它的好處是區(qū)分不同的功能模塊,使得每

個功能模塊的尺寸和功能不至于太復(fù)雜,利于一個團(tuán)隊(duì)共同完成設(shè)計(jì)。

模塊劃分的技巧如下:

①關(guān)于芯片級的模塊劃分

在進(jìn)行芯片級的模塊劃分時,建立明確的層次結(jié)構(gòu)仍然是經(jīng)典的設(shè)計(jì)形式,這種方式有

助于基于IP復(fù)用設(shè)計(jì)的進(jìn)行。

頂層模塊組織結(jié)構(gòu)要簡單,這樣可以使得頂層連接更加簡單、直觀,同時也有利于分塊

式的布局布線。要確保只有在頂層模塊才包含I/O引腳。

1/0引腳

存赭單兀

存儲單元

處理器核

ROMSRAM處理器核

1/0引腳〈ROMSRAM

第位單元時鐘、使能生成JTAG

復(fù)位單元時鐘、使能生成JTAG

接口和功能模塊

PWMI2CWDT接口和功能模塊

USB

RTC12SPWMI2CWDI

DEVICE

USB

UARTTIMERGPIOR1C12S

DEVICE

(JARTTIMERGPIO

(b)

②基于核心邏輯的模塊劃分

對核心邏輯進(jìn)行模塊劃分時,要避免子模塊間出現(xiàn)連接用的粘附邏輯。

粘附邏輯C

存組合邏輯

C存

A器

C

圖粘附邏輯

AC

AC

圖消除粘附邏輯

盡可能地把相關(guān)的組合邏輯集中到一個模塊中處理。這是因?yàn)榫C合器在默認(rèn)的工作模式

F綜合優(yōu)化時,不能跨越模塊邊界對相關(guān)的組合邏輯做歸并優(yōu)化處理。

BC

組.臺邏輯A組合邏輯B組合邏輯C

c器

-A>C

圖組合邏輯被分散在多個模塊

AC

圖組合邏輯歸并

③把多周期路徑或偽路徑限制到一個模塊中

▲如果在設(shè)計(jì)中包含了多周期路徑或偽路徑,應(yīng)盡可能地把這些邏輯限制到一個模塊中,

并在代碼編寫時用注釋行明確指出

注:多周期路徑約束和FALSEpath約束稱為慢速例外時間約束。

▲偽路徑是設(shè)計(jì)者告訴靜態(tài)時許分析工具

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論