《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 其他 > 入門:FPGA知識匯集-FPGA時(shí)序基礎(chǔ)理論

入門:FPGA知識匯集-FPGA時(shí)序基礎(chǔ)理論

2022-12-20
來源:FPGA技術(shù)聯(lián)盟

  對于系統(tǒng)設(shè)計(jì)工程師來說,時(shí)序問題在設(shè)計(jì)中是至關(guān)重要的,,尤其是隨著時(shí)鐘頻率的提高,,留給數(shù)據(jù)傳輸?shù)挠行ёx寫窗口越來越小,要想在很短的時(shí)間限制里,,讓數(shù)據(jù)信號從驅(qū)動端完整地傳送到接收端,,就必須進(jìn)行精確的時(shí)序計(jì)算和分析。同時(shí),,時(shí)序和信號完整性也是密不可分的,,良好的信號質(zhì)量是確保穩(wěn)定的時(shí)序的關(guān)鍵,由于反射,,串?dāng)_造成的信號質(zhì)量問題都很可能帶來時(shí)序的偏移和紊亂,。因此,對于一個(gè)信號完整性工程師來說,,如果不懂得系統(tǒng)時(shí)序的理論,,那肯定是不稱職的。本章我們就普通時(shí)序(共同時(shí)鐘)和源同步系統(tǒng)時(shí)序等方面對系統(tǒng)時(shí)序的基礎(chǔ)知識作一些簡單的介紹,。

  普通時(shí)序系統(tǒng)(共同時(shí)鐘系統(tǒng))

  所謂普通時(shí)序系統(tǒng)就是指驅(qū)動端和接收端的同步時(shí)鐘信號都是由一個(gè)系統(tǒng)時(shí)鐘發(fā)生器提供,。下圖就是一個(gè)典型的普通時(shí)鐘系統(tǒng)的示意圖,表示的是計(jì)算機(jī)系統(tǒng)的前端總線的時(shí)序結(jié)構(gòu),,即處理器(CPU)和芯片組(Chipset)之間的連接,。

08.JPG

  在這個(gè)例子中,驅(qū)動端(處理器)向接收端(芯片組)傳送數(shù)據(jù),,我們可以將整個(gè)數(shù)據(jù)傳送的過程考慮為三個(gè)步驟:

  1.核心處理器提供數(shù)據(jù),;

  2.在第一個(gè)系統(tǒng)時(shí)鐘的上升沿到達(dá)時(shí),,處理器將數(shù)據(jù)Dp鎖存至Qp輸出;

  3.Qp沿傳輸線傳送到接收端觸發(fā)器的Dc,,并在第二個(gè)時(shí)鐘上升沿到達(dá)時(shí),,將數(shù)據(jù)傳送到芯片組內(nèi)部。一般來說,,標(biāo)準(zhǔn)普通時(shí)鐘系統(tǒng)的時(shí)鐘信號到各個(gè)模塊是同步的,,即圖中的Tflt clka和Tflt clkb延時(shí)相同。通過分析不難看出,,整個(gè)數(shù)據(jù)從發(fā)送到接收的過程需要經(jīng)歷連續(xù)的兩個(gè)時(shí)鐘沿,,也就是說,如果要使系統(tǒng)能正常工作,,就必須在一個(gè)時(shí)鐘周期內(nèi)讓信號從發(fā)送端傳輸?shù)浇邮斩?。如果信號的傳輸延遲大于一個(gè)時(shí)鐘周期,那么當(dāng)接收端的第二個(gè)時(shí)鐘沿觸發(fā)時(shí),,就會造成數(shù)據(jù)的錯誤讀取,,因?yàn)檎_的數(shù)據(jù)還在傳輸?shù)倪^程中,這就是建立時(shí)間不足帶來的時(shí)序問題,。

  目前普通時(shí)序系統(tǒng)的頻率無法得到進(jìn)一步提升的原因就在于此,,頻率越高,時(shí)鐘周期越短,,允許在傳輸線上的延時(shí)也就越小,,200-300MHz已經(jīng)幾乎成為普通時(shí)序系統(tǒng)的頻率極限。那么,,是不是傳輸延時(shí)保持越小就越好呢,?當(dāng)然也不是的,因?yàn)樗€必須要滿足一定的保持時(shí)間,。在接下來幾節(jié)里,,我們就建立和保持時(shí)間來分析一下時(shí)序設(shè)計(jì)需要考慮的一些問題以及正確的系統(tǒng)時(shí)序所必須滿足的條件。

  時(shí)序參數(shù)的確定

  對于時(shí)序問題的分析,,我們首先要清楚地理解相關(guān)的一些時(shí)序參數(shù)的具體含義,,比如Tco,緩沖延時(shí),,傳播延遲,,最大/小飛行時(shí)間,建立時(shí)間,,保持時(shí)間,,建立時(shí)間裕量,保持時(shí)間裕量,時(shí)鐘抖動,,時(shí)鐘偏移等等,,如果對這些參數(shù)的概念理解不深刻,就很容易造成時(shí)序設(shè)計(jì)上的失誤,。

  首先要闡明的是Tco和緩沖延時(shí)(buffer delay)的區(qū)別,。從定義上來說,Tco是指時(shí)鐘觸發(fā)開始到有效數(shù)據(jù)輸出的器件內(nèi)部所有延時(shí)的總和,;而緩沖延時(shí)是指信號經(jīng)過緩沖器達(dá)到有效的電壓輸出所需要的時(shí)間,。可以看出,,Tco除了包含緩沖延時(shí),,還包括邏輯延時(shí)。通常,,確定Tco的方法是在緩沖輸出的末端直接相連一個(gè)測量負(fù)載,,最常見的是50歐姆的電阻或者30pF的電容,然后測量負(fù)載上的信號電壓達(dá)到一定電平的時(shí)間,,這個(gè)電平稱為測量電壓(Vms),,一般是信號高電平的一半。如Tco和緩沖延時(shí)的確定如下圖所示:

07.JPG

  信號從緩沖器出來之后,,就要經(jīng)過傳輸線到接收終端,信號在傳輸線上的傳輸?shù)难訒r(shí)我們稱為傳播延遲(propagationdelay),,它只和信號的傳播速度和線長有關(guān),。然而我們在大多數(shù)時(shí)序設(shè)計(jì)里面,最關(guān)鍵的卻不是傳播延遲這個(gè)參數(shù),,而是飛行時(shí)間(Flight Time)參數(shù),,包括最大飛行時(shí)間(Max Flight Time)和最小飛行時(shí)間(Min Flight Time)。飛行時(shí)間包含了傳播延遲和信號上升沿變化這兩部分因素,,從下圖中可以很容易看出兩者的區(qū)別,。

 06.JPG

  在較輕的負(fù)載(如單負(fù)載)情況下,驅(qū)動端的上升沿幾乎和接收端的信號的上升沿平行,,所以這時(shí)候平均飛行時(shí)間和傳播延遲相差不大,;但如果在重負(fù)載(如多負(fù)載)的情況下,接收信號的上升沿明顯變緩,,這時(shí)候平均飛行時(shí)間就會遠(yuǎn)遠(yuǎn)大于信號的傳播延遲,。這里說的平均飛行時(shí)間是指Buffer波形的Vms到接收端波形Vms之間的延時(shí),這個(gè)參數(shù)只能用于時(shí)序的估算,,準(zhǔn)確的時(shí)序分析一定要通過仿真測量最大/最小飛行時(shí)間來計(jì)算,。

  上面只是對信號上升沿的分析,對于下降沿來說,同樣存在著最大/最小飛行時(shí)間的參數(shù),,如下圖,。在時(shí)序計(jì)算時(shí)我們實(shí)際取的最大飛行時(shí)間是在上升沿和下降沿中取最長的那個(gè)飛行時(shí)間,而最小飛行時(shí)間則是取上升和下降沿中最短的那個(gè)飛行時(shí)間,。

05.JPG

  也有些時(shí)候,,人們對信號的最大/最小飛行時(shí)間還有其它稱謂,比如在Cadence軟件中,,就將最大飛行時(shí)間稱為最終穩(wěn)定延時(shí)(Final Settle Delay),,而將最小飛行時(shí)間稱為最早開關(guān)延時(shí)

  (First SwitchDelay),,如下圖,。

 04.JPG

  信號經(jīng)過傳輸線到達(dá)接收端之后,就牽涉到建立時(shí)間和保持時(shí)間這兩個(gè)時(shí)序參數(shù),,它們是接收器本身的特性,,表征了時(shí)鐘邊沿觸發(fā)時(shí)數(shù)據(jù)需要在鎖存器的輸入端持續(xù)的時(shí)間。通俗地說,,時(shí)鐘信號來的時(shí)候,,要求數(shù)據(jù)必須已經(jīng)存在一段時(shí)間,這就是器件需要的建立時(shí)間(Setup Time),;而時(shí)鐘邊沿觸發(fā)之后,,數(shù)據(jù)還必須要繼續(xù)保持一段時(shí)間,以便能穩(wěn)定的讀取,,這就是器件需要的保持時(shí)間(Hold Time),。如果數(shù)據(jù)信號在時(shí)鐘沿觸發(fā)前后持續(xù)的時(shí)間均超過建立和保持時(shí)間,那么超過量就分別被稱為建立時(shí)間裕量和保持時(shí)間裕量,。見下圖,,其中還考慮了時(shí)鐘誤差的因素。

03.JPG

  每個(gè)器件的建立和保持時(shí)間參數(shù),,一般都可以在相應(yīng)的DataSheet查到,,對于設(shè)計(jì)者來說最大的目的是提高時(shí)序的裕量,這樣即使信號完整性上出現(xiàn)一點(diǎn)問題,,或者外界環(huán)境發(fā)生一定的變化,,系統(tǒng)仍然能正常工作,這就是一個(gè)設(shè)計(jì)優(yōu)良的系統(tǒng)應(yīng)該體現(xiàn)出的超強(qiáng)的穩(wěn)定性,。

  系統(tǒng)時(shí)序設(shè)計(jì)中對時(shí)鐘信號的要求是非常嚴(yán)格的,,因?yàn)槲覀兯械臅r(shí)序計(jì)算都是以恒定的時(shí)鐘信號為基準(zhǔn)。但實(shí)際中時(shí)鐘信號往往不可能總是那么完美,,會出現(xiàn)抖動(Jitter)和偏移(Skew)問題,。所謂抖動,,就是指兩個(gè)時(shí)鐘周期之間存在的差值,這個(gè)誤差是在時(shí)鐘發(fā)生器內(nèi)部產(chǎn)生的,,和晶振或者PLL內(nèi)部電路有關(guān),,布線對其沒有影響,如下圖,。除此之外,,還有一種由于周期內(nèi)信號的占空比發(fā)生變化而引起的抖動,稱之為半周期抖動,??偟膩碚f,jitter可以認(rèn)為在時(shí)鐘信號本身在傳輸過程中的一些偶然和不定的變化之總和,。

02.JPG

  時(shí)鐘偏移(skew)是指兩個(gè)相同的系統(tǒng)時(shí)鐘之間的偏移,。它表現(xiàn)的形式是多種多樣的,既包含了時(shí)鐘驅(qū)動器的多個(gè)輸出之間的偏移,,也包含了由于PCB走線誤差造成的接收端和驅(qū)動端時(shí)鐘信號之間的偏移,,比如在下圖中所示,CLKA和CLKB之間的差異,,CLKC和CLKP之間的差異均為時(shí)鐘偏移,,這些偏移量在時(shí)序計(jì)算中需要全部考慮。

  除了上面提到的這些概念,,還有一點(diǎn)要注意的是,,時(shí)刻不能忽略信號完整性對時(shí)序的影響,比如串?dāng)_會影響微帶線傳播延遲,;反射會造成數(shù)據(jù)信號在邏輯門限附近波動,,從而影響最大/最小飛行時(shí)間;時(shí)鐘走線的干擾會造成一定的時(shí)鐘偏移,。有些誤差或不確定因素是仿真中無法預(yù)見的,設(shè)計(jì)者只有通過周密的思考和實(shí)際經(jīng)驗(yàn)的積累來逐步提高系統(tǒng)設(shè)計(jì)的水平,。

01.JPG



更多信息可以來這里獲取==>>電子技術(shù)應(yīng)用-AET<<

mmexport1621241704608.jpg

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn),。轉(zhuǎn)載的所有的文章,、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容、版權(quán)和其它問題,,請及時(shí)通過電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118,;郵箱:[email protected],。