CPU 、ASIC和存儲器的設計者為了使器件擁有盡可能高的通信帶寬,他們在設計過(guò)程中充分利用I/O單元中的每一個(gè)晶體管來(lái)達到這個(gè)目標。這些器件常與FPGA相連接。因此,FPGA的設計者面臨著(zhù)一個(gè)不同以往的挑戰:提供一個(gè)不僅能滿(mǎn)足這些集成電路對互連帶寬的要求,而且還能支持不同接口協(xié)議的可編程接口。 解決方案是可編程硬件I/O模塊。這些可編程硬件模塊位于FPGA的I/O路徑內。硬件模塊的傳輸單元將高速數據及相關(guān)的時(shí)序信號一起發(fā)送至接收器電路。這些模塊中的接收單元擁有時(shí)序調整的功能,以便在很高的速度下能可靠地采集數據。此外,這些模塊通過(guò)增加數據的寬度來(lái)減緩數據傳輸速率,從而使FPGA能夠對這些數據進(jìn)行處理。以下兩個(gè)例子說(shuō)明了FPGA的I/O結構的發(fā)展。 源同步接口 在源同步接口中,發(fā)送器芯片發(fā)送數據字和數據采樣時(shí)鐘至接收器。接收器芯片使用時(shí)鐘來(lái)采集數據。從理論上說(shuō),源同步接口的速度是沒(méi)有任何限制的。但是,隨著(zhù)數據速率的提高,由于數據相位偏移的差錯,以及因工藝、電壓和溫度引起接收器內部延時(shí)的變化,導致數據采集出錯。一些常見(jiàn)的源同步接口為SPI4.2、XGMII 、DDR SDRAM和串行LVDS ADC、DAC。 為了可靠地鎖存輸入至器件的數據,在FPGA內預先設計了源同步接口。針對中等性能的應用,可以通過(guò)匹配輸入和數據路徑做到。然而,對更高性能的接口,用算法彌補這些差錯是很重要的。補償這些差錯有兩個(gè)步驟。首先,器件在啟動(dòng)時(shí),該算法補償數據相位偏移和工藝的延時(shí)。其次,當開(kāi)始正常的數據傳輸時(shí),該算法監測和糾正由于電壓和溫度的變化而引起的時(shí)鐘和數據相位關(guān)系的差錯。而這些監測算法可以在FPGA內實(shí)現,以防止在高數據速率情況下數據采集出錯,這些算法已經(jīng)在FPGA 的I/O中很好地實(shí)現了。 LatticeSC FPGA的I/O引腳中使用了一個(gè)可編程的硬件模塊(圖1),實(shí)時(shí)地監測和糾正數據和時(shí)鐘的關(guān)系。因此,LatticeSC FPGA可以實(shí)現可靠的源同步接口,運行的數據傳輸速率可達2Gbps。為了使輸入的數據速率與FPGA的運行速度相匹配,I/O引腳還提供了一個(gè)變速功能,可將進(jìn)入FPGA的數據速率降低8倍。設計人員可用軟件來(lái)配置這個(gè)硬件模塊,以滿(mǎn)足系統的性能需求,然后專(zhuān)注于處理數據的算法。 圖1:LatticeSC I/O引腳中的2Gbps源同步數據接口。 3.125Gbps SERDES (串化器/解串器)通道 SERDES是一種高速串行接口,它已用于許多標準,諸如PCI-Express、XAUI、Serial Rapid I/O、Gigabit Ethernet和JESD204。首先,發(fā)送器將時(shí)鐘編入數據,然后通過(guò)一對線(xiàn)路傳輸合成的串行位流。接收器電路通過(guò)時(shí)鐘數據恢復(CDR)電路從數據中提取時(shí)鐘,并使用恢復的時(shí)鐘對數據解串。然后用相應的物理層協(xié)議,對解串后的數據解碼,并細分為字。在發(fā)送并行的數據至FPGA之前,接收器還應當通過(guò)彈性緩沖器處理,以補償提取的時(shí)鐘和FPGA時(shí)鐘之間的頻率差異。在接收器和發(fā)送器中的邏輯速度應足夠的快,以便處理3.125Gbps速率的數據。 通過(guò)使用一個(gè)可編程的硬件模塊(圖2),LatticeECP2M低成本FPGA 能夠滿(mǎn)足各種協(xié)議標準要求。硬件模塊的高速模擬SERDES部分能夠實(shí)現均衡,時(shí)鐘提取,對高達3.125Gbps速率的數據進(jìn)行串化和解串化處理。為了進(jìn)行字邊界識別,用緩沖方式使物理層協(xié)議和時(shí)鐘速率相匹配,硬件模塊包括一個(gè)可編程的物理編碼子層(PCS)功能塊。PCS功能塊可以配置成實(shí)現協(xié)議的特殊數據提取/格式。由于設計這些可編程硬件模塊旨在滿(mǎn)足性能要求,設計人員可以頗有信心地在FPGA中實(shí)現更高層的協(xié)議邏輯。 圖2:LatticeECP2 FPGA的 SERDES功能塊。 為增加芯片至芯片連接的通道帶寬,LatticeSC FPGA已經(jīng)在I/O路徑中加入了可編程的硬件模塊。這些模塊很容易使設計人員在FPGA中實(shí)現邏輯功能。為支持更高的數據率, LatticeECP2M器件中的SERDES模塊進(jìn)一步在硬件中實(shí)現一些高速協(xié)議功能。而FPGA內的結構則用來(lái)實(shí)現更高層的數據處理功能。 |