免費(fèi)的I/O:改進(jìn)FPGA時鐘分配控制
同步數(shù)字系統(tǒng)中的時鐘信號(如遠(yuǎn)程通信中使用的)為系統(tǒng)中的數(shù)據(jù)傳送定義了時間基準(zhǔn)。一個時鐘分配網(wǎng)絡(luò)由多個時鐘信號組成,由一個點(diǎn)將所有信號分配給需要時鐘信號的所有組件。因?yàn)闀r鐘信號執(zhí)行關(guān)鍵的系統(tǒng)功能,很顯然應(yīng)給予更多的關(guān)注,不僅在時鐘的特性(即偏移和抖動)方面,還有那些組成時鐘分配網(wǎng)絡(luò)的組件。
本文引用地址:http://www.ex-cimer.com/article/241684.htmFPGA開發(fā)團(tuán)隊(duì)不斷面臨過于繁瑣、復(fù)雜的時鐘網(wǎng)絡(luò)的挑戰(zhàn)。各種因素,包括不斷增加的I/O需求、降低成本的要求和減少印刷電路板設(shè)計(jì)更改的需要,迫使設(shè)計(jì)人員重新審視時鐘網(wǎng)絡(luò)。本文將探討FPGA時鐘分配控制方面的挑戰(zhàn),協(xié)助開發(fā)團(tuán)隊(duì)改變他們的設(shè)計(jì)方法,并針對正在考慮如何通過縮小其時鐘分配網(wǎng)絡(luò)的規(guī)模來擁有更多的FPGA I/O,或提高時鐘網(wǎng)絡(luò)性能的設(shè)計(jì)者們提供實(shí)用的建議。
引發(fā)設(shè)計(jì)更改的因素
1. 電路板面積的限制
印刷電路板設(shè)計(jì)必須考慮到許多限制因素。包括物理尺寸、散熱要求、走線長度、層數(shù)和互連的類型。隨著每一代的設(shè)計(jì)都要求更多的功能,因而電路板的限制因素也越來越多。一種解決方案是使用可編程邏輯器件,如FPGA和CPLD,減少元件數(shù)量并降低電路板的復(fù)雜性。然而,采取這種方法的同時還可以進(jìn)一步重新審視一下時鐘分配網(wǎng)絡(luò)。不僅因?yàn)闀r鐘網(wǎng)絡(luò)的各種走線長度,占用了大量的電路板面積,并且還用到大量的振蕩器和時鐘分配IC來產(chǎn)生當(dāng)今設(shè)計(jì)中所需的多種頻率。
2. 時鐘網(wǎng)絡(luò)性能
時鐘信號及其相關(guān)的分配網(wǎng)絡(luò)對于實(shí)現(xiàn)當(dāng)今數(shù)字系統(tǒng)的高性能和高可靠性來說是至關(guān)重要的。提高同步設(shè)計(jì)整體性能的關(guān)鍵是要提高時鐘網(wǎng)絡(luò)的頻率。然而,由于一些因素,如時序容限、信號完整性和同步相關(guān)時鐘邊沿,使得時鐘網(wǎng)絡(luò)的復(fù)雜性大大增加。時鐘網(wǎng)絡(luò)使用一系列單功能的組件來設(shè)計(jì),如扇出緩沖器、時鐘發(fā)生器、延遲線、零延遲緩沖器和頻率合成器。任何由于走線長度不同而引起的時序錯誤,都可以通過蛇形線進(jìn)行走線長度匹配或使用緩沖器來解決。使用試錯法選擇串聯(lián)電阻可以緩和任何走線阻抗與輸出驅(qū)動器阻抗不匹配的影響。甚至可以使用專門的轉(zhuǎn)換器來匹配時鐘發(fā)生器和接收器IC之間的信號接口,與多種信號標(biāo)準(zhǔn)連接。然而,傳統(tǒng)上設(shè)計(jì)師們采用多種不太理想的解決方案,目的是為了使用盡可能少的走線和元器件,實(shí)現(xiàn)小規(guī)模且高性能的時鐘網(wǎng)絡(luò)。
3. 更高的FPGA I/O利用率
隨著高復(fù)雜度的系統(tǒng)設(shè)計(jì)推動了可編程邏輯的使用,設(shè)計(jì)人員需要更多的FPGA I/O來實(shí)現(xiàn)更多功能。再加上由于每個系統(tǒng)對FPGA I/O的需求都不同,突然之間每個I/O都變得很珍貴。當(dāng)I/O受限時,簡單的解決方案就必須移植到較大的FPGA上。在這種情況下,“大”可能意味著更多的封裝引腳數(shù)或者更多查找表(LUT)的FPGA。然而,通常“大”也意味著器件價格更昂貴。另一種解決方案是檢視I/O到底是如何被消耗的,特別是在時鐘分配網(wǎng)絡(luò)中。一個帶有扇出緩沖器的時鐘發(fā)生器需要使用多達(dá)12個I/O,這聽起來好像不多,但是考慮到在一個應(yīng)用中所需要的不同時鐘頻率的數(shù)量?,F(xiàn)在你可以很清楚地看到時鐘分配網(wǎng)絡(luò)用掉了多少FPGA的I/O……太多了!通過優(yōu)化時鐘網(wǎng)絡(luò),設(shè)計(jì)師們可以使用更小的FPGA或者獲得免費(fèi)的I/O來實(shí)現(xiàn)附加功能。
現(xiàn)代FPGA時鐘分配示例
高級夾層卡(Advanced MC或AMC)是一個小型的夾層卡,符合PICMG標(biāo)準(zhǔn)定義。它是開發(fā)AdvancedTCA和MicroTCA系統(tǒng)時,設(shè)計(jì)師選擇的夾層卡。
評估時鐘源選擇的方法之一是使用一塊評估板,如LatticeECP3 AMC評估板。此板允許為5個時鐘網(wǎng)絡(luò)中的每一個提供多個時鐘源選擇,如圖1所示。
圖1 AMC時鐘網(wǎng)絡(luò)
圖1中,F(xiàn)PGA的SERDES/PCS核可以使用幾種可選的連接。PCS quad可用于多種、雙工SERDES通道,連接到各種千兆以太網(wǎng)接口或AMC背板。
PCSA——來自板上122.88、125或156.25 MHz的時鐘源。但是,如果使用了122.88 MHz,這將禁止PCSA上任何非CPRI接口。PCSA也可以接收來自AMC背板的時鐘。
PCSB和PCSC——來自板上125或156.25 MHz器件的時鐘源。它們還可以從AMC背板接收時鐘。該時鐘允許不同的速率或相同的速率時鐘分別提供給PCSB和PCSC參考時鐘。
PCSD——來自板上122.88、125或156.25 MHz器件的時鐘源。它們還可以從AMC背板接收時鐘信號。
背板——連接AMC edge-finger (TCLKB)的遠(yuǎn)程通信時鐘。這個時鐘可以在不使用時禁用。
來自AMC的時鐘:這個時鐘能夠?yàn)樗?個quad提供PCS參考時鐘的驅(qū)動參考時鐘源。
輸入AMC的時鐘:這個時鐘能夠驅(qū)動AMC模塊到背板,并且可以是任意PCS quad的同一個參考時鐘源。
如圖2所示,AMC時鐘網(wǎng)絡(luò)最初通過多個時鐘發(fā)生器控制,1?4個扇出緩沖器和一個2:1多路開關(guān)。該方案需要38個I/O來進(jìn)行時鐘分配控制,還需要占用大量電路板面積。
圖2 傳統(tǒng)AMC時鐘網(wǎng)絡(luò)機(jī)制
利用一個可編程的時鐘管理器件,可以大大地優(yōu)化網(wǎng)絡(luò)(如圖3所示)。該方案僅需要18個I/O來進(jìn)行時鐘分配控制,節(jié)省了20個I/O可用于其他功能。此外,使用這種設(shè)計(jì)節(jié)省了超過3平方英寸的電路板面積。
這些方案通過使用兩個可編程時鐘管理器件來控制(見圖4)。有幾個板上振蕩器可以合成和/或扇出作為幾個時鐘的輸入。所有的時鐘變量都可以通過對時鐘管理器件的編程來進(jìn)行管理。
圖3 優(yōu)化的AMC時鐘網(wǎng)絡(luò)設(shè)計(jì)
評論