玩轉(zhuǎn)IP core:系統(tǒng)中的時(shí)鐘與時(shí)延
今天,我將帶領(lǐng)大家來個(gè)縮骨大法,將我們縮小到原子的尺度,來參觀FPGA/ASIC的內(nèi)部風(fēng)景。新《旅游法》已經(jīng)實(shí)施了,本次旅游絕無自費(fèi)項(xiàng)目和強(qiáng)制消費(fèi),請(qǐng)諸位放心。
各位游客,現(xiàn)在我們正沿著PCB數(shù)據(jù)大道,走向芯片大廈----就是大家眼前的巨大的、銀色的大廈。我是本次旅行的導(dǎo)游,敝姓十,大叫可以叫我十導(dǎo)。路途之中,為了大家不感到無聊,本人先給大家略略介紹一下,什么是數(shù)字電路的時(shí)鐘。
數(shù)字電路中,時(shí)鐘是整個(gè)電路最重要、最特殊的信號(hào)。
第一:系統(tǒng)內(nèi)大部分器件的動(dòng)作都是在時(shí)鐘的跳變沿上進(jìn)行,這就要求時(shí)鐘信號(hào)時(shí)延差要非常小,否則就可能造成時(shí)序邏輯狀態(tài)出錯(cuò)。
第二:時(shí)鐘信號(hào)通常是系統(tǒng)中頻率最高的信號(hào)。
第三:時(shí)鐘信號(hào)通常是負(fù)載最重的信號(hào), 所以要合理分配負(fù)載。
好的,今天的參觀,我們就從芯片的時(shí)鐘樹結(jié)果開始。由于上面介紹的特點(diǎn),在芯片這類可編程器件內(nèi)部一般都設(shè)有數(shù)量不等的專門用于系統(tǒng)時(shí)鐘驅(qū)動(dòng)的全局時(shí)鐘網(wǎng)絡(luò),這種網(wǎng)絡(luò)就叫做時(shí)鐘樹。
從頂端看下去,可以看到從相同的時(shí)鐘管腳開始向下延伸,如同人類的血液系統(tǒng),芯片中的時(shí)鐘信號(hào)唄傳遞到各個(gè)寄存器。這個(gè)時(shí)鐘,到達(dá)遠(yuǎn)端的寄存器,需要經(jīng)過漫長(zhǎng)的電路,所以片外的時(shí)鐘芯片需要被鎖定和增強(qiáng),才能夠驅(qū)動(dòng)這數(shù)以億計(jì)的寄存器。不僅如此,為了達(dá)到系統(tǒng)同步的目的,所有寄存器的時(shí)鐘信號(hào)到達(dá)時(shí)刻允許的差別(時(shí)延,用洋文說就是skew)也需要特
別的小。還需要考慮信號(hào)的完整性問題。媽媽咪啊,這些看起來似乎很難。套用一句13年春晚里面的臺(tái)詞:幸好,我們不必操心這些。
話雖如此,如果你抱著“事不關(guān)己,高高掛起”的態(tài)度,亂設(shè)計(jì)系統(tǒng)的時(shí)鐘的話,后端設(shè)計(jì)工程師絕對(duì)會(huì)帶著刀子找你拼命的。不要叫別人打你個(gè)滿臉桃花開,你才知道花兒為什么這樣紅。“本是同根生,相煎何太急”啊,兄弟。
大伙,隨我來,將會(huì)看到四座巨大的雕像。這幾座雕像以后現(xiàn)代解構(gòu)主義的手法,表現(xiàn)了四種不同的時(shí)鐘形式。
第一位是大名鼎鼎(小名嗎不清楚)的全局時(shí)鐘(Global Clock)。它是由片上的時(shí)鐘管腳引入,經(jīng)過鎖相和放大之后,輸出給寄存器的穩(wěn)定、可靠的信號(hào)。這種時(shí)鐘的時(shí)延被設(shè)計(jì)的最小,相對(duì)時(shí)延也最小。
圖1(點(diǎn)擊圖片查看大圖)
第二座是為了紀(jì)念數(shù)字邏輯設(shè)計(jì)里面愚蠢的時(shí)鐘:門控時(shí)鐘。這種時(shí)鐘從一些信號(hào)經(jīng)過組合邏輯產(chǎn)生,表面上看著一個(gè)字:美。但是,既然設(shè)計(jì)中連時(shí)鐘的同步都做不到,難道組合邏輯的同步就那么簡(jiǎn)單嗎?答案是:(做到同步)這個(gè)真的沒有。于是,麻煩來了,這個(gè)組合邏輯的時(shí)鐘,也會(huì)上竄下跳的了,整個(gè)一個(gè)孫猴。試問,這種時(shí)鐘誰敢用?哪個(gè)藝高人膽大的,來試試?
圖2(點(diǎn)擊圖片查看大圖)
下來,為了體現(xiàn)IQ無下限,我們見到了第三座雕像:多級(jí)邏輯時(shí)鐘。它不僅僅用了組合邏輯還加入了前級(jí)寄存器的輸出。所謂,毛刺也無極限啊。哪個(gè)藝高人膽大的,想來試試?
圖3(點(diǎn)擊圖片查看大圖)
最后也是一個(gè)“英明”的設(shè)計(jì):行波時(shí)鐘。如同莫小貝的最愛----糖葫蘆,上級(jí)寄存器的輸出作為下級(jí)寄存器的時(shí)鐘逐次傳下去。理論上,行波時(shí)鐘可以非常完美的運(yùn)行下去。但是,在這里總是有但是的,但是,考慮到這些寄存器時(shí)間的時(shí)鐘的時(shí)延控制的難度,我們不得不說:行波鏈上的時(shí)鐘波動(dòng)會(huì)變得極大,最終破壞整體時(shí)延要求,使得系統(tǒng)的整體工作時(shí)鐘嚴(yán)重降低。
圖4(點(diǎn)擊圖片查看大圖)
有詩(shī)贊曰:芯片設(shè)計(jì)萬萬千,抓住時(shí)鐘是關(guān)鍵。四大金剛長(zhǎng)得帥,修得正果唯全局。
有的客人會(huì)說了:不是有多時(shí)鐘系統(tǒng)嗎?多時(shí)鐘是有的,但是或者需要通過同步化,或者不同時(shí)鐘系統(tǒng)之間需要某種隔離。這兩個(gè)技術(shù),在后面的講座中,都是會(huì)遇到的。
下來,我們會(huì)進(jìn)入時(shí)延實(shí)驗(yàn)室,免費(fèi)體驗(yàn)一下信號(hào)的時(shí)延。下圖是一個(gè)信號(hào)有全0變?yōu)槿?的例子,可以看出不同階段的信號(hào)變化時(shí)機(jī)不完全一致。只有后仿真的結(jié)果,才是與系統(tǒng)比較契合的。所以,如果只做前仿真,再快的時(shí)鐘也是可以的。
圖5(點(diǎn)擊圖片查看大圖)
但是,如果在后仿真階段,時(shí)鐘快到了低于系統(tǒng)的處理時(shí)延,麻煩就來了。見下圖,如果時(shí)鐘上升沿在信號(hào)變化的中間,那么輸出信號(hào)就不是”1111”而是”1011”。你就攤上事了,攤上大事了。另外,還有一點(diǎn),信號(hào)的位寬越大,那么對(duì)應(yīng)的處理時(shí)延和skew也會(huì)越大,這點(diǎn)很重要。
圖6(點(diǎn)擊圖片查看大圖)
各位游客,今天的旅行到此就結(jié)束了。歡迎下次光臨。
責(zé)任編輯:Fgirl來源:EEFOCUS 分享到: