設計中最快的時鐘將確定 FPGA 必須能處理的時鐘速率。最快時鐘速率由設計中兩個觸發(fā)器之間一個信號的傳輸時間 P 來決定,如果 P 大于時鐘周期 T,則當信號在一個觸發(fā)器上改變后,在下一個邏輯級上將不會改變,直到兩個時鐘周期以后才改變,如圖所示。

圖1
02、FPGA所使用的時鐘必須具有低抖動特性
傳輸時間為信號在第一個觸發(fā)器輸出處所需的保持時間加上兩級之間的任何組合邏輯的延遲,再加兩級之間的布線延遲以及信號進入第二級觸發(fā)器的設置時間。無論時鐘速率為多少,每一個 FPGA 設計所用的時鐘必須具有低抖動特性。抖動 S 是觸發(fā)器的一個時鐘輸入到另一個觸發(fā)器的時鐘輸入之間的最大延遲。為使電路正常工作,抖動必須小于兩個觸發(fā)器之間的傳輸時間。
圖 2 顯示了如果抖動大于傳輸時間(S>P)將出現(xiàn)的情況,該電路用時鐘的兩個上升沿來延 遲信號 1。然而,信號 1 上的一個改變會在相同的時鐘周期上傳輸?shù)降男盘?3 上,從而引起信號 2 的改變。因為 S > P,電路將不能不正常。

圖2
注意事項
須注意的是,時鐘速率與傳輸延時并沒有什么關系,甚至普通的 100bps 時鐘也會出現(xiàn)抖動問題。這意味著雖然 FPGA 供應商宣稱他們的芯片具有較短的傳輸時間和很高的時鐘速率,但抖動問題可能會嚴重,甚至那些沒有運行在最高速率上的設計也是如此。
好在 FPGA 供應商已經(jīng)認識到時鐘抖動的影響,并在他們的芯片中提供低抖動的布線資源。這些特殊的布線能夠在芯片中一個給定范圍內(nèi)的任何兩個觸發(fā)器之間提供一個確定的最大抖動。部分產(chǎn)品的低抖動資源覆蓋了整個芯片,而其它的則可能只覆蓋了 FPGA 邏輯塊中的一個特定的行或列。對于一個需要很多不同時鐘源的設計,這些低抖動 FPGA 是比較理想的選擇。
03、多時鐘設計中使用異步時鐘將兩級邏輯結(jié)合
多時鐘設計的最嚴重問題之一是用異步時鐘將兩級邏輯結(jié)合在一起。由于異步時鐘會產(chǎn)生亞穩(wěn)態(tài),從而嚴重降低設計性能,或完全破壞設計所能實現(xiàn)的功能。在觸發(fā)器的時序要求產(chǎn)生沖突時(設置時間和保持時間)將產(chǎn)生亞穩(wěn)態(tài),觸發(fā)器的最終輸出是未知的,并使整個設計處于不確定狀態(tài)。如果有一級邏輯要將數(shù)據(jù)異步地發(fā)送到另一級,圖 3 所示的情形將不能滿足觸發(fā)器的設置和保持時間要求。確切地說,如果設計中含有異步邏輯將有可能會產(chǎn)生亞穩(wěn)態(tài)。在處置異步資源時必需非常小心,因為這可能產(chǎn)生一些很嚴重的問題。

圖3
在用異步時鐘產(chǎn)生任何邏輯前應該盡量先考慮采用其它替代方法,用異步時鐘的組合邏輯是產(chǎn)生亞穩(wěn)態(tài)問題的主要原因。同樣,當違反觸發(fā)器的設置和保持時間約束時,在一個短時間內(nèi)輸出將具有不確定性,并且將最終設定在“1”或“0”上,確切的狀態(tài)不可預知。
幸好在面對亞穩(wěn)態(tài)時,已經(jīng)有了一些解決方案。比如雙寄存器方法:進入第一級觸發(fā)器的數(shù)據(jù)與時鐘異步,所以第一級觸發(fā)器幾乎肯定是亞穩(wěn)態(tài);然而,只要亞穩(wěn)態(tài)的長度小于時鐘的周期,第二級觸發(fā)器就不會進入亞穩(wěn)態(tài)。但是,F(xiàn)PGA 供應商很少提供亞穩(wěn)態(tài)時間,盡管該時間一般小于觸發(fā)器的設置和保持時間之和。
編輯:hfy-
FPGA
+關注
關注
1659文章
22365瀏覽量
632986 -
寄存器
+關注
關注
31文章
5601瀏覽量
129574
發(fā)布評論請先 登錄
汽車時鐘MC - K系列時鐘振蕩器:設計與應用指南
時鐘設計優(yōu)化實戰(zhàn)
PLL1708雙PLL多時鐘發(fā)生器技術文檔總結(jié)
?PLL1707/PLL1708 雙PLL多時鐘發(fā)生器技術文檔總結(jié)
PLL1707-Q1 3.3V雙PLL多時鐘發(fā)生器技術文檔總結(jié)
AMD Vivado Design Tool綜合中的門控時鐘轉(zhuǎn)換
電容在時鐘電路中的應用有哪些
時鐘電路的組成與設計要點介紹
Xilinx Ultrascale系列FPGA的時鐘資源與架構(gòu)解析
HDMI時鐘EMI問題的高效解決方案
FPGA中時鐘速率和多時鐘設計案例分析
評論