1. 程式人生 > >時鐘復位篇

時鐘復位篇

頻率 信息交互 周期 pga 硬件 公倍數 約束 註意 ima

外部時鐘

時鐘信號的來源在FPGA芯片外部,通常的,外部時鐘對於FPGA來說是必需的,因為FPGA內部沒有供內部邏輯使用的時鐘和激勵電路。

2內部時鐘

再生時鐘

再生時鐘是以一個輸入時鐘作為參考,在此基礎上通過調整其頻率和相位產生的新時鐘,FPGA中產生再生時鐘信號的模塊只有PLL和DCM(註意,兩者都能產生時鐘信號)

時鐘域

引入時鐘域在於通常一個FPGA設計中會用到多個時鐘信號。因此必然涉及到這樣一個問題:時鐘信號的管理範圍時多大?這就是時鐘域的問題

時鐘樹

通常描述的一個電路中,微觀來看,由許多觸發器構成,那麽,問題在於這些觸發器所共用的時鐘信號能否同時到達每個寄存器的輸入端,時鐘樹的存在就是為了保證信號到達時鐘域內不同觸發器的時間差最小。

現在註意到這樣一個事情:時鐘信號由FPGA的外部引腳產生,硬件連接時,需要將外部的時鐘電路專門的連接道特定的全局時鐘設計管腳,以及FPGA芯片外圍引腳也有專門為區域時鐘和IO時鐘設計的專有引腳。

為什麽需要這些專有引腳呢,因為這些引腳具有時鐘樹管理資源,進而確保時鐘能夠有正確的時序約束!!!

但是僅僅約束到正確的管腳,未必一定完成了正確的時鐘樹!!通常還需要進行使用原語這一編程行為來保證時鐘信號的正確約束(關於具體的請參考FPGA之道這本書籍)。

跨時鐘域問題:

FPGA設計中不可能所有的模塊設計都采用一個時鐘,因此必然存在跨時鐘域問題。

現在思考這樣一個問題:

當兩個不同時鐘域之間進行信息交互的時候,會存在什麽問題???

如果兩個時鐘域的時鐘信號從時間上講,永遠對不準,會發生什麽???

例子:

“一發一收”穿墻雷達的PLL輸出,設置為120MHz,30MHz,20MHz,12MHz。這些頻率之間都是有最小公倍數的,即意味著在某一時刻,他們能夠滿足相位對準。通常我們在進行時鐘設計的時候,PLL的輸出頻率不要完全互質,導致時鐘需要很長的周期才能對準。

思考時鐘設計背後的意義。

關於時鐘樹的應用:

技術分享圖片

上圖是穿墻雷達,AD時鐘輸入的前端子的原語描述時鐘的RTL級網表。網表結構顯示,鎖相環產生的時鐘,如果直接通過IO端連接到AD芯片的時鐘輸入端,需要引入一個ODDR模塊,而這個模塊的作用即保證了建立IO時鐘的時鐘樹,這與上文中的描述是一致的。

時鐘復位篇