如果SoC設(shè)計規(guī)模小,在單個FPGA內(nèi)可以容納,那么只要系統(tǒng)中的FPGA具有所SoC所設(shè)計需要時鐘的數(shù)量,SoC時鐘網(wǎng)絡(luò)將由FPGA中的復(fù)雜時鐘網(wǎng)絡(luò)來解決,包括PLL、時鐘分頻、倍頻以及本地時鐘和全局時鐘之間的同步。 一旦SoC設(shè)計規(guī)模很大,必須跨多個FPGA進(jìn)行分區(qū),則時鐘方案的復(fù)雜性就上來了。
實際上,整個原型驗證系統(tǒng)的時鐘網(wǎng)絡(luò)結(jié)構(gòu)的頂層需要由FPGA原型驗證系統(tǒng)板級解決,而不是在FPGA芯片內(nèi)部解決,因為不同F(xiàn)PGA芯片內(nèi)部的時鐘源很難做到同步。我們可以將整個FPGA原型驗證系統(tǒng)的硬件電路板視為“超級FPGA”,是一個更加宏觀的系統(tǒng),由FPGA加上將它們連接到整體平臺中的頂級時鐘資源連合組成。
要在原型驗證系統(tǒng)的電路板級復(fù)制FPGA的時鐘功能的完整層次結(jié)構(gòu),需要與每個FPGA內(nèi)部的資源類似的資源。例如,我們需要板級PLL、時鐘復(fù)用、時鐘分頻器和乘法器、時鐘同步電路等等。
在許多情況下,我們可以通過使用工具或者技巧將SoC系統(tǒng)中的時鐘簡化為在FPGA原型驗證系統(tǒng)電路板上處理的時鐘來簡化這一需求。例如,將SoC設(shè)計的一些門控時鐘轉(zhuǎn)換為等效的全局FPGA時鐘,加上和此同源關(guān)系的時鐘啟用,以減少時鐘域的總數(shù)。這種門控時鐘轉(zhuǎn)換可以在不改變RTL的情況下自動進(jìn)行。
將靈活的時鐘資源構(gòu)建到一個FPGA原型驗證系統(tǒng)的電路板中,以滿足各種SoC設(shè)計的要求,需要大量的經(jīng)驗和專業(yè)知識。電路板僅使用時鐘源和映射特定SoC設(shè)計所需的其他資源,這肯定比為所有基于FPGA的原型驗證完全靈活使用要容易得多。然而,如果設(shè)計在項目期間發(fā)生某種程度的變化,時鐘資源靈活性不足的母板將對分區(qū)決策造成更大的限制。
這也將大大降低整個FPGA原型驗證系統(tǒng)電路板在多個項目中使用的能力,因為一個SoC項目的時鐘資源可能與后續(xù)項目的時鐘資源不匹配,我們需要的是一個通用的原型驗證平臺。
板間匹配時鐘延遲
SoC中的時鐘系統(tǒng)將在實際流片的芯片中實現(xiàn),并對時鐘分配延遲進(jìn)行嚴(yán)格控制和分析。當(dāng)這樣的SoC系統(tǒng)被拆分到多個FPGA時,我們不能在系統(tǒng)FPGA時鐘網(wǎng)絡(luò)中引入偏差。將SoC設(shè)計劃分為多個FPGA,那么就需要控制FPGA間延遲,特別是如果要使用多個FPGA平臺板間級聯(lián),則需要控制板間延遲。
其中一些可以通過適當(dāng)?shù)叵拗艶PGA工具來完成,并且可以通過降低原型的總體目標(biāo)時鐘速度來簡化任務(wù)。然而,無論時鐘速度如何,減輕這一任務(wù)的最佳方法是設(shè)計具有匹配和可預(yù)測時鐘分布資源的板級電路。作為延遲匹配的一個例子,我們看SynopsysHAPS系列電路板。這些都是用延遲量來布置的,這些延遲量在時鐘分布路徑的關(guān)鍵點處重復(fù)。
延遲X和Y,它們在電路板設(shè)計期間用作基本值。Y是典型時鐘沿具有高質(zhì)量屏蔽和同軸連接器的特定標(biāo)準(zhǔn)長度同軸電纜的延遲,該同軸電纜大量生產(chǎn)并廣泛用于基于HAPS的平臺。具有相對恒定延遲的單一類型和長度的電纜意味著板載可以設(shè)計為相同值Y。
對于PCB設(shè)計者來說,延遲電路板上的匹配是一件小事,盡管采用的Z字形跡線布線可能會增加對額外電路板布線層的需求。另一個延遲量X是FPGA引腳和附近連接器之間的線延遲,保持恒定相對簡單。X和Y的值將是給定系列電路板的特征值,例如,對于一系列電路板,X=0.44ns,Y=1.45ns。
小心地,可以在新電路板設(shè)計中保持X和Y值,以便在同一原型中更容易地混合舊電路板和新電路板。我們現(xiàn)在可以從圖中看到,時鐘源和任何FPGA時鐘引腳之間的時鐘延遲將是相同的值,2X+Y。
PLL對于消除交叉板時鐘中的插入延遲非常有用
網(wǎng)絡(luò)可以減少原型不同部分之間的時鐘偏差。圖中顯示了驅(qū)動四個FPGA的板級PLL。通過使用長度匹配,可以使每個FPGA時鐘輸入端的短截線和PLL輸出端的短截線等于值X。
在生產(chǎn)運行中,X的絕對值可能會變化,但對于任何給定的電路板都足夠一致。另外,F(xiàn)PGA通過等長電纜或延遲Y連接到PLL輸出。強烈建議使用同軸電纜和高保真時鐘連接,以獲得最佳可靠性和性能。
我們可以看到從PLL到每個FPGA的板上延遲是匹配的。為了在“超級FPGA”的頂層提供必要的時鐘資源,電路板應(yīng)包括PLL功能,這對于許多任務(wù)都很有用。盡管所使用的FPGA可能包括其自己的PLL功能,但電路板應(yīng)包括分立的PLL設(shè)備,例如從眾多供應(yīng)商商購的那些。
系統(tǒng)時鐘生成
一旦了解FPGA原型驗證系統(tǒng)中的可用時鐘資源,我們應(yīng)該確定哪些額外的外部時鐘源并正確利用它們,并為所有未來應(yīng)用保持最大的靈活性。 時鐘來源于哪里?FPGA板上的時鐘源生成。主板外部時鐘源。在FPGA中的時鐘源生成。
需要什么時鐘速率?估計可能的FPGA時鐘頻率范圍。計劃生成具有一定精度的任意時鐘速率。 可以容忍什么樣的時鐘偏移?FPGA間同步:確保所有FPGA以可接受的偏差接收時鐘源。板間同步:在大型系統(tǒng)中,確保所有時鐘以可接受的偏差到達(dá)所有FPGA。
在解決上述問題時,通??赡馨ㄒ韵麓蟛糠只蛉恳兀?
板載時鐘合成:通常是由晶振參考驅(qū)動的PLL,具有可配置的參數(shù)以選擇所需的時鐘頻率。為了增加靈活性,晶振是可移除的??赡苄枰鄠€時鐘發(fā)生器來支持具有多個時鐘的系統(tǒng)。
輸入時鐘源選擇器:考慮到可以從中獲取時鐘的多個源,例如本地(板上、FPGA)或外部,應(yīng)實現(xiàn)時鐘源多路復(fù)用器。多路復(fù)用器的管理可以通過手動開關(guān)進(jìn)行,也可以通過單獨的軟件實用程序進(jìn)行編程。
時鐘分布:無論時鐘源如何,時鐘分布必須確保時鐘以可接受的偏差在整個FPGA系統(tǒng)當(dāng)中。過度偏斜可能會導(dǎo)致不正確的邏輯傳播,并降低兩個或多個FPGA或子系統(tǒng)之間的的裕度,從而將同步信號傳遞給彼此。在保持可接受的信號質(zhì)量的同時,必須考慮和均衡板間和連接器延遲。
外部時鐘源:必須考慮從一個FPGA板到另一個FPGA板的傳播延遲,并且應(yīng)通過適當(dāng)?shù)南嘁苼砭鈧鞑パ舆t。必須特別注意在時鐘路徑的源和目標(biāo)之間級聯(lián)多個PLL的情況,因為如果設(shè)計不當(dāng),可能會發(fā)生不穩(wěn)定和鎖不住穩(wěn)定時鐘的情況。
特殊的高速時鐘:除了應(yīng)用時鐘之外,可能需要高速時鐘在一個引腳上多路復(fù)用多個信號。這通常在兩個FPGA之間的信號數(shù)量大于它們之間的可用引腳數(shù)量時使用。使用高速時鐘,信號可以在源端的單個引腳上進(jìn)行時間復(fù)用,然后在接收端進(jìn)行解復(fù)用。為了使該方案正常工作,接口的兩側(cè)必須具有相同的高速時鐘,且偏差最小。
時鐘分頻與倍頻:時鐘的靈活性要求頂級時鐘可以縮放到設(shè)計各個部分的正確頻率。雖然分頻器和其他邏輯資源可以在FPGA設(shè)備內(nèi)部用于此,但PLL也有其作用。
審核編輯:劉清
-
FPGA設(shè)計
+關(guān)注
關(guān)注
9文章
428瀏覽量
26638 -
分頻器
+關(guān)注
關(guān)注
43文章
448瀏覽量
50083 -
SoC芯片
+關(guān)注
關(guān)注
1文章
617瀏覽量
35054 -
乘法器
+關(guān)注
關(guān)注
8文章
206瀏覽量
37202 -
時鐘網(wǎng)絡(luò)
+關(guān)注
關(guān)注
0文章
16瀏覽量
6584
原文標(biāo)題:FPGA原型驗證系統(tǒng)的時鐘資源
文章出處:【微信號:于博士Jacky,微信公眾號:于博士Jacky】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論