www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > > FPGA開源工作室

本文將回顧常見的 FPGA 資源,這些資源使我們能夠在整個系統(tǒng)中有效地生成和分配時鐘信號。
在許多情況下,我們需要生成新的時鐘信號并在整個系統(tǒng)中有效地分配它們。現(xiàn)代 FPGA 具有專用的時鐘管理模塊,使我們能夠執(zhí)行這兩項(xiàng)任務(wù)。
在本文中,我們將首先簡要回顧有效時鐘分配和新時鐘生成的問題。然后,我們將看到現(xiàn)代 FPGA 的時鐘管理模塊可以輕松滿足這兩個設(shè)計要求。

1 高效的時鐘分配

即使在小型數(shù)字設(shè)計中,時鐘信號也可能分布到整個系統(tǒng)的數(shù)百個時鐘元件。這些高扇出時鐘信號負(fù)責(zé)同步系統(tǒng)的不同子系統(tǒng)或組件。這就是為什么我們需要特別注意時鐘網(wǎng)絡(luò)不同路徑引入的延遲。
例如,考慮將時鐘信號從節(jié)點(diǎn) A 分配到節(jié)點(diǎn) B 和 C,如下面的圖 1 所示。在該圖中,時鐘信號進(jìn)入FPGA,經(jīng)過緩沖器(圖中的三角形),然后到達(dá)節(jié)點(diǎn)B的寄存器。該路徑具有固有延遲,在波形中用Δb表示。為了將時鐘從 A 分配到 C,我們可以使用 PCB 走線而不通過 FPGA,但在圖中,F(xiàn)PGA 中分配的時鐘用于“板上的其他設(shè)備”。該路徑的延遲由Δc表示。由于 Δb 和 Δc 通常不相等,因此節(jié)點(diǎn) B 的寄存器和節(jié)點(diǎn) C 的設(shè)備會看到略有不同的時鐘;應(yīng)該具有對齊邊沿的相同時鐘之間的這種固定時間偏移稱為時鐘偏差。我們可以看到,數(shù)字設(shè)計中的一個嚴(yán)重問題是以盡可能小的時鐘偏差在系統(tǒng)中分配高扇出時鐘信號。

2 生成新的時鐘信號

FPGA 的一個理想特性可以是修改給定時鐘信號以根據(jù)系統(tǒng)要求生成新時鐘的能力。例如,假設(shè)您設(shè)計了一塊帶有 FPGA 的電路板。假設(shè) 50 MHz 時鐘對電路板來說足夠了,但在 FPGA 中,您需要 200 MHz 時鐘來執(zhí)行特定算法。如果您能以某種方式從板上的 50 MHz 時鐘生成 200 MHz 時鐘,您就可以避免在您的系統(tǒng)中使用兩個不同的時鐘源,而且您也不必在高于所需頻率的情況下運(yùn)行電路板。如果我們回想一些數(shù)字信號處理 (DSP) 應(yīng)用程序是多速率的并且在算法的不同部分需要不同的時鐘頻率,我們就可以確定時鐘合成的另一個應(yīng)用程序。
現(xiàn)在,讓我們看看 FPGA 的時鐘相關(guān)資源,這些資源使我們能夠生成新的時鐘信號并將其分配到整個系統(tǒng)中。

3FPGA時鐘管理資源

今天的 FPGA 集成了強(qiáng)大的時鐘管理模塊,以促進(jìn)設(shè)計過程并降低成本。我們將這些嵌入式時鐘管理模塊稱為 CMB。不同的供應(yīng)商使用不同的術(shù)語來指代他們的 CMB。例如,Xilinx 使用時鐘管理瓦片 (CMT) 或數(shù)字時鐘管理器 (DCM),Intel 使用眾所周知的術(shù)語鎖相環(huán) (PLL),Microsemi 使用時鐘調(diào)節(jié)電路。
CMB 可以通過執(zhí)行時鐘倍頻和分頻來生成新的時鐘信號。他們可能能夠?qū)⒖删幊滔嘁茟?yīng)用于生成的時鐘,甚至可以調(diào)整時鐘的占空比。CMB 不僅可以消除分布在 FPGA 內(nèi)的時鐘信號,還可以消除分布在 FPGA 外到電路板上其他設(shè)備的時鐘(例如,到達(dá)圖 1 中節(jié)點(diǎn) C 的時鐘)。
可編程相移功能的一種應(yīng)用是將時鐘信號與輸入數(shù)據(jù)同步。當(dāng)我們處理數(shù)字信號時,我們必須在數(shù)據(jù)穩(wěn)定的時刻(最后一次數(shù)據(jù)轉(zhuǎn)換之后和下一次轉(zhuǎn)換之前)對信號進(jìn)行采樣。這就是為什么一些 FPGA 為生成的時鐘的精細(xì)相移調(diào)整提供動態(tài)機(jī)制的原因。例如,Xilinx Virtex II Pro 的 CMB 可以應(yīng)用 1/256 時鐘周期的相移。如果沒有這種相移能力,時鐘可能不會落在數(shù)據(jù)眼圖的中心。
具有占空比調(diào)整功能的 CMB 在需要占空比為 50% 的時鐘信號的應(yīng)用中很有幫助。示例是高速通信,例如 LVDS 和雙數(shù)據(jù)速率 (DDR) 接口。如果時鐘占空比不是 50%,我們可以使用 CMB 的占空比校正功能來重塑時鐘信號,使其具有 50% 的占空比。
為了獲得這些特性,F(xiàn)PGA 使用基于鎖相環(huán) (PLL) 或延遲鎖定環(huán) (DLL) 的 CMB。除了 PLL 和 DLL,還有另一組非常重要的時鐘相關(guān) FPGA 資源:用于在 FPGA 中分配時鐘信號的專用緩沖器和路由。這些專用緩沖器和路由使我們能夠擁有一個低偏斜的時鐘網(wǎng)絡(luò)。
在本文的其余部分,我們將首先回顧使用 PLL/DLL 實(shí)現(xiàn) CMB 的基本概念。然后,我們將了解英特爾 FPGA 所采用的低偏移時鐘網(wǎng)絡(luò)。

4基于 DLL 的時鐘校正

圖 2 顯示了用于補(bǔ)償時鐘分配延遲的 DLL 的基本框圖。

在這個圖中,CLKIN 是我們打算通過“時鐘分配網(wǎng)絡(luò)”分配的輸入時鐘。顧名思義,“可變延遲線”模塊為 CLKIN 引入了一個可調(diào)延遲并產(chǎn)生 CLKOUT。延遲量由“控制”邏輯決定?!翱刂啤眽K監(jiān)控其輸入并改變延遲,以便 CLKIN 和 CLKFB 兩個輸入的上升沿對齊。通過這種方式,電路補(bǔ)償了時鐘分配網(wǎng)絡(luò)中的延遲,理論上我們可以消除時鐘分配的偏差。

請注意,“可變延遲線”不能對 CLKIN 應(yīng)用負(fù)延遲來補(bǔ)償“時鐘分配網(wǎng)絡(luò)”的固有延遲。那么,圖2的框圖如何消除時鐘偏差呢?關(guān)鍵在于時鐘信號 CLKIN 是周期性的。為了闡明這一點(diǎn),讓我們考慮圖 1 的時鐘偏移示例。從 A 到 B 的路徑具有 Δb 延遲,因此,我們需要將 -Δb 延遲(即負(fù)延遲)應(yīng)用于節(jié)點(diǎn) A 的時鐘然后通過延遲 Δb 的路徑分發(fā)它。我們?nèi)绾我?guī)避造成負(fù)延遲的問題?請記住,時鐘信號是一個周期性波形。假設(shè)周期為 T 。我們知道一個周期為 T 的周期函數(shù) f(t) 滿足
f(t)=f(t+T)
應(yīng)用負(fù)延遲 -Δb,我們有
f(t?Δb)=f(t+T?Δb)
因此,我們可以應(yīng)用 T-Δb 的正延遲,而不是應(yīng)用負(fù)延遲 -Δb。如下圖 3 所示;請注意,圖 3 說明了 DLL 應(yīng)用于原始時鐘信號的延遲,而圖 1 顯示了由從 A 到 B 以及從 A 到 C 的路徑引起的延遲。

5基于 PLL 的時鐘去偏斜

我們可以使用 PLL 來有效消除時鐘分配網(wǎng)絡(luò)的延遲,而不是使用 DLL。如圖 4 所示。

在這種情況下,使用“電壓控制振蕩器”代替“可變延遲線”。反饋回路調(diào)整振蕩器的頻率,使兩個時鐘信號 CLKIN 和 CLKFB 具有對齊的邊沿。
我們可以很容易地穩(wěn)定一個 DLL 的反饋回路;然而,對于 PLL,情況并非如此,因?yàn)闀r鐘分配網(wǎng)絡(luò)將在 PLL 的反饋環(huán)路內(nèi)。這就是為什么基于 DLL 的結(jié)構(gòu)更容易適用于時鐘校正應(yīng)用程序的原因。另一方面,在合成新的時鐘信號時,PLL 更加靈活。
根據(jù)我們的討論,我們可以使用 FPGA 的 CLB 來消除圖 1 的時鐘分布偏移,如下面圖 5 的簡化框圖所示。請注意,CMB 不僅可以對分布在 FPGA 內(nèi)的時鐘信號進(jìn)行去偏斜,還可以對進(jìn)入板上其他設(shè)備的時鐘進(jìn)行去偏斜。

我們看到 CMB 可用于合成新的時鐘信號。現(xiàn)在,讓我們看看另一組與時鐘相關(guān)的 FPGA 資源:可用于在 FPGA 中分配時鐘信號的專用緩沖器和路由。

6與時鐘相關(guān)的緩沖器和路由

這些資源負(fù)責(zé)分配具有低偏斜的高扇出時鐘信號。瀏覽這些緩沖區(qū)和路由的細(xì)節(jié)可能會讓人不知所措,但我們將簡要回顧一些重要的概念。為了以相等的傳播延遲將時鐘信號分配到芯片的所有部分,我們可以使用一種稱為 H 樹的特殊路由形式。您可以在圖 6 中看到一個示例。

您可以輕松驗(yàn)證從 CLK-in 到每個矩形(代表時鐘元素)是否有類似的路徑。因此,理論上,所有時鐘元件將看到相同的時鐘信號。圖 7 顯示了一些英特爾 FPGA 用于分配全局時鐘信號 (GCLK) 的 H 樹。

GCLK 在整個器件中驅(qū)動,用作功能塊的低偏移時鐘源,例如自適應(yīng)邏輯模塊 (ALM)、數(shù)字信號處理 (DSP) 子電路、嵌入式存儲器和 PLL。
除了 GCLK,英特爾 FPGA 中還有區(qū)域時鐘 (RCLK) 網(wǎng)絡(luò)。如圖 8 所示,這些 RCLK 僅被驅(qū)動到芯片的一個象限中。

Intel 設(shè)備還具有分布在芯片較小區(qū)域內(nèi)的外圍時鐘 (PCLK) 網(wǎng)絡(luò)。下面的圖 9 顯示了一個示例。

現(xiàn)在,覆蓋所有這些網(wǎng)絡(luò),我們得到如圖 10 所示的網(wǎng)絡(luò)。

如圖 8 和 9 所示,F(xiàn)PGA 具有僅分布在芯片的一個區(qū)域中的專用時鐘路由。這些被稱為時鐘區(qū)域。請注意,不同的設(shè)備具有不同的時鐘區(qū)域。還要注意,我們需要一些緩沖器來沿我們上面討論的專用路徑有效地分配時鐘信號。您可以在器件數(shù)據(jù)表中找到詳細(xì)信息,但圖 11 顯示了一個示例。該圖顯示了 Xilinx 7 系列 FPGA 的一個時鐘區(qū)域。BUFG、BUFH、BUFR是三個時鐘相關(guān)的緩沖器,如圖所示。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
關(guān)閉