看一下多片F(xiàn)PGA原型驗證系統(tǒng)的時鐘同步_第1頁
看一下多片F(xiàn)PGA原型驗證系統(tǒng)的時鐘同步_第2頁
看一下多片F(xiàn)PGA原型驗證系統(tǒng)的時鐘同步_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

看一下多片F(xiàn)PGA原型驗證系統(tǒng)的時鐘同步

SoC設(shè)計是一個整體的芯片設(shè)計,最終整個設(shè)計將在統(tǒng)一到一塊硅片上完成整個芯片,但是,原型驗證中,這個SoC的設(shè)計要分布在多個FPGA芯片上,因此整體的設(shè)計連續(xù)性會受到影響。將我們的RTL設(shè)計分別映射到多個FPGA芯片上有三個特別的方面,我們需要特別關(guān)注。時鐘、復(fù)位和啟動條件。為了盡可能實現(xiàn)FPGA原型平臺和最終SoC之間的完全保真度,時鐘、重置和啟動應(yīng)表現(xiàn)為FPGA之間的硬邊界不存在。

這篇文章,我們來看一下多片F(xiàn)PGA原型驗證系統(tǒng)的時鐘同步。先從多片F(xiàn)PGA原型平臺上綜合時鐘網(wǎng)絡(luò)時會存在的兩個潛在問題說起:

時鐘偏移和時鐘不確定性:一種常見的設(shè)計方法是使用FPGA硬件板上的PLL來生成所需的時鐘,并將其作為主要輸入分配給每個FPGA。由于到達(dá)FPGA所采用的路徑不同,板載PCB軌跡線和緩沖器可能會在相關(guān)時鐘之間引入一些不確定性和時鐘偏移。

如果忽略,這種偏移可能會在這些相關(guān)時鐘之間的短路徑上導(dǎo)致保持時間違例。后端布局布線工具通??梢越鉀QFPGA內(nèi)的保持時間違例,但目前無法導(dǎo)入從綜合之前引入的時鐘偏斜和不確定性信息。為了解決這個問題,F(xiàn)PGA擁有PLL(通常是FPGA中MCMM的一部分)可以與板的PLL結(jié)合使用或代替板的PLL。后端工具了解MCMM的偏斜和不確定性,并可以在布局過程中解決這些問題。然而,分布式MCMM的使用可能會帶來上述第二個潛在問題。

時鐘同步:當(dāng)在每個FPGA上本地重新生成相關(guān)時鐘時,存在一個潛在的時鐘同步問題,該問題確實會影響原始SoC設(shè)計,其中時鐘是從公共源生成和不受信任的。當(dāng)一個N分頻時鐘的多個拷貝來自一個基本時鐘,但由于復(fù)位或初始啟動條件以及剛好不走運遇到硬件故障,它們就不同步。

經(jīng)過分割設(shè)計的時鐘網(wǎng)絡(luò)分布在相應(yīng)的FPGA以及板上的其他時鐘組件上。通過成功的時鐘門轉(zhuǎn)換,可以使跨越所有FPGA的大量不同時鐘變得更容易,從而減少時鐘的數(shù)量和復(fù)雜性。然而,仍有許多時鐘驅(qū)動器需要在多個FPGA中復(fù)制。重要的是,這些復(fù)制時鐘保持同步,并且在主時鐘的正確邊緣上生成任何分頻時鐘。這取決于每個FPGA在同一時鐘邊緣上的復(fù)位應(yīng)用。因此,有一種通用的FPGA之間的時鐘分布,如圖所示,

在該圖中,我們看到在板上生成的源時鐘,而在每個FPGA中使用本地MMCM來重新同步,然后通過BUFG全局緩沖器重新分配時鐘。在許多情況下,這種小型FPGA時鐘樹需要手動插入設(shè)計中。一般分割軟件將會引入自動將公共時鐘電路插入每個FPGA的功能。

一般SoC在頂層會設(shè)計具有全時鐘管理的CRG模塊,只需要在一個頂層模塊上進(jìn)行更改,然后使用復(fù)制將相同的結(jié)構(gòu)分區(qū)到每個FPGA中。即使SoC的RTL中的時鐘分布在整個設(shè)計過程中,復(fù)制也將幫助我們將更改限制為比其他情況下可能需要的更少的RTL文件。如果我們使用按時鐘域進(jìn)行分割設(shè)計,則可以避免復(fù)制時鐘緩沖區(qū)。這種方法的成功將取決于不同時鐘的相對扇出以及時鐘域之間的路徑數(shù)量。

無論采用何種分割策略,每個FPGA都是一個離散的實體,為了時鐘同步,每個FPGA必須有自己的時鐘生成,而不是依賴于來自另一個FPGA中的生成器的時鐘。因此,時鐘發(fā)生器必須在每個FPGA中實例化,即使SoC設(shè)計的一小部分在那里被劃分。

時鐘發(fā)生器在原型平臺中如何幫助我們?MMCM的PLL具有可以鎖定的最小頻率,因此FPGA的輸入時鐘必須至少以該速率驅(qū)動。比如某型號的MCMM的最小鎖定頻率為10MHz,而之前的技術(shù)為30MHz或更高,這使得它們對我們的用途特別有用。它們能夠產(chǎn)生比它們可以接受的輸入慢得多的時鐘。因此,我們的任務(wù)是在原型上組裝一個時鐘樹,在那里我們在FPGA外部保持較高的頻率,然后在內(nèi)部分頻,同時保持內(nèi)部時鐘同步。我們通過以下方式實現(xiàn):

如果SoC設(shè)計中在頂層具有時鐘發(fā)生CRG模塊,則在RTL中例化創(chuàng)建時鐘生成器塊,以替換SoC中CRG模塊時鐘的等效部分。我們使用全局基準(zhǔn)時鐘來驅(qū)動MCMM,MCMM通過其除以n的輸出生成較慢的導(dǎo)數(shù)。

選擇板上生成的任何一個全局系統(tǒng)時鐘;其頻率必須高于最小MMCM鎖定頻率。

用全局時鐘驅(qū)動新RTL時鐘樹的輸入。

在新的時鐘生成器RTL中,創(chuàng)建MMCM和BUFG實例樹,以創(chuàng)建所有必要的子時鐘。

在分割軟件中,根據(jù)需要將MMCM和BUFG復(fù)制到每個FPGA中,以驅(qū)動分配到那里的邏輯。

在IO的trace分組分配期間,必須將全局時鐘分配給FPGA的全局時鐘輸入。

如果時鐘產(chǎn)生或者門控更加分布,那么我們可能需要將BUFG和MMCM組件直接實例化到不同的RTL文件中,但我們應(yīng)該始終關(guān)注復(fù)制如何使此過程更容易。

對于多FPGA原型驗證系統(tǒng),我們可能需要時鐘樹中額外的層次結(jié)構(gòu)。我們應(yīng)該使用板載PLL驅(qū)動每個板的主時鐘,并在每個板上使用PLL重新同步,使用板的本地PLL輸出驅(qū)動每個FPGA,通過使用PLL和匹配的延遲時鐘PCB跡線和電纜來避免FPGA板之間的時鐘偏移。因為可以使用多個PLL和MCMM,所以本地慢時鐘必須與全局時鐘同步。這是通過使用基準(zhǔn)時鐘作為每個MMCM的反饋時鐘輸入來實現(xiàn)的。

為什么不使用板載全局時鐘資源生成所有時鐘。畢竟,我們可能在電路板上安裝了專門的PLL設(shè)備,例如,最低鎖定頻率甚至更低。這里需要注意的問題是

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論