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

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

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

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

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

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

08.JPG

  在這個(gè)例子中,驅(qū)動(dòng)端(處理器)向接收端(芯片組)傳送數(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í)鐘信號(hào)到各個(gè)模塊是同步的,即圖中的Tflt clka和Tflt clkb延時(shí)相同。通過分析不難看出,整個(gè)數(shù)據(jù)從發(fā)送到接收的過程需要經(jīng)歷連續(xù)的兩個(gè)時(shí)鐘沿,也就是說,如果要使系統(tǒng)能正常工作,就必須在一個(gè)時(shí)鐘周期內(nèi)讓信號(hào)從發(fā)送端傳輸?shù)浇邮斩恕H绻盘?hào)的傳輸延遲大于一個(gè)時(shí)鐘周期,那么當(dāng)接收端的第二個(gè)時(shí)鐘沿觸發(fā)時(shí),就會(huì)造成數(shù)據(jù)的錯(cuò)誤讀取,因?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ù)的確定

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

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

07.JPG

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

 06.JPG

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

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

05.JPG

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

 ?。‵irst SwitchDelay),如下圖。

 04.JPG

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

03.JPG

  每個(gè)器件的建立和保持時(shí)間參數(shù),一般都可以在相應(yīng)的DataSheet查到,對(duì)于設(shè)計(jì)者來說最大的目的是提高時(shí)序的裕量,這樣即使信號(hào)完整性上出現(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ì)中對(duì)時(shí)鐘信號(hào)的要求是非常嚴(yán)格的,因?yàn)槲覀兯械臅r(shí)序計(jì)算都是以恒定的時(shí)鐘信號(hào)為基準(zhǔn)。但實(shí)際中時(shí)鐘信號(hào)往往不可能總是那么完美,會(huì)出現(xiàn)抖動(dòng)(Jitter)和偏移(Skew)問題。所謂抖動(dòng),就是指兩個(gè)時(shí)鐘周期之間存在的差值,這個(gè)誤差是在時(shí)鐘發(fā)生器內(nèi)部產(chǎn)生的,和晶振或者PLL內(nèi)部電路有關(guān),布線對(duì)其沒有影響,如下圖。除此之外,還有一種由于周期內(nèi)信號(hào)的占空比發(fā)生變化而引起的抖動(dòng),稱之為半周期抖動(dòng)??偟膩碚f,jitter可以認(rèn)為在時(shí)鐘信號(hào)本身在傳輸過程中的一些偶然和不定的變化之總和。

02.JPG

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

  除了上面提到的這些概念,還有一點(diǎn)要注意的是,時(shí)刻不能忽略信號(hào)完整性對(duì)時(shí)序的影響,比如串?dāng)_會(huì)影響微帶線傳播延遲;反射會(huì)造成數(shù)據(jù)信號(hào)在邏輯門限附近波動(dòng),從而影響最大/最小飛行時(shí)間;時(shí)鐘走線的干擾會(huì)造成一定的時(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)和其它問題,請(qǐng)及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。