大型設(shè)計(jì)中FPGA的多時(shí)鐘設(shè)計(jì)策略
發(fā)布時(shí)間:2008/5/28 0:00:00 訪問次數(shù):601
fpga設(shè)計(jì)的第一步是決定需要什么樣的時(shí)鐘速率,設(shè)計(jì)中最快的時(shí)鐘將確定fpga必須能處理的時(shí)鐘速率。最快時(shí)鐘速率由設(shè)計(jì)中兩個(gè)觸發(fā)器之間一個(gè)信號的傳輸時(shí)間p來決定,如果p大于時(shí)鐘周期t,則當(dāng)信號在一個(gè)觸發(fā)器上改變后,在下一個(gè)邏輯級上將不會改變,直到兩個(gè)時(shí)鐘周期以后才改變,如圖1所示。
傳輸時(shí)間為信號在第一個(gè)觸發(fā)器輸出處所需的保持時(shí)間加上兩級之間的任何組合邏輯的延遲,再加兩級之間的布線延遲以及信號進(jìn)入第二級觸發(fā)器的設(shè)置時(shí)間。無論時(shí)鐘速率為多少,每一個(gè)fpga設(shè)計(jì)所用的時(shí)鐘必須具有低抖動特性。抖動s是觸發(fā)器的一個(gè)時(shí)鐘輸入到另一個(gè)觸發(fā)器的時(shí)鐘輸入之間的最大延遲。為使電路正常工作,抖動必須小于兩個(gè)觸發(fā)器之間的傳輸時(shí)間。
圖二
圖2顯示了如果抖動大于傳輸時(shí)間(s>p)將出現(xiàn)的情況,該電路用時(shí)鐘的兩個(gè)上升沿來延遲信號1。然而,信號1上的一個(gè)改變會在相同的時(shí)鐘周期上傳輸?shù)降男盘?上,從而引起信號2的改變。因?yàn)閟>p,電路將不能不正常。
須注意的是,時(shí)鐘速率與傳輸延時(shí)并沒有什么關(guān)系,甚至普通的100bps時(shí)鐘也會出現(xiàn)抖動問題。這意味著雖然fpga供應(yīng)商宣稱他們的芯片具有較短的傳輸時(shí)間和很高的時(shí)鐘速率,但抖動問題可能會嚴(yán)重,甚至那些沒有運(yùn)行在最高速率上的設(shè)計(jì)也是如此。
好在fpga供應(yīng)商已經(jīng)認(rèn)識到時(shí)鐘抖動的影響,并在他們的芯片中提供低抖動的布線資源。這些特殊的布線能夠在芯片中一個(gè)給定范圍內(nèi)的任何兩個(gè)觸發(fā)器之間提供一個(gè)確定的最大抖動。部分產(chǎn)品的低抖動資源覆蓋了整個(gè)芯片,而其它的則可能只覆蓋了fpga邏輯塊中的一個(gè)特定的行或列。對于一個(gè)需要很多不同時(shí)鐘源的設(shè)計(jì),這些低抖動fpga是比較理想的選擇。
多時(shí)鐘設(shè)計(jì)的最嚴(yán)重問題之一是用異步時(shí)鐘將兩級邏輯結(jié)合在一起。由于異步時(shí)鐘會產(chǎn)生亞穩(wěn)態(tài),從而嚴(yán)重降低設(shè)計(jì)性能,或完全破壞設(shè)計(jì)所能實(shí)現(xiàn)的功能。在觸發(fā)器的時(shí)序要求產(chǎn)生沖突時(shí)(設(shè)置時(shí)間和保持時(shí)間)將產(chǎn)生亞穩(wěn)態(tài),觸發(fā)器的最終輸出是未知的,并使整個(gè)設(shè)計(jì)處于不確定狀態(tài)。如果有一級邏輯要將數(shù)據(jù)異步地發(fā)送到另一級,圖3所示的情形將不能滿足觸發(fā)器的設(shè)置和保持時(shí)間要求。確切地說,如果設(shè)計(jì)中含有異步邏輯將有可能會產(chǎn)生亞穩(wěn)態(tài)。在處置異步資源時(shí)必需非常小心,因?yàn)檫@可能產(chǎn)生一些很嚴(yán)重的問題。
圖三
多時(shí)鐘設(shè)計(jì)
本文以電信應(yīng)用中的e3多路復(fù)用/解復(fù)用設(shè)計(jì)為例。如圖4所示,多路復(fù)用器接收來自一組獨(dú)立線路接口芯片的16個(gè)獨(dú)立e1信道,每一個(gè)信道都工作于2.048mhz;經(jīng)復(fù)用后,這些e1流組合成4個(gè)e2流,分別工作在8.0448mhz;4個(gè)e2流最后組合成一個(gè)e3流,以34.368mbps的速率串行發(fā)送出去。在接收端執(zhí)行相反的操作:解復(fù)用器從e3流提取4個(gè)e2數(shù)據(jù)流,然后從e2流提取16個(gè)e1流,最終將e1流發(fā)送到接收端的線路接口芯片。
圖四
這些e1線路接口在發(fā)送和接收時(shí)都獨(dú)立工作,因此2.048mhz的時(shí)鐘速率可以有+/- 20ppm的偏差。同樣,因?yàn)榇蠖鄶?shù)系統(tǒng)同時(shí)發(fā)送和接收數(shù)據(jù),分立的多路復(fù)用器和多路解復(fù)用器將提供2個(gè)獨(dú)立的e3流(發(fā)送和接收)。因此,兩個(gè)34.368mhz的時(shí)鐘可以存在細(xì)微的差異。
由于e2流是在芯片上產(chǎn)生的,這些e2多路復(fù)用器可以共享同一個(gè)8.448mhz時(shí)鐘。然而,由于接收的數(shù)據(jù)速率與我們所設(shè)計(jì)的板無關(guān)(且不能假定所有e2多路復(fù)用器使用相同時(shí)鐘),所以e2解復(fù)用器時(shí)鐘必須能工作在略為不同的速率下。
此外,假定設(shè)計(jì)中需要一個(gè)由工作頻率為1mhz的處理器控制的獨(dú)立spi(串行外圍接口)總線接口,該接口用于狀態(tài)和控制。這樣一來,設(shè)計(jì)中總共用了32個(gè)2.048mhz時(shí)鐘,5個(gè)8.448mhz時(shí)鐘,2個(gè)34.368mhz時(shí)鐘和一個(gè)1mhz時(shí)鐘,總共多達(dá)40個(gè)時(shí)鐘。
本設(shè)計(jì)中最快時(shí)鐘是34.368mhz e3時(shí)鐘。fpga的最大時(shí)鐘速率的確定很重要,因?yàn)樵O(shè)計(jì)的差異將影響到該最大值。然而,在芯片商的資料手冊中常?梢钥吹健叭謺r(shí)鐘設(shè)置及保持時(shí)間”和“至clb輸出的時(shí)鐘”兩個(gè)參數(shù),將這兩個(gè)參數(shù)的最大值相加,再增加25%就能可以得到最小時(shí)鐘周期的初略值,在最大時(shí)鐘速率條件下允許10%的余量,以保證過熱條件下能正常工作。因此,我們設(shè)置的最小速率為40mhz,很多較新的fpga都能夠很容易地支持該頻率。事實(shí)上,fpga供應(yīng)商已經(jīng)推出了超過300mhz的器件。
在確定了能滿足最大頻率要求的fpga后,就需要保證有足夠的空間來實(shí)現(xiàn)你的設(shè)計(jì)。如果所選的fpga沒有足夠的余量,就不能提供足夠的布線資源來滿足設(shè)計(jì)的時(shí)序約束。通常芯片供應(yīng)商宣稱的速率是最
fpga設(shè)計(jì)的第一步是決定需要什么樣的時(shí)鐘速率,設(shè)計(jì)中最快的時(shí)鐘將確定fpga必須能處理的時(shí)鐘速率。最快時(shí)鐘速率由設(shè)計(jì)中兩個(gè)觸發(fā)器之間一個(gè)信號的傳輸時(shí)間p來決定,如果p大于時(shí)鐘周期t,則當(dāng)信號在一個(gè)觸發(fā)器上改變后,在下一個(gè)邏輯級上將不會改變,直到兩個(gè)時(shí)鐘周期以后才改變,如圖1所示。
傳輸時(shí)間為信號在第一個(gè)觸發(fā)器輸出處所需的保持時(shí)間加上兩級之間的任何組合邏輯的延遲,再加兩級之間的布線延遲以及信號進(jìn)入第二級觸發(fā)器的設(shè)置時(shí)間。無論時(shí)鐘速率為多少,每一個(gè)fpga設(shè)計(jì)所用的時(shí)鐘必須具有低抖動特性。抖動s是觸發(fā)器的一個(gè)時(shí)鐘輸入到另一個(gè)觸發(fā)器的時(shí)鐘輸入之間的最大延遲。為使電路正常工作,抖動必須小于兩個(gè)觸發(fā)器之間的傳輸時(shí)間。
圖二
圖2顯示了如果抖動大于傳輸時(shí)間(s>p)將出現(xiàn)的情況,該電路用時(shí)鐘的兩個(gè)上升沿來延遲信號1。然而,信號1上的一個(gè)改變會在相同的時(shí)鐘周期上傳輸?shù)降男盘?上,從而引起信號2的改變。因?yàn)閟>p,電路將不能不正常。
須注意的是,時(shí)鐘速率與傳輸延時(shí)并沒有什么關(guān)系,甚至普通的100bps時(shí)鐘也會出現(xiàn)抖動問題。這意味著雖然fpga供應(yīng)商宣稱他們的芯片具有較短的傳輸時(shí)間和很高的時(shí)鐘速率,但抖動問題可能會嚴(yán)重,甚至那些沒有運(yùn)行在最高速率上的設(shè)計(jì)也是如此。
好在fpga供應(yīng)商已經(jīng)認(rèn)識到時(shí)鐘抖動的影響,并在他們的芯片中提供低抖動的布線資源。這些特殊的布線能夠在芯片中一個(gè)給定范圍內(nèi)的任何兩個(gè)觸發(fā)器之間提供一個(gè)確定的最大抖動。部分產(chǎn)品的低抖動資源覆蓋了整個(gè)芯片,而其它的則可能只覆蓋了fpga邏輯塊中的一個(gè)特定的行或列。對于一個(gè)需要很多不同時(shí)鐘源的設(shè)計(jì),這些低抖動fpga是比較理想的選擇。
多時(shí)鐘設(shè)計(jì)的最嚴(yán)重問題之一是用異步時(shí)鐘將兩級邏輯結(jié)合在一起。由于異步時(shí)鐘會產(chǎn)生亞穩(wěn)態(tài),從而嚴(yán)重降低設(shè)計(jì)性能,或完全破壞設(shè)計(jì)所能實(shí)現(xiàn)的功能。在觸發(fā)器的時(shí)序要求產(chǎn)生沖突時(shí)(設(shè)置時(shí)間和保持時(shí)間)將產(chǎn)生亞穩(wěn)態(tài),觸發(fā)器的最終輸出是未知的,并使整個(gè)設(shè)計(jì)處于不確定狀態(tài)。如果有一級邏輯要將數(shù)據(jù)異步地發(fā)送到另一級,圖3所示的情形將不能滿足觸發(fā)器的設(shè)置和保持時(shí)間要求。確切地說,如果設(shè)計(jì)中含有異步邏輯將有可能會產(chǎn)生亞穩(wěn)態(tài)。在處置異步資源時(shí)必需非常小心,因?yàn)檫@可能產(chǎn)生一些很嚴(yán)重的問題。
圖三
多時(shí)鐘設(shè)計(jì)
本文以電信應(yīng)用中的e3多路復(fù)用/解復(fù)用設(shè)計(jì)為例。如圖4所示,多路復(fù)用器接收來自一組獨(dú)立線路接口芯片的16個(gè)獨(dú)立e1信道,每一個(gè)信道都工作于2.048mhz;經(jīng)復(fù)用后,這些e1流組合成4個(gè)e2流,分別工作在8.0448mhz;4個(gè)e2流最后組合成一個(gè)e3流,以34.368mbps的速率串行發(fā)送出去。在接收端執(zhí)行相反的操作:解復(fù)用器從e3流提取4個(gè)e2數(shù)據(jù)流,然后從e2流提取16個(gè)e1流,最終將e1流發(fā)送到接收端的線路接口芯片。
圖四
這些e1線路接口在發(fā)送和接收時(shí)都獨(dú)立工作,因此2.048mhz的時(shí)鐘速率可以有+/- 20ppm的偏差。同樣,因?yàn)榇蠖鄶?shù)系統(tǒng)同時(shí)發(fā)送和接收數(shù)據(jù),分立的多路復(fù)用器和多路解復(fù)用器將提供2個(gè)獨(dú)立的e3流(發(fā)送和接收)。因此,兩個(gè)34.368mhz的時(shí)鐘可以存在細(xì)微的差異。
由于e2流是在芯片上產(chǎn)生的,這些e2多路復(fù)用器可以共享同一個(gè)8.448mhz時(shí)鐘。然而,由于接收的數(shù)據(jù)速率與我們所設(shè)計(jì)的板無關(guān)(且不能假定所有e2多路復(fù)用器使用相同時(shí)鐘),所以e2解復(fù)用器時(shí)鐘必須能工作在略為不同的速率下。
此外,假定設(shè)計(jì)中需要一個(gè)由工作頻率為1mhz的處理器控制的獨(dú)立spi(串行外圍接口)總線接口,該接口用于狀態(tài)和控制。這樣一來,設(shè)計(jì)中總共用了32個(gè)2.048mhz時(shí)鐘,5個(gè)8.448mhz時(shí)鐘,2個(gè)34.368mhz時(shí)鐘和一個(gè)1mhz時(shí)鐘,總共多達(dá)40個(gè)時(shí)鐘。
本設(shè)計(jì)中最快時(shí)鐘是34.368mhz e3時(shí)鐘。fpga的最大時(shí)鐘速率的確定很重要,因?yàn)樵O(shè)計(jì)的差異將影響到該最大值。然而,在芯片商的資料手冊中常?梢钥吹健叭謺r(shí)鐘設(shè)置及保持時(shí)間”和“至clb輸出的時(shí)鐘”兩個(gè)參數(shù),將這兩個(gè)參數(shù)的最大值相加,再增加25%就能可以得到最小時(shí)鐘周期的初略值,在最大時(shí)鐘速率條件下允許10%的余量,以保證過熱條件下能正常工作。因此,我們設(shè)置的最小速率為40mhz,很多較新的fpga都能夠很容易地支持該頻率。事實(shí)上,fpga供應(yīng)商已經(jīng)推出了超過300mhz的器件。
在確定了能滿足最大頻率要求的fpga后,就需要保證有足夠的空間來實(shí)現(xiàn)你的設(shè)計(jì)。如果所選的fpga沒有足夠的余量,就不能提供足夠的布線資源來滿足設(shè)計(jì)的時(shí)序約束。通常芯片供應(yīng)商宣稱的速率是最
熱門點(diǎn)擊
- Xilinx FPGA全局時(shí)鐘和第二全局時(shí)鐘
- 使用C編譯器+ICD2調(diào)試程序需要注意的問題
- Altera發(fā)布低成本低功耗CPLD EPM
- 基于VHDL的彩燈控制
- FPGA與DDR3 SDRAM的接口設(shè)計(jì)
- 基于IP模塊的PCI接口設(shè)計(jì)及FPGA實(shí)現(xiàn)
- 基于GCC的嵌入式程序插裝技術(shù)
- 組態(tài)王6.53
- ELD
- EDA技術(shù)在數(shù)字系統(tǒng)設(shè)計(jì)分析中的應(yīng)用
推薦技術(shù)資料
- 聲道前級設(shè)計(jì)特點(diǎn)
- 與通常的Hi-Fi前級不同,EP9307-CRZ這臺分... [詳細(xì)]
- AMOLED顯示驅(qū)動芯片關(guān)鍵技
- CMOS圖像傳感器技術(shù)參數(shù)設(shè)計(jì)
- GB300 超級芯片應(yīng)用需求分
- 4NP 工藝NVIDIA Bl
- GB300 芯片、NVL72
- 首個(gè)最新高端芯片人工智能服務(wù)器
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究