FPGA(現(xiàn)場可編程門陣列)的時鐘布局,是其設(shè)計中至關(guān)重要的一部分。時鐘信號通常用于同步邏輯電路中的各個模塊,確保它們在正確的時間進行操作,以避免時序問題和數(shù)據(jù)錯位。
FPGA 的時鐘原理基本概念:
? 時鐘資源:FPGA 中包含一些全局時鐘資源。以AMD公司近年的主流FPGA為例,這些時鐘資源由CMT(時鐘管理器)產(chǎn)生,包括DCM、PLL和MMCM等。其中DCM在舊的器件中應(yīng)用,目前已被淘汰;PLL為模擬鎖相環(huán),大家較為熟悉,可以用之進行分頻、倍頻及作相位調(diào)節(jié);

圖1 鎖相環(huán)(PLL)的基本電路結(jié)構(gòu)圖
MMCM在PLL的功能基礎(chǔ)之上,提供更為強大的高階功能:如動態(tài)相位調(diào)節(jié)、時鐘擴頻功能及時鐘分配動態(tài)變化等。
? 時鐘分配與布線:FPGA 中通常有多個時鐘資源,時鐘信號需要正確分配到邏輯電路中。時鐘信號的布線質(zhì)量對設(shè)計的性能和功耗都有很大影響。
? 時鐘域交叉:當設(shè)計中存在多個時鐘域時,需要正確處理不同時鐘域之間的數(shù)據(jù)傳輸,以防止時序違規(guī)和異步時鐘域之間的不穩(wěn)定性問題

圖2 經(jīng)過多級寄存器的跨時鐘域數(shù)據(jù)處理方式
? 時鐘緩沖與時鐘延遲:在 FPGA 中,時鐘緩沖和時鐘延遲對時鐘信號的傳播和同步至關(guān)重要。需要注意時鐘緩沖的插入和時鐘延遲對設(shè)計的影響。在需要進行跨時鐘域數(shù)據(jù)傳輸時,可能需要使用時鐘域轉(zhuǎn)換器來實現(xiàn)時鐘域之間的數(shù)據(jù)同步。時鐘域轉(zhuǎn)換器通常包括異步 FIFO 緩沖器、雙口 RAM等。
? 時序約束:通過時序約束來告訴綜合工具和布局布線工具時鐘的頻率和時序要求,以確保時序要求得到滿足。尤其對于每個時鐘域,都需要明確指定相應(yīng)的時序約束,包括時鐘頻率、時鐘起始相位、時鐘傳播延遲等,以確保時序要求得到滿足。通常包括:
◆時鐘頻率約束:指定電路中時鐘信號的最大頻率,以確保電路在給定時鐘頻率下能夠正常工作。
◆時序路徑約束:確定電路中各個信號的傳輸路徑和時序關(guān)系。時序路徑約束通常包括輸入到輸出的傳輸延遲、時鐘到達時間等信息,以確保信號在特定時鐘周期內(nèi)能夠到達目標節(jié)點。
◆時鐘域約束:確定電路中使用的各個時鐘信號的邏輯域,并且定義各個時鐘域之間的時序關(guān)系。
? 時鐘偏移和抖動:時鐘信號可能存在偏移和抖動,這可能導(dǎo)致時序不穩(wěn)定或違反時序約束。

圖3 理想的時鐘和帶抖動的時鐘對比圖
解決 FPGA 中的時鐘問題需要深入理解 FPGA 架構(gòu)和時鐘原理,并結(jié)合設(shè)計工具的使用技巧和實踐經(jīng)驗。正確的時鐘設(shè)計能夠有效提高 FPGA 設(shè)計的性能、可靠性和穩(wěn)定性。
了解以上的時鐘基本概念之后,我們可以對用戶實際設(shè)計中的時鐘使用情況作進一步的分析:
時鐘使用情況進一步分析
? 門控時鐘:此類時鐘出現(xiàn)的目的是為了降低芯片的功耗,因此在ASIC芯片中經(jīng)常應(yīng)用。可分為高有效、低有效、XOR門結(jié)構(gòu)、MUX結(jié)構(gòu)控制等多種形式。

圖4 一個簡單的門控時鐘原理示意圖
由圖可見,門控時鐘實際上是輸入到觸發(fā)器時鐘端的時鐘,來自組合邏輯;那么,問題在于組合邏輯在布局布線之后肯定會產(chǎn)生毛刺,而如果采用這種有毛刺的信號來作為時鐘使用的話,將會出現(xiàn)功能上的錯誤,同時還容易增加延時,引起時鐘漂移,降低可測性;我們的改進方式是:用組合邏輯驅(qū)動CE端口,而不去改動clk端口;原廠的元件庫提供了一種更為方便的方式:通過引入時鐘緩沖器,既可以達到門控的效果,也避免了組合邏輯帶來的時序風險。

圖5 BUFGCE時鐘緩沖器
? 同步時鐘架構(gòu):也可以稱為“單時鐘方式”。這種時鐘的工作方式往往出現(xiàn)在類emulator的硬件系統(tǒng)中,其主要特點是統(tǒng)一使用一個單時鐘(root clock)輸入,隨后再由該時鐘分出很多衍生時鐘作為各模塊的使用。
這種時鐘的結(jié)構(gòu)好處是:對于非常復(fù)雜的時鐘樹結(jié)構(gòu),往往硬件系統(tǒng)本身能夠提供的物理時鐘源數(shù)量十分有限,且同步精度難以保證。那么采用這樣的單時鐘系統(tǒng),不僅能夠從源頭上,保證所有時鐘的同步性,同時,不需要對大量時鐘作很多復(fù)雜的約束條件;最后,在調(diào)試過程當中,需要對時鐘進行停止或啟動的操作時,顯得十分方便。
缺點是,在這種模式下,由于采樣率的限制及時鐘到達時間的延遲,信號保持時間(Hold time)的條件往往難以滿足;所以,整個設(shè)計的頻率不會跑得很快。
? 異步時鐘架構(gòu):也可理解為“多時鐘模式”。這種架構(gòu),一般在原型驗證系統(tǒng)上用的較多,即:硬件系統(tǒng)本身提供很多路物理時鐘(通過晶振或時鐘發(fā)生芯片產(chǎn)生);通過增加定制化的時鐘約束,用戶的設(shè)計,可以較“單時鐘方式”跑的更快一些。
這樣的好處:在硬件系統(tǒng)需要連接軟件上位機作軟硬件聯(lián)合調(diào)試時,有著較大的性能優(yōu)勢并縮短整個系統(tǒng)運行的時間。缺點是由于其時鐘的不可停止性,那么在功能debug調(diào)試上存在一定的限制,比方說看到的信號的位置不精準等等。
詢價列表 ( 件產(chǎn)品)
哦! 它是空的。