《電子系統(tǒng)集成設(shè)計(jì)導(dǎo)論》課件第8章_第1頁
《電子系統(tǒng)集成設(shè)計(jì)導(dǎo)論》課件第8章_第2頁
《電子系統(tǒng)集成設(shè)計(jì)導(dǎo)論》課件第8章_第3頁
《電子系統(tǒng)集成設(shè)計(jì)導(dǎo)論》課件第8章_第4頁
《電子系統(tǒng)集成設(shè)計(jì)導(dǎo)論》課件第8章_第5頁
已閱讀5頁,還剩251頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

8.1時(shí)序設(shè)計(jì)8.2系統(tǒng)與電路結(jié)構(gòu)設(shè)計(jì)8.3處理器并行算法與結(jié)構(gòu)8.4芯片內(nèi)外互連技術(shù)與信號(hào)完整性8.5芯片功耗與低功耗設(shè)計(jì)8.6可測性設(shè)計(jì)與可靠性分析8.7ASIC/SOC設(shè)計(jì)方法學(xué)第8章ASIC/SOC系統(tǒng)設(shè)計(jì)技術(shù)專題

8.1時(shí)序設(shè)計(jì)

8.1.1同步系統(tǒng)的時(shí)鐘錯(cuò)位

在同步時(shí)序電路中,把全局時(shí)鐘信號(hào)連接到所有的寄存器、觸發(fā)器和鎖存器上。一般時(shí)鐘線的容抗負(fù)載很重,由巨大的扇出容性負(fù)載和可能長達(dá)幾厘米的線電容負(fù)載疊加構(gòu)成,總的電容量會(huì)在幾百皮法(pF)至幾個(gè)納法(nF)之間。例如,DECAlpha工作站CPU芯片中的時(shí)鐘線電容值為3.25nF,占整個(gè)芯片全部電容量的40%。時(shí)鐘線的電阻性負(fù)載值也不小,從而形成分布式RC延遲線。這樣,如果有兩個(gè)觸發(fā)器離同一個(gè)時(shí)鐘源的距離不同,則兩個(gè)觸發(fā)器的本地時(shí)鐘跳變時(shí)刻就會(huì)不同。這就是單純的時(shí)鐘不一致錯(cuò)位,它是導(dǎo)致競爭和工作不正常的重要根源,嚴(yán)重影響著時(shí)序電路的性能。

1.單相邊沿觸發(fā)時(shí)鐘

假設(shè)數(shù)據(jù)信號(hào)D從寄存器R1傳送到R2,而時(shí)鐘布線延遲形成兩個(gè)本地時(shí)鐘時(shí)刻差δ,例如R2-f2時(shí)鐘的#1脈沖比R1-f1時(shí)鐘的#1時(shí)鐘脈沖晚到δ,就將其稱做時(shí)鐘錯(cuò),如圖8-1所示。

若記f1的#1時(shí)鐘脈沖邊沿時(shí)刻為0,則f2的#1時(shí)鐘脈沖邊沿時(shí)刻為δ。簡言之,為了系統(tǒng)能正常工作,其必要條件如下。圖8-1同步系統(tǒng)的時(shí)鐘錯(cuò)位示意圖

(1)時(shí)鐘錯(cuò)位δ要足夠小,即

δ≤tr,min+ti+tc,min

其中“≤”號(hào)之后是表示數(shù)據(jù)信號(hào)的最小延遲和,其中tr,min是寄存器R內(nèi)的最小延遲;ti為互連線的傳播延遲,ti=tia+tib;tc,min為組合邏輯C部分的最小延遲。對于R2來說,從它前面電路C過來的處理后的新數(shù)據(jù),相對于f1#1的總延遲要大于時(shí)鐘延遲δ。

(2)時(shí)鐘周期T要足夠長,即

tr,max+ti+tc,max≤δ+T

對于R2來說,“≤”號(hào)之前是新數(shù)據(jù)的最大延遲tr,max+ti+tc,max,它不能超過下一個(gè)脈沖邊沿到來的時(shí)刻δ+T。其中tr,max是寄存器內(nèi)的最大延遲;ti為互連線傳播延遲;tc,max為組合邏輯C部分的最大延遲。

歸納起來,顯然上述兩個(gè)式子可以寫成一個(gè)統(tǒng)一的大聯(lián)式:

δ≤tr,min+ti+tc,min≤tr,max+ti+tc,max≤δ+T

我們可以準(zhǔn)確地說,R2的新數(shù)據(jù)應(yīng)出現(xiàn)在從δ開始的一個(gè)周期(如圖8-1所示R2-f2時(shí)鐘波形圖中的加粗線段)之內(nèi),而不應(yīng)該在此之外,包括之前或之后都不行。以時(shí)鐘上升邊觸發(fā)為例,記f2時(shí)鐘#1的上升邊相對于f1的時(shí)鐘#1上升邊發(fā)生δ錯(cuò)位,而R1的數(shù)據(jù)在f1時(shí)鐘#1的上升邊完成鎖存。由R1再傳送給R2的新數(shù)據(jù)應(yīng)該在f2的時(shí)鐘#1上升邊結(jié)束之后;并且在f2的時(shí)鐘#2上升邊之前穩(wěn)定出現(xiàn)在R2輸入端,等待f2的時(shí)鐘#2上升邊的到來。

在深入討論上述時(shí)序錯(cuò)位問題時(shí),對于f2時(shí)鐘#2與其數(shù)據(jù)信號(hào)D的關(guān)系,需要結(jié)合4.3.1節(jié)中的圖4-12,在時(shí)鐘上升邊的前后給出滿足要求的數(shù)據(jù)建立和保持時(shí)間。需要注意的是,δ的大小與時(shí)鐘周期無關(guān)。在有些場合可以采用的一個(gè)有力措施就是沿著數(shù)據(jù)傳播的相反方向布時(shí)鐘線,使得δ<0。這時(shí),條件(1)自然滿足,但條件(2)更加嚴(yán)重,只有選擇大T來加以解決,這當(dāng)然又與提高工作速度需要提高時(shí)鐘頻率的要求相違背。

在設(shè)計(jì)有些電路時(shí),例如流水線,可以采用雙相主從時(shí)鐘策略或者其他時(shí)鐘形式。

需要提醒的是:δ是個(gè)變量,會(huì)有不同的布線延遲,還需要考慮串?dāng)_影響延遲的因素。

2.時(shí)鐘錯(cuò)位對策

除了前面說過的反向布線策略外,需要特別關(guān)注的是,如何減小到達(dá)任意兩個(gè)寄存器的時(shí)鐘線之間的延遲相對值。

改善時(shí)鐘錯(cuò)位可以有以下一些對策。

(1)選擇時(shí)鐘網(wǎng)絡(luò)互連線材料,以減少絕對延遲。

(2)設(shè)計(jì)時(shí)鐘布線網(wǎng)絡(luò),如圖8-2舉例所示,避免相對延遲。圖8-2是一種H形樹狀結(jié)構(gòu),狀態(tài)記憶單元電路被連掛在各個(gè)樹枝上。圖8-2同步系統(tǒng)的時(shí)鐘布線網(wǎng)絡(luò)

(3)設(shè)計(jì)必要的時(shí)鐘驅(qū)動(dòng)器和緩沖器,加速充放電。例如用第一級(jí)驅(qū)動(dòng)器驅(qū)動(dòng)眾多的二級(jí)驅(qū)動(dòng)器,然后再分別驅(qū)動(dòng)不同的模塊電路。

(4)設(shè)計(jì)時(shí)鐘線上合適的扇出負(fù)載,盡量減輕負(fù)載拖累。

(5)設(shè)計(jì)特殊電路并結(jié)合布線,控制時(shí)鐘的上升、下降時(shí)間。

(6)改善受到串?dāng)_的負(fù)面影響。

3.時(shí)鐘的作用

各種同步設(shè)計(jì)方案,都假定有一個(gè)或多個(gè)中央時(shí)鐘,統(tǒng)一協(xié)調(diào)全部電路彼此的步調(diào)。這些時(shí)鐘具有雙重功能。

(1)合理的時(shí)鐘序列先后機(jī)制用于安排系統(tǒng)全局中多個(gè)事件的發(fā)生順序。

時(shí)鐘提供了一種時(shí)間基準(zhǔn),其先后次序用以安排在什么時(shí)刻該發(fā)生什么事件。每當(dāng)時(shí)鐘跳變時(shí),就會(huì)啟動(dòng)多個(gè)操作,進(jìn)而將整個(gè)時(shí)序網(wǎng)絡(luò)改變到新的狀態(tài)。

(2)適當(dāng)?shù)臅r(shí)鐘周期長度用以滿足單件操作的時(shí)間需求。

設(shè)計(jì)時(shí)鐘周期時(shí)要包容所有相關(guān)的門延遲和線延遲。一定要等所有變化均已完成,系統(tǒng)進(jìn)入到一個(gè)穩(wěn)定狀態(tài)后,下一個(gè)時(shí)鐘周期才能開始。這樣才能確保在下一輪計(jì)算期間各自所用的邏輯值都有合適的建立保持時(shí)間。

芯片內(nèi)時(shí)鐘信號(hào)的產(chǎn)生一般分為兩步:片外電路先用晶體振蕩器產(chǎn)生PCB上共用的時(shí)間基準(zhǔn)信號(hào);每一個(gè)芯片在自身的片內(nèi)再完成整形、緩沖、分頻、倍頻以及不同占空比的時(shí)鐘信號(hào)產(chǎn)生。需要注意,在設(shè)計(jì)系統(tǒng)啟動(dòng)時(shí),要先將各記憶單元初始化復(fù)位到零狀態(tài)。8.1.2自時(shí)序異步電路

DSP有兩大特點(diǎn):實(shí)時(shí)性和數(shù)據(jù)驅(qū)動(dòng)。大量DSP運(yùn)算所面對的數(shù)據(jù)驅(qū)動(dòng)特點(diǎn),不適合采用時(shí)鐘同步電路,而更適合于流水線方式。在電路規(guī)模變大時(shí)如果采用同步方案,其時(shí)鐘錯(cuò)位和信號(hào)錯(cuò)位(由于數(shù)據(jù)信號(hào)路徑延遲的不一致性所造成)問題非常嚴(yán)重。為此,人們早就提出用自時(shí)序(Self-timed)這種異步方案來解決這一問題。它屬于時(shí)序問題局部解決方案,是一種可靠又魯棒(Robust)的途徑。自時(shí)序電路也不能說成是全異步的純粹數(shù)據(jù)流驅(qū)動(dòng)型,它仍然需要同步,因此可以稱為半異步。以如圖8-3所示的電路為例,它由多級(jí)排列的記憶鎖存單元(Rx)加功能處理單元(Fx)構(gòu)成,其最大特點(diǎn)是模塊內(nèi)可以有時(shí)鐘,但各模塊是獨(dú)立工作的。相互間不是靠時(shí)鐘完成同步,而是根據(jù)握手(HandShake,HS)協(xié)議設(shè)計(jì)的局部交通管制HS電路來完成數(shù)據(jù)交換等事件操作間的控制通信。這是一種異步流水線形式的數(shù)據(jù)通路結(jié)構(gòu)。當(dāng)然,自時(shí)序并不局限于流水線形式。圖8-3自時(shí)序流水線形式的數(shù)據(jù)通路下面,就以圖8-3的流水線為例說明自時(shí)序電路的工作原理。這是一個(gè)非固定時(shí)序的簡單流水線結(jié)構(gòu),由于每個(gè)模塊功能不同,是不可以跳躍的。

握手電路根據(jù)HS協(xié)議,首先要建立請求Req(uest,R)、應(yīng)答Ack(nowledge,A)信號(hào)機(jī)制,以確保各事件的邏輯順序。就HS而言,某一方的HS在數(shù)據(jù)準(zhǔn)備好后,經(jīng)HS協(xié)議分析判斷后提出對其他方HS的操作請求Req。作為被詢問的運(yùn)算器操作方HS還應(yīng)將其狀態(tài)用信令A(yù)ckS告知對方,表明它已準(zhǔn)備好接收新數(shù)據(jù)字的輸入。在完善的握手機(jī)制中,對于功能模塊而言,HS會(huì)用另外的輸入信號(hào)Start啟動(dòng)功能處理單元的計(jì)算處理。每一個(gè)功能操作塊在處理結(jié)束時(shí)再給HS出一個(gè)信標(biāo)Done,表明它已經(jīng)完成計(jì)算,并在輸出端為其他方準(zhǔn)備好了合用的數(shù)據(jù)字。對于這種數(shù)據(jù)驅(qū)動(dòng)模式,自時(shí)序方案需要事先安排好按照實(shí)際物理約束所需的精確運(yùn)算時(shí)間段。

1.HS握手機(jī)理

HS握手機(jī)理可如下描述。

(1)假設(shè)輸入數(shù)據(jù)字已經(jīng)到達(dá)R1的輸入In處,握手電路HS1根據(jù)HS協(xié)議對塊R1-F1提出了向記憶鎖存單元轉(zhuǎn)移數(shù)據(jù)的操作請求(Re1)。此時(shí),F(xiàn)1還沒有正式開始新的計(jì)算工作,它只需要把新數(shù)據(jù)轉(zhuǎn)移到鎖存單元R1中。完成后立即發(fā)出應(yīng)答(Ac1)將這一現(xiàn)狀通知HS1,表明它等待加工這一新的數(shù)據(jù)。

(2)然后F1被HS1的Start激活,開始對新的數(shù)據(jù)進(jìn)行針對性處理。經(jīng)過一個(gè)長度可能不固定的時(shí)間段之后,給出Done,表明計(jì)算完成,新結(jié)果數(shù)據(jù)也被放在它的輸出端。R1-F1塊整個(gè)的活動(dòng)順序是:Re1→Ac1→Start→Done。

(3)?HS1向HS2發(fā)出Req。

(4)?HS2對R2-F2模塊發(fā)出Re2信號(hào)。如果R2空閑,則立即轉(zhuǎn)移F1輸出的數(shù)據(jù)到鎖存單元R2中來,并給出應(yīng)答Ac2信號(hào)。

(5)?HS2向HS1發(fā)出Ack。以此為前提,握手電路HS1才有可能允許F1繼續(xù)進(jìn)行新的數(shù)據(jù)轉(zhuǎn)移和計(jì)算進(jìn)程;同時(shí)R2-F2模塊也才有可能開始計(jì)算直至完成。除了流水線之外,完全的自時(shí)序技術(shù)允許邏輯功能順序先后和實(shí)際的物理次序不同。完成信號(hào)Done表明該模塊功能已經(jīng)完成,電路處于新的穩(wěn)態(tài)并且可以接收并加工處理新數(shù)據(jù)。通過Ack-Req途徑,即所謂的握手協(xié)議(HandshakingProtocol),可以確保操作的邏輯順序。有關(guān)各方通過握手,或者說雙方認(rèn)可,就實(shí)現(xiàn)了相互間的同步。用HS模塊中實(shí)現(xiàn)上述有關(guān)順序的協(xié)議,只是眾多自時(shí)序方案中的一種。選擇握手協(xié)議是重要的,因?yàn)樗鼘﹄娐沸阅芎涂煽啃跃猩钸h(yuǎn)的影響。自時(shí)序正在進(jìn)一步發(fā)展,其中之一就是采用基于網(wǎng)絡(luò)的結(jié)構(gòu)NOC。

2.異步時(shí)序的優(yōu)缺點(diǎn)

與同步電路的方案相比,自時(shí)序電路有許多誘人的優(yōu)點(diǎn):

(1)與同步方法時(shí)鐘全部集中方案相比,自時(shí)序只在局部范圍中擁有定時(shí)信號(hào),從而避免了由于高速時(shí)鐘的全局分配網(wǎng)絡(luò)帶來的各種麻煩及代價(jià)。

(2)由于只在局部實(shí)現(xiàn)同步,避免了全局同步的副作用,這就進(jìn)而改善了系統(tǒng)設(shè)計(jì)的模塊化程度。

(3)性能也有一定程度的改善。在同步系統(tǒng)中,時(shí)鐘周期必須拉大到包容對各種輸入序列中最慢的路徑。而在自時(shí)序系統(tǒng)中,一個(gè)處理完的數(shù)據(jù)字無需等待下一時(shí)鐘邊沿的到來,就可以即刻送給下一級(jí)交付處理。不難理解,因?yàn)槊總€(gè)模塊電路實(shí)際延遲經(jīng)常與實(shí)際數(shù)據(jù)有關(guān),可以認(rèn)為自時(shí)序電路以硬件平均速度運(yùn)行,而不是同步電路中的最壞延遲模式。對于輸入數(shù)據(jù)源源不斷的情況,前述異步流水線數(shù)據(jù)通路的平均周期Tavg取決于單個(gè)模塊平均延遲的最大值,即

Tavg=max(tavg,F1

;tavg,F2;t

avg,F3)+t

preg

從該式可以看出,通過分配資源設(shè)法保持運(yùn)算負(fù)荷的大致平均,是提高流水線整體速度的有效途徑。

(4)對于不工作的塊可以實(shí)施自動(dòng)關(guān)閉策略以減少功耗。此外,還可以部分消除由于高速時(shí)鐘的產(chǎn)生與分配網(wǎng)絡(luò)引起的額外功耗。如前所述,這一功耗約占總功耗的40%,是相當(dāng)可觀的。

(5)自然,對于各種制造和使用環(huán)境(例如溫度)的離散性,自時(shí)序電路都是相當(dāng)魯棒的。同步系統(tǒng)性能的危險(xiǎn)性在于它總是工作在極限狀態(tài),而自時(shí)序電路的性能一般只與實(shí)際的工作條件有關(guān)。

很遺憾,這些優(yōu)點(diǎn)并不是沒有代價(jià)的,其代價(jià)就是握手控制電路復(fù)雜度大為增加。主要設(shè)計(jì)內(nèi)容是握手邏輯電路,該電路接收完成、應(yīng)答等信號(hào),生成啟動(dòng)、請求等信號(hào)。握手電路像一個(gè)現(xiàn)場交通管制員,負(fù)責(zé)安排電路事件的發(fā)生順序(參見圖8-3中的HS模塊)。

近年來,在信號(hào)處理領(lǐng)域,已經(jīng)出現(xiàn)自時(shí)序除法器電路等快速算術(shù)模塊。但是自時(shí)序電路并不成熟,還處在發(fā)展階段。

目前,有一種新型的時(shí)序邏輯電路設(shè)計(jì)方案,其時(shí)序(定時(shí))模式采取近于全異步的方式,它允許有些同步島單元,但相互連接完成之后形成的是一個(gè)完整的異步網(wǎng)絡(luò)。

8.2系統(tǒng)與電路結(jié)構(gòu)設(shè)計(jì)

8.2.1邏輯與物理結(jié)構(gòu)

結(jié)構(gòu)(Architecture)設(shè)計(jì)的實(shí)質(zhì)是構(gòu)造一個(gè)非常詳盡的系統(tǒng)結(jié)構(gòu)(邏輯+物理)模型。在邏輯和物理結(jié)構(gòu)設(shè)計(jì)階段應(yīng)對功能、性能做廣泛的仿真調(diào)試,否則將來由此階段錯(cuò)誤引起損失的彌補(bǔ)代價(jià)非常昂貴。一般,首先進(jìn)行邏輯結(jié)構(gòu)設(shè)計(jì),而物理結(jié)構(gòu)設(shè)計(jì)除了互連線之外,則應(yīng)該是在保持邏輯電路拓?fù)浣Y(jié)構(gòu)不變前提下的一種有效映射結(jié)果。

結(jié)構(gòu)研究和設(shè)計(jì)的層次有以下兩類。

1.系統(tǒng)與電路的邏輯結(jié)構(gòu)

客觀硬件世界既有串行的順序驅(qū)動(dòng),又有并行運(yùn)行的并發(fā)。這一層次討論的串行抑或并行,均離算法比較接近。

在邏輯設(shè)計(jì)時(shí)需要優(yōu)先研究調(diào)度問題,先要規(guī)劃每個(gè)操作所需要的時(shí)鐘周期數(shù),稱之為控制步,保證運(yùn)行各種輸入測試矢量時(shí)其各部分的速度匹配不出問題。

關(guān)于邏輯結(jié)構(gòu)資源,加法器、狀態(tài)機(jī)等功能單元和寄存器組等記憶單元統(tǒng)稱為宏單元,是建造一個(gè)功能齊全的系統(tǒng)集成ASIC芯片的元件資源。

在對整個(gè)資源的邏輯結(jié)構(gòu)設(shè)計(jì)空間進(jìn)行搜索時(shí),還需要對多種代價(jià),包括面積、速度、功耗、可測性等相沖突的約束進(jìn)行折衷算計(jì)。在功能相同的前提下,邏輯電路結(jié)構(gòu)會(huì)有多種選擇。流水線(Pipeline)結(jié)構(gòu)形式,既可以充分利用時(shí)鐘資源,又盡量減少了等待遲延。相對而言,流水線是一種化簡長組合操作時(shí)鐘的簡便易行方案,在并行結(jié)構(gòu)中將做進(jìn)一步介紹。

在寄存器轉(zhuǎn)移以上的級(jí)別修改邏輯結(jié)構(gòu),其性能改善作用比較大。例如,將一般標(biāo)準(zhǔn)的乘法器改進(jìn)為Booth算法的乘法器,可以降低乘法器的延遲50%。

即使在器件的晶體管級(jí)電路級(jí)別上,也會(huì)有多種邏輯結(jié)構(gòu)供選擇,例如半加器。其基本功能相同,由于結(jié)構(gòu)不同,其延遲、面積都會(huì)不同,這就需要優(yōu)化設(shè)計(jì)。修改晶體管級(jí)電路邏輯結(jié)構(gòu)降低延遲的余地有20%以上。

2.系統(tǒng)與電路的物理結(jié)構(gòu)(版圖)

這一層次接近底層。合理的記憶單元布局有利于充分利用時(shí)鐘周期;合理安排功能單元和信號(hào)互連線網(wǎng)可能會(huì)有效地降低延遲并改善信號(hào)完整性。這些就是物理結(jié)構(gòu)層次的資源分配問題。

版圖對應(yīng)于芯片最底層的物理結(jié)構(gòu),可以從局部微觀和全局宏觀兩個(gè)角度入手進(jìn)行版圖的優(yōu)化設(shè)計(jì)。

局部改變芯片中電路單元的版圖設(shè)計(jì),可以減少晶體管一級(jí)的寄生參數(shù);通過移動(dòng)單元內(nèi)部連線可以壓縮芯片面積或者降低源/漏電容等。全局改變芯片系統(tǒng)中各個(gè)模塊的布局布線,將會(huì)改進(jìn)布局的合理性;降低布線的擁擠程度;或者可以降低互連線的多種寄生參數(shù)。

企圖通過直接改變版圖結(jié)構(gòu)來優(yōu)化版圖設(shè)計(jì),改善延遲和面積,效率往往是很低的。版圖編輯主要被用來進(jìn)行微調(diào),版圖編輯對芯片性能的改善余地為10%~20%,而且很麻煩。但是對于高速互連,還需要深入到版圖進(jìn)行設(shè)計(jì)。

為了改善和提高性能,一般在盡可能高的級(jí)別上花功夫進(jìn)行深入研究、詳細(xì)修改,方案確定不變之后,在確有必要時(shí)再在版圖結(jié)構(gòu)上進(jìn)行微調(diào)。這里不適于采用閉環(huán)反饋的反復(fù)設(shè)計(jì),最好不要再走回頭路。8.2.2系統(tǒng)結(jié)構(gòu)設(shè)計(jì)中的調(diào)度與分配

假設(shè)要設(shè)計(jì)一個(gè)數(shù)字信號(hào)處理器的任務(wù)已經(jīng)明確,那么從系統(tǒng)硬件邏輯到物理結(jié)構(gòu)的映射就是直接的和一次性的。我們將電路結(jié)構(gòu)設(shè)計(jì)涵蓋在系統(tǒng)之內(nèi),那么系統(tǒng)結(jié)構(gòu)設(shè)計(jì)和映射流程如圖8-4所示。這是一種宏觀的創(chuàng)新設(shè)計(jì)技術(shù)。例如,設(shè)計(jì)流水線,時(shí)序調(diào)度就可能會(huì)與資源分配交替進(jìn)行。

有關(guān)調(diào)度與分配的含義在第4章曾做過介紹,這里再進(jìn)一步做一說明。圖8-4系統(tǒng)結(jié)構(gòu)設(shè)計(jì)和映射流程

(1)算法確定之后,首先要對算法中的算術(shù)操作預(yù)留算術(shù)邏輯運(yùn)算和尋址時(shí)間(即時(shí)序調(diào)度(Scheduling)問題)。這時(shí)要根據(jù)需要,引入同步和定時(shí)時(shí)鐘設(shè)計(jì)。調(diào)度從數(shù)據(jù)通路出發(fā),在具體安排調(diào)度時(shí)與控制器設(shè)計(jì)更密切。

(2)其次要規(guī)劃(Allocation)并指定(Assignment)計(jì)算處理資源,包括處理單元和記憶單元。規(guī)劃和指定通常又被統(tǒng)稱為分配,有人稱之為綁定(Binding)。分配與調(diào)度是同時(shí)進(jìn)行和同步交互進(jìn)行的,分配時(shí)要依據(jù)調(diào)度的需求來規(guī)劃并統(tǒng)一指定數(shù)據(jù)通路和控制器單元,但是分配與數(shù)據(jù)通路設(shè)計(jì)關(guān)系更大。

如果對系統(tǒng)要完成的所有處理事先已經(jīng)掌握,可以進(jìn)行靜態(tài)調(diào)度。靜態(tài)調(diào)度就是指不再改變的一次性調(diào)度。與之相對應(yīng)的就是動(dòng)態(tài)調(diào)度。通常這時(shí)對系統(tǒng)某些處理特性事先無法完全掌握,例如出現(xiàn)了由數(shù)據(jù)決定的操作運(yùn)算分支轉(zhuǎn)移。動(dòng)態(tài)調(diào)度時(shí)可以配備輔助的監(jiān)控程序,采用人機(jī)交互方式進(jìn)行調(diào)整。在完成初步資源分配的情況下借助于CAD的模擬仿真手段,監(jiān)視觀察是哪些時(shí)序需要重新調(diào)度,或者需要用新的硬件結(jié)構(gòu)來完成。

優(yōu)化調(diào)度包括系統(tǒng)對信號(hào)取樣周期的選??;處理總滯后(完整等待期,Latency);占用的處理資源和存儲(chǔ)資源等的確定。其優(yōu)化的最終目標(biāo)還是體現(xiàn)在速度、面積、功耗、可測性上。資源規(guī)劃牽涉到可供采用的物理資源品種和數(shù)量,包括各種處理單元、記憶單元和通信控制通道等;資源指定則是確定用哪個(gè)具體的硬件資源來實(shí)現(xiàn)哪種指定的功能。

在系統(tǒng)結(jié)構(gòu)設(shè)計(jì)的全過程中,調(diào)度和分配工作應(yīng)該采用不斷交互迭代的方式同步地進(jìn)行和完成。

設(shè)計(jì)芯片不單是為了完成某一功能而已。事實(shí)上,任何一種功能都可能有許多不同的系統(tǒng)與電路結(jié)構(gòu)供選用和設(shè)計(jì)。所謂的芯片優(yōu)化設(shè)計(jì)就是從所有的可能設(shè)計(jì)中采用有效的方法進(jìn)行篩選,從中找到面積小、速度快的設(shè)計(jì)。這里,可以把電子系統(tǒng)模型化成一個(gè)大的程序設(shè)計(jì),借鑒系統(tǒng)程序分析技術(shù),往往能較好地保證按特定的需要完成整個(gè)設(shè)計(jì)。

有關(guān)電路結(jié)構(gòu)設(shè)計(jì)不再贅述。電路級(jí)結(jié)構(gòu)設(shè)計(jì)與系統(tǒng)結(jié)構(gòu)設(shè)計(jì)相類似,可以認(rèn)為它是在已經(jīng)確定的系統(tǒng)設(shè)計(jì)大框架之內(nèi)的進(jìn)一步細(xì)化和映射。這里面仍然包括RTL、門級(jí)和晶體管級(jí)三個(gè)級(jí)別的邏輯結(jié)構(gòu)和物理結(jié)構(gòu)設(shè)計(jì);同時(shí)包含并行和串行結(jié)構(gòu)。8.2.3數(shù)據(jù)通路

數(shù)據(jù)通路(DataPath)由功能單元、記憶單元、互連網(wǎng)絡(luò)構(gòu)成,它將輸入信號(hào)經(jīng)過處理操作后傳輸?shù)捷敵龆恕?shù)據(jù)通路完成計(jì)算及邏輯運(yùn)算并將結(jié)果存入寄存器中。它既是邏輯結(jié)構(gòu)的概念,也具有物理結(jié)構(gòu)的含義。

典型的數(shù)據(jù)通路包括下述幾類模塊。

1.處理功能單元類

這些單元實(shí)現(xiàn)各種處理操作,例如用加法器和ALU執(zhí)行算術(shù)運(yùn)算;移位器執(zhí)行位操作;計(jì)數(shù)器用在程序中計(jì)數(shù)等。對大多數(shù)信號(hào)數(shù)據(jù)的操作是規(guī)則和重復(fù)的,像加法器、算術(shù)邏輯單元、移位器以及其他運(yùn)算單元都是這樣。復(fù)雜一點(diǎn)的包括DCT矩陣運(yùn)算、卷積、數(shù)字濾波器、小波變換、運(yùn)動(dòng)估計(jì)等。這些規(guī)則的處理操作可以由小元件組成的并行陣列電路來完成。

2.記憶單元類

例如,可以用鎖存器、觸發(fā)器、寄存器、RAM等來存放數(shù)據(jù)。

3.互連線網(wǎng)

典型的數(shù)據(jù)通路采用多路開關(guān)(傳輸門構(gòu)成)、開關(guān)矩陣(通路晶體管組成)、總線、H樹、梳狀結(jié)構(gòu)、傳輸線、LVDS連接、線網(wǎng)(菊花鏈、遠(yuǎn)端簇等)實(shí)現(xiàn)互連。其中每個(gè)單元與其他每一個(gè)單元間有著復(fù)雜的連接關(guān)系。也有一些是單純兩個(gè)成對單元間簡單的點(diǎn)對點(diǎn)連接。

單元間的數(shù)據(jù)傳遞常常在一個(gè)或幾個(gè)數(shù)據(jù)總線或公用連接線上進(jìn)行;總線中數(shù)據(jù)的位數(shù)決定了一個(gè)時(shí)鐘周期內(nèi)傳遞的最大數(shù)據(jù)寬度,它是數(shù)據(jù)通路的主要設(shè)計(jì)參數(shù)。

為了充分利用數(shù)據(jù)通路中數(shù)據(jù)操作的規(guī)則性和重復(fù)性,版圖可以設(shè)計(jì)成多位片(BitSlice)形式。圖8-5所示就是典型的位片數(shù)據(jù)通路中的一位。圖8-5位片數(shù)據(jù)通路中的一位圖8-5所示是一位形式的完整數(shù)據(jù)通路,將它加以復(fù)制就可以得到n位的數(shù)據(jù)通路。通常,數(shù)據(jù)流水平地沿著點(diǎn)對點(diǎn)連接或者總線通過位片;而控制信號(hào)垂直流動(dòng),控制信號(hào)包括寄存器的讀寫信號(hào)、ALU的操作碼等。

數(shù)據(jù)通路—控制器結(jié)構(gòu)的一種形式如圖8-6所示。

圖8-6數(shù)據(jù)通路—控制器結(jié)構(gòu)數(shù)據(jù)通路的版圖設(shè)計(jì),要充分發(fā)掘和利用其中數(shù)據(jù)操作所具有的規(guī)則性和重復(fù)性。通常,數(shù)據(jù)通路的版圖部分由人工完成設(shè)計(jì);控制器部分則通常采用有限狀態(tài)機(jī)來實(shí)現(xiàn),根據(jù)前面對操作占用控制步的調(diào)度安排進(jìn)行綜合,采用EDA工具可以實(shí)現(xiàn)自動(dòng)化設(shè)計(jì)與綜合。結(jié)合前面的Verilog語言的學(xué)習(xí),大致可以說,控制器部分適合用行為風(fēng)格描述,數(shù)據(jù)通路部分則宜于采用層次化結(jié)構(gòu)設(shè)計(jì)以及數(shù)據(jù)流風(fēng)格。

芯片內(nèi)和PCB板都需要設(shè)計(jì)數(shù)據(jù)通路。人們已經(jīng)制定了各個(gè)級(jí)別的總線標(biāo)準(zhǔn),包括系統(tǒng)級(jí)的通信總線、PCB板之間的總線、芯片之間的總線和芯片內(nèi)總線,這些都是用于電路和系統(tǒng)設(shè)計(jì)時(shí)的規(guī)范式接口標(biāo)準(zhǔn)結(jié)構(gòu)。許多芯片內(nèi)外的總線標(biāo)準(zhǔn),完全可以用作設(shè)計(jì)芯片內(nèi)數(shù)據(jù)通路結(jié)構(gòu)時(shí)的依據(jù)和參考。8.2.4寄存器轉(zhuǎn)移結(jié)構(gòu)

數(shù)據(jù)通路—控制器結(jié)構(gòu)對應(yīng)的可以是一種典型的寄存器轉(zhuǎn)移機(jī)制,兩者描述的內(nèi)容是一樣的。圖8-7所示的寄存器轉(zhuǎn)移子系統(tǒng)是一個(gè)功能抽象的時(shí)序機(jī)。圖中的各種組合邏輯加上記憶單元構(gòu)成了數(shù)據(jù)通路的主體。雖然控制部分被隱去,但狀態(tài)轉(zhuǎn)移過程必然是受控的,所以,仍然可以從整體上解釋為數(shù)據(jù)通路—控制器邏輯結(jié)構(gòu)描述。圖8-8用結(jié)構(gòu)方框圖描述寄存器轉(zhuǎn)移子系統(tǒng),顯得更直觀,上面是控制器,下面則是數(shù)據(jù)通路。其中部件1、2的內(nèi)部包括有組合邏輯和記憶單元。

對于圖8-8中各方框間的連接,雖然不必給出邏輯設(shè)計(jì)細(xì)節(jié),但是需要給出其時(shí)序關(guān)系??刂破饕墚a(chǎn)生數(shù)據(jù)通路中的讀寫控制信號(hào)和組合邏輯部件中的操作碼等。

圖8.7與圖8.8是描述同一個(gè)問題的兩個(gè)側(cè)面。圖8-7寄存器轉(zhuǎn)移子系統(tǒng)結(jié)構(gòu)圖8-8寄存器轉(zhuǎn)移子系統(tǒng)方框圖為了方便,通??偸强梢园呀Y(jié)構(gòu)分解為數(shù)據(jù)部分和控制部分兩部分。如前所述,數(shù)據(jù)通路主體部分包括可加載寄存器,規(guī)則的算術(shù)邏輯功能;控制部分包括隨機(jī)邏輯和狀態(tài)機(jī)。也有少數(shù)一些結(jié)構(gòu)是純數(shù)據(jù)(例如數(shù)字濾波器)或者是純控制(例如簡單的通信協(xié)議),但大多數(shù)結(jié)構(gòu)是數(shù)據(jù)加控制。需要注意,這種人為地將設(shè)計(jì)區(qū)別為數(shù)據(jù)通路和控制器,常常有助于理解系統(tǒng)的操作,但是必須指出數(shù)據(jù)和控制有時(shí)是難于劃分的。

寄存器轉(zhuǎn)移級(jí)(RTL)是對一類電路模塊的抽象描述。寄存器轉(zhuǎn)移將每一個(gè)轉(zhuǎn)移操作分配一個(gè)控制步,一個(gè)控制步可能由一個(gè)或幾個(gè)時(shí)鐘周期組成。這些選擇對將來整個(gè)設(shè)計(jì)的面積、速度和可測性都有比較深刻的影響。寄存器轉(zhuǎn)移抽象是結(jié)構(gòu)設(shè)計(jì)的基礎(chǔ)。寄存器轉(zhuǎn)移給出芯片在每一個(gè)控制步內(nèi)應(yīng)該做什么的完整描述。然而,即使只要求描述寄存器轉(zhuǎn)移系統(tǒng)的抽象功能,而不要求給出邏輯電路,那么為了描述完整的時(shí)序關(guān)系,其工作量已經(jīng)非常大了。因此我們更看重在RTL一級(jí)的宏觀層面上來研究抽象的調(diào)度和分配,從中掌握如何優(yōu)化寄存器轉(zhuǎn)移設(shè)計(jì),以達(dá)到改進(jìn)速度、面積、功耗和可測性、可靠性的目的。對于特別大的系統(tǒng),千萬不要錯(cuò)過在系統(tǒng)級(jí)實(shí)現(xiàn)最高層次邏輯結(jié)構(gòu)設(shè)計(jì)的決策機(jī)會(huì)。在進(jìn)行這種系統(tǒng)級(jí)行為層次設(shè)計(jì)時(shí),可以考慮DSP等大規(guī)模部件模塊級(jí)別的資源分配和時(shí)序調(diào)度問題。更進(jìn)一步,不論是采用EDA綜合工具或者人工方式,在將行為規(guī)范描述轉(zhuǎn)換為RTL結(jié)構(gòu)描述的過程中,技術(shù)要點(diǎn)也還是調(diào)度和分配。

8.3處理器并行算法與結(jié)構(gòu)

8.3.1引言

算法、體系結(jié)構(gòu)、硬件實(shí)現(xiàn)是我們一貫倡導(dǎo)的三段論研發(fā)思路。這里討論的是體系結(jié)構(gòu)。

ASIC是電子系統(tǒng)硬件實(shí)現(xiàn)方案中的核心器件。設(shè)計(jì)師選擇ASIC完成處理功能的最大優(yōu)越性在于可以有效發(fā)揮它的并行運(yùn)算潛能。算法是對加工處理過程的一種行為描述,“削鉛筆”的不同削法就是不同的算法。為了設(shè)計(jì)好核心處理器芯片,算法研究當(dāng)然是研發(fā)過程的龍頭。只不過,這里的算法是通過硬件結(jié)構(gòu)來體現(xiàn)的,或者說實(shí)際結(jié)構(gòu)在運(yùn)算時(shí)要執(zhí)行某種算法。建造并行處理器的前提是發(fā)現(xiàn)、創(chuàng)造出具有并行性質(zhì)的實(shí)時(shí)處理算法,尤其是在研究并行處理算法時(shí),必須同時(shí)研究算法映射的并行硬件結(jié)構(gòu),充分利用硬件結(jié)構(gòu)本身自然固有的并發(fā)性。并行性(Parallelism),指的是同一時(shí)刻或同一時(shí)間間隔內(nèi)完成兩種或兩種以上性質(zhì)相同或不相同的工作,只要時(shí)間上互相重疊,就存在并行性。嚴(yán)格地講,把兩個(gè)或多個(gè)事件在同一時(shí)刻發(fā)生的并行性叫做同時(shí)性(Simultaneity);而把兩個(gè)或多個(gè)事件在同一時(shí)間間隔內(nèi)發(fā)生的并行性稱之為并發(fā)性(Concurrency)。

與前面討論的數(shù)據(jù)通路-控制器結(jié)構(gòu)一脈相承,研究并行性算法和實(shí)現(xiàn)的重點(diǎn)在于數(shù)據(jù)加工和控制兩個(gè)著眼點(diǎn),但是最終落腳點(diǎn)是數(shù)據(jù)通路,控制也要落實(shí)到數(shù)據(jù)通路上。將任務(wù)(指令)分解成不同的子任務(wù)(操作)進(jìn)行處理,是控制流(又稱指令流)意義上的并行;將數(shù)據(jù)分解成易于并行處理的結(jié)構(gòu)是數(shù)據(jù)流意義上的并行。

Parallel、Pipeline主要用于無反饋的非遞歸計(jì)算。如果是遞歸和自適應(yīng)濾波,則不適應(yīng)并行及流水,因?yàn)樗鼈兇嬖诜答伃h(huán)。

并行性研究中許多詞匯是計(jì)算機(jī)術(shù)語,例如指令、程序等。事實(shí)上設(shè)計(jì)算法專用處理器芯片的控制命令也可以等同于設(shè)計(jì)計(jì)算機(jī)指令,以下全部的論述都可以從通常軟件的概念向硬件加以類比和擴(kuò)展。

另外,同樣的概念和原則可能會(huì)用于不同的論域。如果被操作對象很大很粗,稱之為粗粒度;如果被操作對象很小很細(xì),則稱之為細(xì)粒度。

1.并行性的等級(jí)

(1)從指令(控制)流的角度看,并行性等級(jí)從低到高可以分為細(xì)粒度和粗粒度兩類,由細(xì)到粗依次為:

①指令內(nèi)部并行——指令內(nèi)微操作間并行。

②指令間并行——并行執(zhí)行幾條指令。加、乘都被認(rèn)為是一條指令。

③任務(wù)級(jí)或過程級(jí)并行——并行執(zhí)行幾個(gè)程序段。

④作業(yè)或程序級(jí)并行——并行執(zhí)行幾個(gè)作業(yè)。

(2)從被處理的數(shù)據(jù)流角度看,并行性等級(jí)從低到高也可以稱為細(xì)粒度和粗粒度,并可以由細(xì)到粗再分為:

①字串位并——同時(shí)對一個(gè)字的全部位進(jìn)行處理。

②字并位串——同時(shí)對許多字的同一位(稱位片)進(jìn)行處理。

③全并行——同時(shí)對許多字的全部或部分位進(jìn)行處理。

以圖像處理為例,細(xì)粒度就是指像素(一般占8位或16位),粗粒度就是指圖像塊、若干行、若干列、全圖像等。

上述兩類可以交叉配對,后面將論述到由它們交叉組成的類別。在一個(gè)信號(hào)處理器中,可以通過多種技術(shù)途徑廣泛采用多種并行性措施。既可以有執(zhí)行程序指令方面的并行性,又可以有被處理數(shù)據(jù)方面的并行性。當(dāng)并行性提高到一定級(jí)別時(shí),則稱為進(jìn)入并行處理(ParallelProcessing)或者并行計(jì)算領(lǐng)域。例如從執(zhí)行指令的并行性上升到任務(wù)級(jí),或從被處理數(shù)據(jù)位的并行性上升到字并位串一級(jí),即可認(rèn)為進(jìn)入并行處理領(lǐng)域。并行處理是實(shí)時(shí)信號(hào)信息處理的一種有效形式,它著重挖掘計(jì)算過程中的并行事件,盡可能使并行性達(dá)到較高的級(jí)別。實(shí)現(xiàn)并行處理牽涉到理論算法、結(jié)構(gòu)及硬件設(shè)計(jì)、軟件編程等多方面的配合,它是一個(gè)綜合性的研究領(lǐng)域。不過,我們重點(diǎn)討論的是處理器內(nèi)部并行處理的設(shè)計(jì)技術(shù)。

2.途徑

在計(jì)算機(jī)、處理器中提高并行性的措施有多種,一般可以歸納為三種實(shí)現(xiàn)途徑:

(1)時(shí)間重疊(Time-Interleaving)。

(2)資源重復(fù)(Resource-Replication)。

(3)資源共享(Resource-Sharing)。

例如,流水線是并行處理研究領(lǐng)域的重要成果,它基本上屬于時(shí)間重疊。而圖像處理器中多數(shù)屬于資源重復(fù),即在并行性的概念中引入了空間因素,是根據(jù)“以數(shù)量取勝”的原則,通過重復(fù)地設(shè)置硬件資源來大幅度提高專用處理器的性能。另一方面,比如代價(jià)昂貴的浮點(diǎn)運(yùn)算協(xié)處理器就可以用來實(shí)現(xiàn)資源共享。

3.分類

處理器的基本處理動(dòng)作可以認(rèn)為是對數(shù)據(jù)執(zhí)行一系列處理指令,完成對一批批數(shù)據(jù)流的處理。據(jù)此,1966年M.J.Flynn(弗林)提出按指令流和數(shù)據(jù)流的多倍性對處理器、計(jì)算機(jī)進(jìn)行分類,得到了業(yè)界的一致認(rèn)同,并沿襲至今。該分類方法由所謂指令流(I—Instructionstream)、數(shù)據(jù)流(D—Datastream)和多倍性(M—Multiplicity,多;S—Single,單)將處理器分為四類:

(1)?SISD——單指令流單數(shù)據(jù)流。

(2)?SIMD——單指令流多數(shù)據(jù)流。

(3)?MISD——多指令流單數(shù)據(jù)流。

(4)?MIMD——多指令流多數(shù)據(jù)流。第一種是最簡單的一種,而后面三種均為并行結(jié)構(gòu)。圖像處理中并行處理的主流是SIMD結(jié)構(gòu)和MIMD結(jié)構(gòu),MIMD的例子有Systolic中的Wavefront。后面將對它們分別做進(jìn)一步介紹。

4.研究路線

對專用處理器設(shè)計(jì)的研究,一般應(yīng)遵循下述路線和步驟:

(1)處理計(jì)算理論與算法方案研究。

(2)邏輯體系結(jié)構(gòu)資源分配映射與時(shí)序調(diào)度研究。

(3)物理層硬件實(shí)現(xiàn)系統(tǒng)與電路設(shè)計(jì)。

下面舉例介紹幾種并行邏輯結(jié)構(gòu),它們既可以是粗粒度,也可以是細(xì)粒度。8.3.2SIMD結(jié)構(gòu)

大多數(shù)早期的并行處理器都屬于SIMD結(jié)構(gòu),已經(jīng)成功地被用作圖像處理器的有STRAN、MPP、DAP等。它們都屬于數(shù)據(jù)位片串行處理,即同時(shí)對許多字或字中的某一位進(jìn)行處理。SIMD的基本結(jié)構(gòu)如圖8-9所示。圖8-9SIMD的基本結(jié)構(gòu)

SIMD結(jié)構(gòu)包含多個(gè)重復(fù)處理單元PE(ProcessingElement),由單一指令部件CU(ControlUnit)按照同一指令流CS的要求同時(shí)為多個(gè)PE分配各自不同的數(shù)據(jù)流DSm。這里的處理單元PE是指不帶指令控制功能的算術(shù)邏輯單元,也就是前面所說的數(shù)據(jù)通路。所謂并行處理器就是指重復(fù)設(shè)置多個(gè)這樣的處理單元PE,按照一定的方式相互連接,在統(tǒng)一的控制部件CU的作用下,各自對分配來的數(shù)據(jù)流DSm并行地完成同一條指令所規(guī)定的操作。這里,簡單地假設(shè)被處理數(shù)據(jù)來自一個(gè)數(shù)據(jù)緩沖存儲(chǔ)器部件Mm中,而且處理后的結(jié)果又回到Mm中去。這里的存儲(chǔ)器組織Mm需要精確地與圖像結(jié)構(gòu)相匹配。重復(fù)設(shè)置處理單元的理由是出于兩個(gè)考慮:第一是經(jīng)濟(jì)性;第二是簡化處理單元之間的通信。因?yàn)樵谶@種處理器中,各處理單元執(zhí)行相同操作,它們受同一控制部件作用,它們之間的通信是同步進(jìn)行的。

SIMD無疑是最適于某種場合下的圖像處理結(jié)構(gòu),它被公認(rèn)為特別適于像素級(jí)處理。8.3.3MISD——流水線

流水線是并行處理的一種。這里的“流水”,是指被處理的數(shù)據(jù)像是流水流過。相對而言,流水線(Pipeline,管線、管道)是一種化簡長組合操作、降低時(shí)鐘周期的簡便易行方法。簡單的流水線可以看做是MISD結(jié)構(gòu)的一種實(shí)例。流水線是一種排成一條線的結(jié)構(gòu),它是相對于不排成一條線的其他結(jié)構(gòu)而獨(dú)立存在的。其好處在于提高了處理速度;化簡了關(guān)鍵路徑;降低了功耗。如果在系統(tǒng)處理中有一個(gè)復(fù)雜的組合邏輯元件,其延遲比其他的元件大得多,那么它將嚴(yán)重影響處理器的速度。假如由該組合元件的傳播延遲來確定時(shí)鐘周期,那么芯片中的其余邏輯電路在時(shí)鐘周期的大部分時(shí)間內(nèi)將處于空閑狀態(tài)。

流水線將大塊的組合邏輯功能分解為許多組合邏輯片斷電路,它們每個(gè)的延遲與處理器中其他元件的延遲差不多相等。其中二級(jí)流水的結(jié)構(gòu)如圖8-10所示。圖8-10MISD同步流水線結(jié)構(gòu)顯然,在組合邏輯的斷開處,需要引入一組記憶單元。通常,我們希望所有組合的輸出都能在同一時(shí)鐘周期內(nèi)完成。也就是說,斷開處要將輸入、輸出劃分成簡單不相交的兩個(gè)集合。整個(gè)流水線處理器實(shí)現(xiàn)與以前相同的組合功能,只是被劃分成幾個(gè)時(shí)鐘周期來完成處理和計(jì)算。

對于一個(gè)流水線來說,從它第一個(gè)輸入到達(dá)算起,直到有相關(guān)的輸出出現(xiàn),這段時(shí)間所包含的周期個(gè)數(shù)就稱之為流水線的滯后等待期(Latency)。如果流水線劃分成的片斷級(jí)數(shù)越多,或者說流水深度越深,則所需的時(shí)鐘周期就越短,而等待期就越多。深度適當(dāng),時(shí)鐘周期下降明顯,效率提高;深度太深,效益非但不明顯,且等待期呈線性上升。

整個(gè)流水線處理器的等待期延遲比原來不做流水劃分的組合邏輯延遲總是要大一些,這主要是由于幾個(gè)記憶單元需要留有必要的建立和保持時(shí)間。但是因?yàn)樘幚砥髦械年P(guān)鍵延遲路徑長度經(jīng)過流水分解之后已經(jīng)與其他模塊大致相當(dāng),單個(gè)時(shí)鐘周期的絕對值則得到顯著的降低。如何劃分,以便在合適的斷開處放置記憶單元組等記憶單元,是一項(xiàng)比較講究的技術(shù)。否則,放置不當(dāng)又會(huì)出現(xiàn)新的延遲不平衡現(xiàn)象。每個(gè)流水線段完成的運(yùn)算有移位、求絕對值、加減運(yùn)算、比較等。以圖像壓縮中的運(yùn)動(dòng)估計(jì)為例,其基本運(yùn)算是減法、絕對值、求和以及比較運(yùn)算,很容易將其分解設(shè)計(jì)成流水線結(jié)構(gòu)。

由于時(shí)鐘頻率通常較高,流水線設(shè)計(jì)中要特別注意解決好時(shí)鐘錯(cuò)位問題。當(dāng)工藝改變時(shí),流水線有可能需要重新設(shè)計(jì)。

以圖8-11的同步流水線數(shù)據(jù)通路為例,就像是一列士兵在班長口令下統(tǒng)一行動(dòng)那樣,待加工數(shù)據(jù)在時(shí)鐘的指揮下,依次通過運(yùn)算電路序列。圖8-11流水線形式的同步數(shù)據(jù)通路在選擇時(shí)鐘的周期時(shí),要求它比流水線中最慢的一個(gè)環(huán)節(jié)延遲還稍微長一點(diǎn),即

T>max(tpF1,tpF2,tpF3)+t

preg

這是一種所謂的物理時(shí)序約束。在每一個(gè)時(shí)鐘跳變時(shí),對新的一批數(shù)據(jù)采樣并重新開始計(jì)算。根據(jù)處理器吞吐量的定義,本電路每秒處理的數(shù)據(jù)樣本數(shù),其數(shù)值就是時(shí)鐘速率。在本例中,何時(shí)采樣新數(shù)據(jù)以及何時(shí)輸出結(jié)果均取決于處理事件的邏輯順序和物理順序,并且還要受到同步時(shí)鐘的統(tǒng)一協(xié)調(diào)控制。

圖8-12介紹一個(gè)流水線及并行的兩類設(shè)計(jì)改造方案。圖8-12一般數(shù)據(jù)通路改造為流水線和并行處理設(shè)計(jì)示例8.3.4MIMD——Systolic結(jié)構(gòu)

在并行處理器中比較著名的是Systolic——心搏式(搏動(dòng)式)陣列結(jié)構(gòu)。它是在一維流水的基礎(chǔ)上擴(kuò)展而成的,其特點(diǎn)是規(guī)則化、模塊化。Systolic不屬于SIMD/MISD結(jié)構(gòu),而屬于MIMD結(jié)構(gòu)。華裔學(xué)者孔重熙和貢三元在此方向上作出了開創(chuàng)性的貢獻(xiàn)。Systolic陣列結(jié)構(gòu)也是廣義的流水線結(jié)構(gòu),是流水線的高級(jí)形式,該結(jié)構(gòu)便于設(shè)計(jì)成ASIC形式。它的技術(shù)難點(diǎn)是如何保證數(shù)據(jù)不斷流入陣列以使陣列連續(xù)忙碌,避免空閑,這是迄今的一個(gè)研究重點(diǎn)。

Systolic陣列結(jié)構(gòu)由一組互連單元組成,每個(gè)單元執(zhí)行一些簡單的運(yùn)算。其結(jié)構(gòu)簡單且具有相當(dāng)規(guī)則的通信和控制。Systolic型處理器中的信息以流水線方式在各單元之間流動(dòng)。在Systolic陣列中,只有陣列邊界上的單元可以用作I/O端口。利用這種簡單廉價(jià)的Systolic結(jié)構(gòu)可以提高運(yùn)算受限類的計(jì)算速度(如矩陣相乘。注:另一類為I/O受限,如矩陣相加等)。

設(shè)計(jì)Systolic結(jié)構(gòu)有以下幾點(diǎn)要素:內(nèi)積步(InnerProductStep,乘加運(yùn)算)操作;網(wǎng)格連接;統(tǒng)一的陣列控制。

1.內(nèi)積步(Co←Ci+Ai×Bi)

這是所有算法中最通用的單步乘加操作,被稱做是內(nèi)積步處理器。它是DSP處理器中最基本的乘加(MAC)運(yùn)算單元。當(dāng)然,也可以將內(nèi)積步擴(kuò)展為某種廣義的基本運(yùn)算功能。

在這個(gè)處理器中有三個(gè)寄存器RA、RB、RC,它們級(jí)聯(lián)起來就是移位寄存器陣列。每個(gè)寄存器有兩個(gè)連接點(diǎn),一個(gè)接輸入,一個(gè)接輸出,共有兩種幾何關(guān)系,如圖8-13(a)、(b)所示。下面,我們分析解釋一下DSP常規(guī)的乘加運(yùn)算:C=a0b0+a1b1+a2b2+a3b3+…。它可以被分解為下列遞推運(yùn)算:

C0=0;C1=C0+a0b0;C2=C1+a1b1;C3=C2+a2b2

顯然,后面三個(gè)式子模板就是內(nèi)積步的Co←Ci+Ai×Bi結(jié)構(gòu)。兩種幾何連接沒有本質(zhì)的差別,圖8-13(c)是它們的內(nèi)部邏輯連接關(guān)系。在一個(gè)單位時(shí)間間隔內(nèi),一個(gè)處理器之內(nèi)只進(jìn)行Co←Ci+Ai×Bi的運(yùn)算,RA、RB以及新的RC將再輸出到輸入端Ao、Bo、Co上。圖8-13內(nèi)積步處理器結(jié)構(gòu)

2.網(wǎng)格連接

將圖8-13(a)加以正交擴(kuò)展連接,見圖8-14(a)、(b),它適于作矩陣—向量乘法;將圖8-13(b)加以六邊擴(kuò)展連接,見圖8-14(b),則更適用于矩陣乘法。

上述處理器之間所采用的基本網(wǎng)絡(luò)組織是網(wǎng)格連接,一個(gè)處理器只和相鄰的處理器連接。主要的連接方式有三種:

(1)直線連接(圖8-14(a))。

(2)正交連接(圖8-14(b))。

(3)六邊連接(圖8-14(c))。圖8-14心搏式(Systolic)陣列結(jié)構(gòu)

3.陣列控制

由這種連接所組成的處理器陣列統(tǒng)一受有規(guī)律指令的同步控制,陣列中的每個(gè)單元都按固定的規(guī)則對數(shù)據(jù)進(jìn)行加工并輸出,類似于人的心臟血液循環(huán)那樣有節(jié)奏地進(jìn)行。這種結(jié)構(gòu)只有采用ASIC設(shè)計(jì)才能夠得到充分體現(xiàn)。

目前,標(biāo)準(zhǔn)數(shù)字信號(hào)處理器比專用處理器的應(yīng)用面更為廣泛。它采用了新型的并行機(jī)制乘法累加器(MAC)結(jié)構(gòu)以增強(qiáng)乘加運(yùn)算能力。它可以同時(shí)進(jìn)行一個(gè)乘加、取數(shù)、取指、譯碼和存儲(chǔ)器指針加減等多種運(yùn)算。缺點(diǎn)是片上內(nèi)存小,I/O帶寬不夠,難以實(shí)現(xiàn)并行處理。不論通用或?qū)S锰幚砥?,?shù)據(jù)字長小于16位,在運(yùn)算處理中普遍地采用定點(diǎn)運(yùn)算。浮點(diǎn)運(yùn)算的電路規(guī)模大、復(fù)雜度高,功耗大、速度低。浮點(diǎn)處理器一般都采用符合IEEE754標(biāo)準(zhǔn)的64位雙精度運(yùn)算。在通用計(jì)算機(jī)和處理器中已經(jīng)普遍實(shí)現(xiàn)了浮點(diǎn)運(yùn)算,其主要優(yōu)點(diǎn)是被處理數(shù)據(jù)的動(dòng)態(tài)范圍增大。隨著半導(dǎo)體工藝的不斷進(jìn)步,浮點(diǎn)運(yùn)算處理部件也正在專用處理領(lǐng)域受到越來越多的關(guān)注。事實(shí)上,實(shí)際的數(shù)字信號(hào)處理應(yīng)用中不得不采用浮點(diǎn)運(yùn)算的場合是有限的,主要是三維物體重建和三維圖形CAD方面。定點(diǎn)運(yùn)算仍然是目前大多數(shù)硬件實(shí)現(xiàn)場合比較適用的形式,這時(shí)考慮精度問題往往比動(dòng)態(tài)范圍更重要,同時(shí)也可以避開浮點(diǎn)運(yùn)算中乘積的舍入非線性問題等。目前,在我們最關(guān)心的實(shí)時(shí)專用DSP信號(hào)信息處理器設(shè)計(jì)中,仍然以定點(diǎn)處理為主,通常盡量避免采用通用處理器中的浮點(diǎn)運(yùn)算。

8.4芯片內(nèi)外互連技術(shù)與信號(hào)完整性

USB、IEEE1394串口逐漸取代了并行接口,片上網(wǎng)絡(luò)(NOC)日漸盛行,F(xiàn)PGA留有LVDS接口及其IP核設(shè)計(jì),并串(Serdes)收發(fā)(Transceiver)轉(zhuǎn)換芯片以及LVDS接口標(biāo)準(zhǔn)大行其道,這都是由于高速互連引發(fā)的技術(shù)進(jìn)展。

假設(shè)特征尺寸減小時(shí)的芯片面積不變,則芯片規(guī)模必然變大。這時(shí),全局性的互連線更加增多,比重也會(huì)加大。平均互連線長度不是減短,而是明顯變長,因此由互連引起的問題更加嚴(yán)重。為此,人們不得不關(guān)注互連及其信號(hào)完整性(SignalIntegrity,簡稱SI)問題,并且尋找能有效解決問題的途徑。其他還有電源完整性、數(shù)據(jù)完整性、電磁完整性、熱完整性等。8.4.1高速互連及信號(hào)完整性問題

1.高速互連引起的各種后果

互連線電容、互連電感、交直流電阻對信號(hào)完整性的影響是不同的,主要后果有以下幾個(gè)方面。

(1)信號(hào)波形失真畸變、干擾噪聲加大等,造成工作不正常,這是狹義的SI問題——SI分析。

(2)電源軌道塌陷(RailCollapse),這是狹義的電源完整性(PI)問題——PI分析。

(3)容性負(fù)載和導(dǎo)線趨膚/介質(zhì)損耗造成符號(hào)間干擾(ISI),使傳輸誤碼率變大——數(shù)據(jù)完整性分析。

(4)電磁完整性——由于共模電流以及振鈴的產(chǎn)生,引起電磁干擾(EMI)。

(5)熱完整性——由于需要加大負(fù)載驅(qū)動(dòng)能力,隨之而來使電路功耗加大——IRDrop分析。

(6)產(chǎn)生嚴(yán)重的傳播延遲造成時(shí)序問題,制約電路的工作速度——延遲(Delay)與時(shí)序(Timing)分析。

(7)電阻造成電遷徙(EM)等,使電路工作不可靠——EM和可靠性分析。上述這些問題都是高速系統(tǒng)與電路設(shè)計(jì)中的重要研究方向??梢詫@七個(gè)問題分別專門研究,即:信號(hào)完整性;電源完整性;數(shù)據(jù)完整性(和符號(hào)間干擾);電磁完整性(EMI);熱完整性(和低功耗);延遲及時(shí)序;EM和可靠性等的分析與設(shè)計(jì)。下面將重點(diǎn)討論其中的信號(hào)完整性問題。

2.高速的含義

現(xiàn)代數(shù)字電子系統(tǒng)正在突破1GHz的壁壘,ASIC/PCB的設(shè)計(jì)必然面臨日益突出的信號(hào)完整性問題。隨著系統(tǒng)工作頻率的提高,當(dāng)數(shù)字信號(hào)的上升邊小于1納秒(ns)時(shí),互連不再透明,它可能對電路和系統(tǒng)造成顛覆性的后果。

目前超過100MHz時(shí)鐘的高速數(shù)字芯片和系統(tǒng)已經(jīng)很普遍,而高頻下的信號(hào)完整性問題非常嚴(yán)重,使得產(chǎn)品很難做到首件成功。信號(hào)完整性問題是物理互連在高速情況下的直接結(jié)果。

3.互連的范疇

物理互連包括芯片內(nèi)連線、芯片封裝、PCB板及電子系統(tǒng)連接等,它們極大地影響高速時(shí)的信號(hào)和電源分配網(wǎng)絡(luò)質(zhì)量。

真實(shí)的互連線,包括芯片內(nèi)連線、壓焊點(diǎn)、封裝引線、芯片引腳,芯片外的PCB板線接頭、線條、接插件、連接電纜等。此外還有各種無源元件,包括介質(zhì)、基板、屏蔽盒、機(jī)殼、機(jī)架等。

4.信號(hào)完整性分類

信號(hào)完整性討論的主要對象是數(shù)字信號(hào),可以稱這是一種模擬效應(yīng)。數(shù)字信號(hào)的前沿包含大量的高頻成分。

信號(hào)完整性,是指信號(hào)波形的形狀及質(zhì)量。由于互連干擾和噪聲的存在,其波形外觀變差,出現(xiàn)了非正常形狀的變形,影響電路的正常工作,稱為完整性被破壞。

在研究信號(hào)完整性時(shí),將互連對系統(tǒng)電氣性能的影響從本質(zhì)上歸結(jié)為四類噪聲問題:反射、串?dāng)_、地彈(SSN,涵蓋軌道塌陷)、EMI。各種互連線模型被用來分析它對系統(tǒng)帶來的干擾和噪聲。如圖8-15所示,反射(Reflection)是指互連傳輸線單個(gè)網(wǎng)絡(luò)上的回波現(xiàn)象。信號(hào)功率(電壓和電流)的一部分經(jīng)傳輸線上傳輸?shù)截?fù)載端,另有一部分被反射回來形成振鈴(Ringing)。

如圖8-16所示,串?dāng)_(Crosstalk)是指在兩個(gè)不同的互連網(wǎng)絡(luò)之間由于互容和互感造成的相互干擾。產(chǎn)生串?dāng)_的被稱為Aggressor,而收到干擾的被稱為Victim。通常,每一個(gè)網(wǎng)絡(luò)既是Aggressor,又是Victim。圖8-15由于阻抗不匹配造成的反射和振鈴現(xiàn)象圖8-16兩條互連線之間的遠(yuǎn)端和近端串?dāng)_情況符號(hào)間干擾(ISI),或者是數(shù)據(jù)完整性,首先是由于容性負(fù)載和導(dǎo)線趨膚/介質(zhì)損耗造成的上升邊退化,如圖8-17所示。它將形成高速鏈路中串行的0、1符號(hào)間的拖累,進(jìn)而導(dǎo)致傳輸誤碼率變大,產(chǎn)生抖動(dòng)和噪聲。圖8-17由于有損線導(dǎo)線及介質(zhì)損耗造成的信號(hào)上升邊退化地彈特指互連網(wǎng)絡(luò)的返回路徑中兩點(diǎn)之間的感應(yīng)電壓,它是由于回路中電流的急劇變化而產(chǎn)生的局部壓降,如圖8-18所示。電源分布系統(tǒng)(PDS)中的軌道塌陷,也是指地/電源網(wǎng)絡(luò)中某段阻抗上的壓降。軌道塌陷和電源噪聲又統(tǒng)稱為電源完整性。

電磁完整性(EMI,ElectroMagneticIntegrity,通常EMI是指電磁干擾),一般情況下,是共模電流使得某個(gè)傳輸線(互連線條、封裝引線/管腳)充當(dāng)天線作用發(fā)射電磁波的后果。集成電路芯片和許多電纜也都可能造成輻射泄漏而引起電磁干擾現(xiàn)象。圖8-18同時(shí)開關(guān)電流造成的電源噪聲和地彈情況

5.高速互連設(shè)計(jì)技術(shù)

高速互連是造成信號(hào)完整性問題的直接根源。為此,必須充分理解它們表現(xiàn)出的“模擬電路”效應(yīng),通過針對性設(shè)計(jì)確定互連的相關(guān)結(jié)構(gòu)與參數(shù),盡可能在全面系統(tǒng)級(jí)仿真之后再作硬件實(shí)現(xiàn)。這樣,才有可能使產(chǎn)品具有較好的魯棒性。

解決信號(hào)完整性問題主要在產(chǎn)品創(chuàng)建到設(shè)計(jì)完成前這一階段進(jìn)行,不允許多次執(zhí)行創(chuàng)建、測試、再設(shè)計(jì)這種舊式循環(huán)過程。為此,只能采用新的設(shè)計(jì)方法學(xué)和新的策略,這就是:采用分析工具與技術(shù),對芯片和系統(tǒng)設(shè)計(jì)進(jìn)行建模、仿真以及輔助測量,以完成對信號(hào)完整性的驗(yàn)證和設(shè)計(jì)。采用并串/串并轉(zhuǎn)換(SERDES)是實(shí)現(xiàn)高速數(shù)據(jù)傳輸行之有效的技術(shù)。由并串轉(zhuǎn)換器實(shí)現(xiàn)并串轉(zhuǎn)換;串并轉(zhuǎn)換器則實(shí)現(xiàn)反向的串并轉(zhuǎn)換,形成比特流,時(shí)鐘信息被嵌入到比特流中。從數(shù)據(jù)流中恢復(fù)時(shí)鐘和數(shù)據(jù)稱為CDR(Clock&DataRecovery)。采用Serdes的結(jié)果是降低了布線密度,提供了點(diǎn)對點(diǎn)的連接,消除了容易出問題的時(shí)鐘樹。最高數(shù)據(jù)率已經(jīng)可以達(dá)到10Gb/s。在每個(gè)轉(zhuǎn)換端口需要10萬個(gè)以上的晶體管來實(shí)現(xiàn)有效的串并/并串轉(zhuǎn)換及對抗信號(hào)變形失真的預(yù)加重有源均衡和傳輸線中的RC無源均衡技術(shù)。

6.信號(hào)完整性分析技術(shù)

分析信號(hào)完整性分為時(shí)域和頻域兩種途徑和手段。

由于傳輸線反射和振鈴、串?dāng)_、地彈等引起的信號(hào)延遲和失真,需要通過分析并提出改善設(shè)計(jì)的補(bǔ)救措施。

電磁干擾破壞信號(hào)的完整性,這是分析完整性問題的另一個(gè)角度。電磁干擾分為電路傳導(dǎo)干擾和電磁場輻射干擾兩種。傳導(dǎo)干擾是指經(jīng)由導(dǎo)電介質(zhì)(例如電容)耦合使得一個(gè)電網(wǎng)絡(luò)上的信號(hào)干擾到另一個(gè)電網(wǎng)絡(luò);輻射干擾則是干擾源經(jīng)由空間耦合把其信號(hào)干擾到另一個(gè)電網(wǎng)絡(luò)上(這時(shí)的信號(hào)線、引腳都相當(dāng)于天線)。為了能盡快找到問題的最佳解決方案,除了基本原理之外,必須擁有相應(yīng)的技術(shù)工具。有兩種主要的技術(shù)工具:分析型和描述表征型。分析型指的是計(jì)算推理工具;表征型指的是測量工具。

分析工具強(qiáng)調(diào)推理,又進(jìn)一步分為三類:經(jīng)驗(yàn)法則、解析近似和數(shù)值仿真。它們的準(zhǔn)確度和難度各不相同,適用于不同場合。

經(jīng)驗(yàn)法則很實(shí)用,例如簡單地認(rèn)為“線段單位長度的自感是1nH/mm”,可能對進(jìn)一步的概念推理既直觀又快捷。忽略次要因素實(shí)現(xiàn)必要的近似,在設(shè)計(jì)難度和性能指標(biāo)實(shí)現(xiàn)折衷常常是很有必要的。但是在多數(shù)情況下需要注意掌握解析近似所達(dá)到的準(zhǔn)確程度或者是精度。

如果設(shè)計(jì)要求給出準(zhǔn)確的結(jié)果,則要用到數(shù)值仿真工具。一些新的仿真工具既好用又非常準(zhǔn)確。它們不僅能預(yù)測特性阻抗、串?dāng)_、任意截面?zhèn)鬏斁€的差模阻抗,也能仿真任意一種終端連接對信號(hào)完整性的可能影響。提高直覺和創(chuàng)新能力,基于數(shù)值仿真進(jìn)行SI研究是目前我們所倡導(dǎo)的。

數(shù)值仿真的質(zhì)量取決于元器件電氣模型(即等效電路模型)的描述質(zhì)量。

7.信號(hào)完整性測量技術(shù)

測量工具也可以分為三類測量儀器:阻抗分析儀、矢量網(wǎng)絡(luò)分析儀(VNA)以及時(shí)域反射計(jì)(TDR)。

阻抗分析儀通過測量電壓與電流之比得到阻抗。測量頻率范圍為100Hz~40MHz。它一般有四個(gè)接頭,其中一對接頭產(chǎn)生流過被測器件(DUT)的正弦波恒定電流,第二對接頭測量被測器件(DUT)上的正弦電壓。

矢量網(wǎng)絡(luò)分析儀(VNA)也是在頻域中工作。每個(gè)接頭或端口發(fā)出一個(gè)正弦電壓(其頻率范圍從幾kHz到50GHz以上),在每個(gè)頻率點(diǎn)測量入射電壓的幅度與相位以及反射的幅度和相位。時(shí)域反射儀(TDR)在時(shí)域中工作。它發(fā)射邊沿快速上升的階躍信號(hào),上升邊一般為35~150ps,然后測量反射的瞬態(tài)幅度。

此外,眼圖則是用示波器測量串行數(shù)據(jù)傳送效果的有效手段。它不用一般的時(shí)鐘來同步,而是用長周期比特流直接做激勵(lì),在示波器的橫軸上把一串串比特周期疊加在一起,形成像人眼睛一樣的波形。很多新式示波器都具有眼圖工作模式選項(xiàng)。只有通過測量才能夠真正極大地降低設(shè)計(jì)帶來的信號(hào)完整性問題風(fēng)險(xiǎn)。

實(shí)際上,至今為止,還沒有真正很方便的測試電子系統(tǒng)與電路中信號(hào)完整性各種指標(biāo)及其嚴(yán)重性的直接測試儀器和測量技術(shù)。

8.用于分析的傳輸線模型

設(shè)計(jì)高速CMOS電路時(shí),要用一半左右的精力研究互連問題。這時(shí)研究互連,必須采用傳輸線模型,重點(diǎn)考察互連線的傳輸線效應(yīng)。從傳輸線的角度來設(shè)計(jì)互連已經(jīng)得到90%以上設(shè)計(jì)師的認(rèn)可。芯片的情況也必然這樣,在設(shè)計(jì)中引入特性阻抗及其匹配、反射、駐波等一系列概念和分析技術(shù)。

任何一段互連線都可以看做傳輸線,互連線本質(zhì)上就是傳輸線。在傳輸線模型中,將其中的一條線稱做信號(hào)線(SignalPath),另一條線稱之為返回線(ReturnPath),不能簡單地把返回線理解成地線。要像設(shè)計(jì)信號(hào)線一樣,仔細(xì)地設(shè)計(jì)返回線的物理尺寸,并讓返回線盡量靠近信號(hào)線。只有按傳輸線的概念看待互連,才容易用阻抗觀點(diǎn)理解反射;用回路互感理解串?dāng)_;用凈電感理解地彈等等。

互連線參數(shù)的本質(zhì)屬于分布式。但是,在研究過程中可以采用不同的簡化的集總參數(shù)模型,包括集總的RC或者LC模型,考慮了導(dǎo)線/介質(zhì)損耗的有損傳輸線RLGC模型。只有當(dāng)節(jié)距ΔX→0時(shí)才成為分布式的理想傳輸線模型(波動(dòng)方程)。

在用于互連線仿真的模型庫中,有四種基本元件,即電阻R、電容C、電感L、理想傳輸線T。傳輸線中最重要的概念是阻抗,傳輸線的阻抗是某段互連線的基本電氣特征。傳輸線阻抗給出了互連線的基本特征,這是表征信號(hào)與互連線相互作用時(shí)的基本關(guān)系表達(dá)式。

關(guān)于阻抗的基本概念,這里與傳統(tǒng)的認(rèn)識(shí)是一致的。但是特性阻抗、輸入阻抗、瞬態(tài)阻抗、奇模阻抗、偶模阻抗、差分阻抗、共模阻抗的含義還是不同的。

研究信號(hào)完整性問題,特別要分清三個(gè)參數(shù)間的不同:特性阻抗、一般輸入阻抗和信號(hào)所看到的瞬態(tài)阻抗。特性阻抗描述了信號(hào)在均勻傳輸線上遇到的恒定阻抗,即

它與單位長度的電容值和信號(hào)速度成反比。

傳輸線的(輸入)阻抗是指驅(qū)動(dòng)器的源端感受到的阻抗,它可能會(huì)隨傳播時(shí)間而變。通常,在信號(hào)傳播出發(fā)時(shí),源端感受到的是線特性阻抗。但是隨著終端匹配情況、線長和測量時(shí)刻的不同,傳輸線的輸入阻抗可能會(huì)變成任何一個(gè)值。

傳輸線的瞬態(tài)阻抗是信號(hào)傳輸途中隨時(shí)遇到且感受到的線阻抗?;ミB線中的材料光速

互連線單位長度的延遲TDL=,其中LL、CL分別為傳輸線單位長度的電感和電容值。

當(dāng)數(shù)字信號(hào)的上升沿為1ns時(shí),3cm以上長度的線就真正是以波的方式在傳輸線上傳播。在更深入研究傳輸線時(shí),我們需要用A參數(shù)、S參數(shù)、Z參數(shù)、Y參數(shù)去描述和分析互連問題。當(dāng)信號(hào)的上升、下降時(shí)間與信號(hào)以材料光速傳播過某線長的時(shí)間相當(dāng)時(shí),就必須正視傳輸線效應(yīng)。其界限如下:

RT<2.5×2L/v

其中RT為信號(hào)上升邊(或下降邊)時(shí)間;L為互連線長度;L/v為

該線長的總延遲TD。一般介質(zhì)材料不需要考慮導(dǎo)磁率,材料中的光速度為v?=?c?/。其中,c=3×1010cm/s為自由空間中

的光速。上述條件實(shí)際上是放得很寬。例如,假設(shè)片內(nèi)的布線最長為L=1.0cm,則當(dāng)RT<160ps時(shí),必須考慮傳輸線效應(yīng)。這對于目前的一般CMOS工藝水平是不用擔(dān)心的,在納米CMOS或其他BiCMOS等高速工藝時(shí)則需要注意。

對于PCB板,其最大線長L=50cm不足為奇,此時(shí)當(dāng)RT<8ns時(shí)就需考慮傳輸線效應(yīng)。注意這種上升、下降速度恰恰已經(jīng)非常一般。

對于線電容,當(dāng)RC延遲tpRC大于或等于驅(qū)動(dòng)門延遲Tpgate,即

tpRC≥Tpgate

時(shí),就需要考慮互連線的RC網(wǎng)絡(luò)延遲。

9.八個(gè)基本原則

研究信號(hào)完整性,可以提出八個(gè)基本原則作為參考:

(1)電容上電壓變化時(shí)必然形成電流。對于高頻信號(hào)分量,即使很小的分布電容都可能有很低的阻抗,從而使得信號(hào)完整性問題變得很嚴(yán)重。

(2)電感與圍繞電流周圍的磁力線匝數(shù)本質(zhì)上是一致的。只要電流或者磁力線匝數(shù)發(fā)生改變,在導(dǎo)線的兩端就會(huì)產(chǎn)生電壓。這一電壓導(dǎo)致了地彈(GroundBounce)、反射和串?dāng)_等。當(dāng)流經(jīng)返回路徑電感上的電流變化時(shí),在接地回路導(dǎo)線上產(chǎn)生的電壓稱之為地彈。它是產(chǎn)生開關(guān)噪聲、軌道塌陷、EMI的內(nèi)在機(jī)理。

(3)特別要小心“接地”,由于接地不當(dāng)造成的問題比用接地去解決的問題要多。像關(guān)注信號(hào)路徑一樣去尋找“返回路徑”,并仔細(xì)處理返回路徑。

地平面和電源平面的三個(gè)功能:器件供電,為數(shù)字信號(hào)轉(zhuǎn)換提供穩(wěn)定的基準(zhǔn)參考電壓,降低噪聲、抑制信號(hào)間串?dāng)_。

我們的著眼點(diǎn)是在其他功能不被破壞的前提下,如何最大限度地實(shí)現(xiàn)降噪功能。不然,三種功能都會(huì)走向反面:基準(zhǔn)失效、供電塌陷、噪聲干擾的垃圾通道。這是我們要極力避免并設(shè)法消除的。其中地線異常重要。

(4)任何一段互連線都是傳輸線,都有信號(hào)及返回路徑問題。一個(gè)信號(hào)沿著互連線每前進(jìn)一步,都會(huì)看到一個(gè)瞬態(tài)阻抗。如果瞬態(tài)阻抗恒為常數(shù),其信號(hào)質(zhì)量將極大改善。其他重要的傳輸線概念有:輸入阻抗和特性阻抗。

(5)分析信號(hào)完整性有時(shí)域和頻域兩種途徑和手段。在頻域,理想傳輸線模型的帶寬是無限的,而常用的集總參數(shù)互連傳輸線模型則具有一定的有效帶寬。在互連線有效帶寬的最高頻率之上,互連線的性能難以用這種模型加以有效預(yù)測。因此,在實(shí)用中不能讓實(shí)際信號(hào)的帶寬超過互連線模型的有效帶寬。

(6)有損耗傳輸線造成上升邊變差,它的帶寬是有限的。由于趨膚深度和介質(zhì)損耗,損耗隨著頻率的升高而增加:其中導(dǎo)線損耗隨頻率的平方根增加;介質(zhì)損耗隨頻率f線性增加。假設(shè)損耗隨著頻率的升高保持常數(shù),那么上升時(shí)間就不會(huì)發(fā)生退化。眼圖是測量串行數(shù)據(jù)傳送效果及符號(hào)間干擾的有效手段。對于符號(hào)間干擾需要采用均衡技術(shù)。要研究有源均衡和無源均衡技術(shù)。

(7)分析SI問題的有效工具有:經(jīng)驗(yàn)法則、解析近似、數(shù)值仿真技術(shù)。很多情況下,信號(hào)完整性公式給出的是定義或者是近似,需要事先了解近似的準(zhǔn)確精度。在那些特別要求精確的場合是不能近似的,要采用數(shù)值仿真工具。用好SI分析工具可以實(shí)現(xiàn)近似及準(zhǔn)確的性能預(yù)測。

(8)測量SI問題是指用測試儀器來實(shí)測信號(hào)相關(guān)數(shù)據(jù)。使用測量工具的目的是驗(yàn)證設(shè)計(jì)過程,降低風(fēng)險(xiǎn),提高設(shè)計(jì)的可信度。目前,SI的測量儀器有三種:阻抗分析儀,矢量網(wǎng)絡(luò)分析儀(VNA),時(shí)域反射儀(TDR)。由于屬于高速測量,儀器(包括示波器的探頭和垂直放大器)都會(huì)有一定的帶寬而影響所測波形的形狀。8.4.2線電容與串?dāng)_分析

根據(jù)對芯片內(nèi)單元電路的分析,我們可以得出一個(gè)結(jié)論,就是邏輯門電路的延遲與負(fù)載電容呈線性關(guān)系。負(fù)載電容主要包括門內(nèi)部電容和其扇出電容。隨著工藝的改進(jìn)和器件尺寸的縮小,電容減小使得門速度顯著提高。當(dāng)工藝特征尺寸進(jìn)一步減小時(shí),如果試圖進(jìn)一步提高芯片或者系統(tǒng)的工作速度并改進(jìn)性能,一個(gè)主要對象就是線電容。其他的還有線電阻、線電感、封裝、PCB板上芯片間的連接等一系列芯片內(nèi)外互連問題。隨著器件尺寸的減小,例如達(dá)到深亞微米、納米時(shí),線電容對電容量總的貢獻(xiàn)所占的比例將會(huì)顯著變大,甚至喧賓奪主,成為主導(dǎo)因素。

芯片內(nèi)的電感比較小。線電容與負(fù)載電容疊加,直接影響CMOS門的傳播延遲及上升邊退化;另一方面,線間電容造成線間串?dāng)_(CrossTalk),影響了信號(hào)的完整性和電路的可靠工作。

1.電容量的計(jì)算

芯片中的任意一條金屬線或多晶硅線都屬于某一互連層上,它們都是有一定線寬的線條,這些線與襯底之間夾有絕緣的SiO2,這樣就組成了分布電容。如果導(dǎo)線長l和寬w都比氧化層厚度tox大的多,則可以用平板電容器的計(jì)算公式:

其中εox(即εr)為氧化層相對介電常數(shù)。這里εo=8.89pF/m,εox=3.97εo=35pF/m。

對于典型的1μmCMOS工藝,其不同的互連層與襯底之間的典型電容量如表8-1所示。位于不同互連層的線與線之間電容的情況稍微復(fù)雜一點(diǎn),此處做一簡單介紹?;ミB層與互連層間的電容形成分為兩種機(jī)理:平板面電容和邊緣(Fringing)線電容。對于典型的1μmCMOS工藝,其電容計(jì)算的典型值如表8-2所示。注意:面電容計(jì)算只應(yīng)考慮線間相向?qū)σ暤拿娣e部分;而邊緣線電容由于是存在于線的兩側(cè),具體計(jì)算時(shí)需要將有效線長再乘以系數(shù)2。同一層不同線之間的電容計(jì)算,可以參考上述經(jīng)驗(yàn)值列表。

若芯片總面積為AD,則芯片內(nèi)互連線的平均線長典型分布為

若設(shè)芯片對角線長度為lG,則進(jìn)一步的研究表明,典型的片內(nèi)歸一化互連線長度l?/lG的概率密度p分布規(guī)律如圖8-19所示。圖8-19典型片內(nèi)互連線長度l?/?lG概率密度分布從圖8-19可以明顯看出,有兩個(gè)峰值以及與之相對應(yīng)的兩個(gè)集中分布區(qū)域。一個(gè)代表局部互連線,一個(gè)代表全局互連線(注意兩個(gè)峰值之間的凹谷常常會(huì)降至0)。一般認(rèn)為,這一規(guī)律和趨勢普遍存在。所以芯片越大,不論局部或者全局,其互連線的絕對長度將越大。這時(shí),全局性互連線的電容值將顯著變大。

2.串?dāng)_的減弱和消除

由于不希望的電磁耦合(包括互容或互感)存在,由鄰近信號(hào)網(wǎng)絡(luò)在本信號(hào)網(wǎng)絡(luò)上造成的干擾,稱之為串?dāng)_。

串?dāng)_是被動(dòng)地聽“別人說話”。分析串?dāng)_,需要分清兩個(gè)信號(hào)網(wǎng)絡(luò)中,誰是進(jìn)攻(Aggressor)網(wǎng)絡(luò),誰是受害(Victim)網(wǎng)絡(luò),重點(diǎn)分析跳變時(shí)的影響。進(jìn)攻網(wǎng)上的信號(hào)會(huì)在相鄰的受害網(wǎng)上引起兩類不同的噪聲信號(hào):容性耦合信號(hào)與感性耦合信號(hào)。容性耦合是進(jìn)攻網(wǎng)上的電壓變化在受害網(wǎng)上引起感應(yīng)電流干擾;感性耦合則是進(jìn)攻網(wǎng)上的電流變化在受害網(wǎng)上引起感應(yīng)電壓干擾。這種擾動(dòng)是一種干擾噪聲源,所注入噪聲的量級(jí)取決于鄰近信號(hào)線上信號(hào)跳變值的強(qiáng)度和耦合程度。其特點(diǎn)是錯(cuò)誤呈間歇性地出現(xiàn),因此難以跟蹤。現(xiàn)在已經(jīng)有專門分析串?dāng)_的EDA工具,例如Mentor公司的Hyperlynx。

串?dāng)_一方面增加到達(dá)穩(wěn)態(tài)的延遲,同時(shí)又可能引起動(dòng)態(tài)電路和記憶單元的誤動(dòng)作。串?dāng)_對異步信號(hào)的影響更大。

芯片內(nèi)互連線具有可觀的電容,片內(nèi)串?dāng)_主要來自容性耦合。任意兩個(gè)信號(hào)線之間必有電容,而電容上的電壓不能突變。因此,一個(gè)線上的電壓變化在另一個(gè)信號(hào)線上形成電荷(流),相當(dāng)于由電容造成交流短路。對于另一個(gè)線來說,這也就是噪聲源。因?yàn)殡娙萜鲀啥碎g的電壓不能突變,串接電容對高頻電壓信號(hào)源的影響接近于短路。因此快變化的影響比慢變化要大,就是說對高頻分量的影響更大。容性串?dāng)_是影響門電路電流開關(guān)速度的主導(dǎo)因素。要設(shè)法避開微帶線設(shè)計(jì),盡量選用帶狀線。因?yàn)槔碚撋?,帶狀線的遠(yuǎn)端串?dāng)_為0。下面是減少串?dāng)_的兩個(gè)具體措施。

措施之一:錯(cuò)開排線,盡量減小耦合度,避免兩個(gè)信號(hào)線之間形成一個(gè)大電容。為了消除串?dāng)_,可以限制線長和改變線的走向分布,不要讓兩個(gè)信號(hào)線并行布線走過太長的路程。這種情況在雙相時(shí)鐘的兩個(gè)時(shí)鐘線,或者總線中的各數(shù)據(jù)信號(hào)線布線時(shí)要特別小心。將模擬地和數(shù)字地分開主要是為了防止高速數(shù)字電路對模擬電路的干擾。

為了減小在同一布線層的兩個(gè)信號(hào)線之間的容性串?dāng)_,一定要讓相關(guān)信號(hào)線拉開足夠大的間距。措施之二:加排地線(或電源線)隔離,使串?dāng)_耦合電容作用大大減弱?;蛘咴趦蓚€(gè)信號(hào)線之間插布屏蔽線,例如電源線VDD或者地線Gnd。如圖8-20所示就是這一布線策略的橫截面圖,這能大大減少同一層和不同層信號(hào)線間的串?dāng)_。PCB布線的情況與此相似,例如對于四層布線,中間就有專門的電源層和地線層。它們將信號(hào)線間的電容化解為線到地的電容,從而使信號(hào)間干擾顯著降低。圖8-20對抗線間串?dāng)_的屏蔽措施剖面說明

3.設(shè)計(jì)驅(qū)動(dòng)電路緩解電容影響

對于那些全局布線,線電容顯著變大,大到無法忍受。例如牽涉全局的時(shí)鐘線、數(shù)據(jù)總線、控制總線、復(fù)位線、置位線等,往往某一個(gè)門電路的一個(gè)節(jié)點(diǎn)要經(jīng)過數(shù)據(jù)線或控制線同時(shí)連到許多負(fù)載門上去。由于線電容和扇出雙重重負(fù),其容性負(fù)載很重,可以達(dá)到好多個(gè)pF的數(shù)量級(jí)!更壞的情況是芯片的輸出級(jí),在計(jì)算時(shí)需要另外加上封裝線電容、PCB板上(又稱上板)線電容、板上其他芯片及元件的輸入負(fù)載電容等,這種板上電容的數(shù)量級(jí)在20~50pF左右,比片內(nèi)標(biāo)準(zhǔn)負(fù)載強(qiáng)大上千倍。這將可能造成致命影響,也許這就是為什么50%以上的ASIC芯片單獨(dú)測試尚屬正常,而裝入PCB板之后系統(tǒng)則不能正常工作的部分原因。在一定的前提下,實(shí)現(xiàn)對電容快速充放電,加大對扇出的驅(qū)動(dòng)能力是保證設(shè)計(jì)成功至關(guān)重要的一環(huán)。這需要在某些門電路之后負(fù)載之前添加緩沖器電路設(shè)計(jì),以保證電路在這些指定的節(jié)點(diǎn)上具有足夠快的驅(qū)動(dòng)能力。緩沖器的設(shè)計(jì)有許多講究,其種類有:

(1)單級(jí)或多級(jí)反相緩沖器。在設(shè)計(jì)插入式單級(jí)緩沖門B的情況下,如果緩沖門B后面的最終總負(fù)載電容C是前面被緩沖門A的前端輸入電容Cin的x倍,則在設(shè)計(jì)門B時(shí)的晶體管寬度應(yīng)為門A的倍(此處假設(shè)二門的P、N管的比率

不變),以保證足夠的驅(qū)動(dòng)能力。在多級(jí)情況下,可能一級(jí)比一級(jí)尺寸大,相應(yīng)的驅(qū)動(dòng)能力也越來越大。

(2)三態(tài)緩沖器。

(3)上板驅(qū)動(dòng)器(視具體負(fù)載情況而定)。

(4)驅(qū)動(dòng)大電容負(fù)載的其他電路。對于容性負(fù)載,設(shè)計(jì)強(qiáng)驅(qū)動(dòng)的意義是,相當(dāng)于降低充電電阻。8.4.3電阻損耗與電遷徙

1.方塊電阻

芯片中均勻?qū)щ姴牧暇€條的直流導(dǎo)線體電阻值計(jì)算公式為

其中R□=ρ/h稱做方塊電阻,單位為Ω/□,是某種材料形狀為一正方形時(shí)的電阻值;l為線長;w為線寬;h為線高;ρ為電阻率。表8-3給出典型1.0μmCMOS工藝下不同互連材料的典型方塊電阻值。由表8-3可知,金屬可用于全局和局部互連;多晶硅只能用于局部互連線;擴(kuò)散不能用于互連,因?yàn)橛杀?-1可知其電容太大,再與電阻一起所形成的RC網(wǎng)絡(luò)會(huì)造成嚴(yán)重延遲。實(shí)際計(jì)算線電阻的方法就是查看沿電流方向共接續(xù)排列了多少個(gè)方塊,即用l除以w得到方塊個(gè)數(shù)。此時(shí),不用計(jì)算線寬的絕對尺寸,因?yàn)榫€寬大致體現(xiàn)為單個(gè)方塊面積變大而已。

2.通孔、接觸與IR壓降

布線層間的電接觸轉(zhuǎn)換增加了線電阻值。按慣例我們稱距離半導(dǎo)體工藝層(包括擴(kuò)散和多晶等)最近的金屬布線層為金屬1,依次類推為金屬2、金屬3、……各金屬層之間的連接稱之為通孔或過孔(Via);但是如果金屬層2、金屬層3等需要與半導(dǎo)體層相連,則首先需要在金屬1與半導(dǎo)體層之間采用一個(gè)接觸(Contact),或者稱做接觸孔,然后從金屬1再通過過孔接續(xù)連到其他金屬層上。過孔與接觸孔的工藝不同,過孔簡單得多。對于0.35~1μmCMOS工藝,通常,典型過孔電阻值為2~6Ω,接觸(孔)的電阻值則為20Ω左右。一般而言,孔洞的直徑越大,則電阻越小。但是實(shí)際情況是通孔在高頻時(shí)具有不同程度的趨膚效應(yīng)。隨著頻率

溫馨提示

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

評(píng)論

0/150

提交評(píng)論