基于Actel反熔絲FPGA的高速DDR接口設(shè)計
0 引言
隨著航天技術(shù)的發(fā)展,FPGA 等大規(guī)模邏輯器件越來越成為不可缺的角色; 同時處理數(shù)據(jù)量的增大、以及各類型接口電路的交叉使用,使得合理、可靠的高速接口設(shè)計成為衡量設(shè)計優(yōu)劣的關(guān)鍵。而由于空間環(huán)境的特殊性,導(dǎo)致近年來在軌衛(wèi)星產(chǎn)品中單粒子翻轉(zhuǎn)( SEU) 頻發(fā),使得設(shè)計人員必須考慮將以SRAM 為基礎(chǔ)的FPGA 設(shè)計移植到更為可靠的ASIC或反熔絲FPGA.
DDR( Double DataRate) 是雙倍速率讀寫技術(shù)的意思。傳統(tǒng)的數(shù)據(jù)處理方式在1 個時鐘周期內(nèi)只傳輸1 次數(shù)據(jù),是在時鐘的上升期進行數(shù)據(jù)傳輸; 而DDR 內(nèi)存則是1 個時鐘周期內(nèi)傳輸2 次數(shù)據(jù),能夠在時鐘的上升期和下降期各傳輸1 次數(shù)據(jù),因此稱為雙倍速率讀寫技術(shù)。采用DDR 技術(shù)可以在相同的總線頻率下達到更高的數(shù)據(jù)傳輸率。
文章根據(jù)實際的背景應(yīng)用提出一種基于Actel公司RTAX-S 系列耐輻射反熔絲FPGA 芯片RTAX250S 的高速DDR 接口設(shè)計方法,并通過Actel公司IDE V9. 0 編譯軟件和Modelsim 6. 5d 仿真軟件進行了仿真驗證。該方法已用在某星載GMSK 調(diào)制器上,獲得了良好的效果。
1 DDR 高速接口設(shè)計
1. 1 RTAX – S 系列反熔絲FPGA 的特點
對于衛(wèi)星應(yīng)用,設(shè)計人員在選擇可選的技術(shù)時一向十分為難。在可編程器件領(lǐng)域,其中就包括了專用集成電路( ASIC) 、以SRAM 為基礎(chǔ)的現(xiàn)場可編程門陣列FPGA 和以反熔絲為基礎(chǔ)的FPGA.由于沒有一種技術(shù)是萬能的,衛(wèi)星設(shè)計人員與所有設(shè)計人員一樣面對同樣的挑戰(zhàn),需要針對特定的應(yīng)用權(quán)衡取舍各種特性以找出最佳方案。
以往的設(shè)計中,以SRAM 為基礎(chǔ)的FPGA ( 以Xilinx 產(chǎn)品為代表) 有著更多的應(yīng)用,其優(yōu)勢在于擁有高邏輯密度和高靈活性,而作為航天應(yīng)用,其致命的缺點是所有SRAM 都易受高強度宇宙輻射所影響,來自宇宙射線中的重離子很容易在SRAM 單元中或附近沉積足夠的電荷導(dǎo)致單一數(shù)據(jù)位出錯即單粒子翻轉(zhuǎn)( SEU) ,而且由于SRAM 型FPGA 在SRAM開關(guān)中存儲其邏輯配置,因此很容易出現(xiàn)配置擾亂導(dǎo)致電路的布局和功能受到破壞,這些錯誤非常難以檢測和糾正,并且?guī)缀醪豢赡茴A(yù)防,因為配置開關(guān)在SRAM FPGA 的整個SRAM 數(shù)據(jù)位中超過90% ,輻射誘發(fā)的配置擾亂可導(dǎo)致系統(tǒng)失效。
對于衛(wèi)星設(shè)備,ASIC 是具有最高密度最小重量和最低功耗的解決方案,然而卻缺乏FPGA 所提供的靈活性。而且當把設(shè)計工具成本、校驗時間和非經(jīng)常性工程費用( NRE) 一并考慮之后,ASIC 也是成本較高的解決方案。
與可重新配置的SRAM 型FPGA 不同,基于反熔絲解決方案的FPGA 采用一次性編程( OTP) .其優(yōu)點為固有的非揮發(fā)性以及在每次啟動時無須進行強制性的器件配置。與ASIC 一樣,反熔絲FPGA 的上電即行功能使其成為真正的單芯片解決方案。在各種學(xué)術(shù)會議上已發(fā)表了許多輻射測試數(shù)據(jù),如IEEE 的核空間輻射影響會議( NSREC) 、NASA 的軍事和航天可編程邏輯器件國際會議( MAPLD) ,事實上,多年的測試證明,耐輻射的反熔絲FPGA 具有SEU 免疫力,其性能也不會因TID( 總電離劑量) 隨時間積累而發(fā)生劣化。眾所周知,邏輯觸發(fā)器中的數(shù)據(jù)易被宇宙輻射線所破壞,與SRAM 方案采用軟TMR( 三模冗余) 方法不同,Actel 開發(fā)的耐輻射反熔絲FPGA RTAX-S 系列通過架構(gòu)的提升解決了這個問題,其中每個觸發(fā)器實際上是由3 個觸發(fā)器和1個表決電路組成,此舉可讓設(shè)計人員獲得優(yōu)于63MeV-cm2 /mg 的LETth,可以滿足大多衛(wèi)星項目的TID 要求。
1. 2 典型高速接口電路應(yīng)用目標
文章中高速接口方案的應(yīng)用目標為GMSK 調(diào)制器中基帶數(shù)據(jù)的數(shù)字高斯濾波。
GMSK 調(diào)制是一種典型的恒包絡(luò)數(shù)字調(diào)制技術(shù),實現(xiàn)方法的流程圖如圖1 所示,一路待調(diào)制的基帶數(shù)據(jù)從A 處進入FPGA,FPGA 內(nèi)部通過查表的方式得到量化后的波形數(shù)據(jù),并分別從B 處和C 處將其送給2 片DAC,得到需要的I、Q 路波形,從而完成基帶數(shù)據(jù)的數(shù)字高斯濾波。
硬件電路的關(guān)鍵是高速DAC 器件的選擇。方案中需要DAC 實現(xiàn)4 倍采樣,即圖1 中A 處每輸入1 個碼元,B 處和C 處都要分別產(chǎn)生4 個點的量化信息給DAC.以115Mbps 碼速率為例,DAC 的采樣時鐘應(yīng)當為115MHz × 4 = 460MHz,如果使用傳統(tǒng)的單路DAC,則FPGA 主時鐘工作在460MHz,目前宇航級FPGA 無法滿足這一速率。方案中選擇了TI 公司最新的高速DAC 產(chǎn)品DAC5670,它在最高采樣頻率達到2.4GHz 的同時,內(nèi)部集成了并串轉(zhuǎn)換模塊,這使得FPGA 的處理速率至少可以降低一半,即230MHz.
圖1 應(yīng)用目標實現(xiàn)流程圖DAC5670
DAC5670 器件手冊推薦的接口框圖如圖2 所示。
器件工作原理如下: 頻率源輸出400MHz 采樣時鐘,通過變壓器進行單端轉(zhuǎn)差分輸入DAC 采樣鐘輸入口( DACCLK) ,DAC 內(nèi)部進行2 級2 分頻并延遲后得到LVDS 電平115MHz 時鐘( DLYCLK) 輸出給FPGA 做數(shù)字處理,F(xiàn)PGA 處理完成后輸出LVDS的100MHz1 路時鐘( DTCLK) 和2 路14bit 的量化數(shù)據(jù)( DA( 13: 0) 和DB( 13: 0) ) .時鐘與數(shù)據(jù)的關(guān)系必須滿足圖3 所示的時序。DAC 內(nèi)部的鎖相電路將DTCLK 與器件內(nèi)部的100MHz 進行鑒相,如果存在相差則調(diào)整DLYCLK 的延遲量,直到同步,從而保證采樣鐘DACCLK 能夠?qū)A( 13: 0) 和DB( 13: 0) 進行正確采樣。
1. 3 高速接口方案設(shè)計
本應(yīng)用目標對FPGA 和DAC 之間的高速接口提出如下要求:
( a) DAC 輸出1 路115MHz 時鐘給FPGA;( b ) FPGA 輸出1 路115MHz 時鐘和2 路230Mbps 數(shù)據(jù)給每片DAC.
針對這一需求,考慮到FPGA 資源余量較大,為了降低系統(tǒng)運行速率,程序設(shè)計中遵循了用面積換取速度的原則,先采用115MHz 時鐘進行并行處理,產(chǎn)生4 路115Mbps 的14bit 量化數(shù)據(jù),在輸出接口處將其轉(zhuǎn)換為2 路230Mbps 的14bit 量化數(shù)據(jù),這樣可以使系統(tǒng)時鐘的速率降低一半。處理流程如圖4 所示。
輸出端接口變換部分是我們討論的重點,它對數(shù)據(jù)進行4 路到2 路的轉(zhuǎn)換,量化數(shù)據(jù)從115Mbps提高到230Mbps,有2 種方式可以實現(xiàn):
方式一: 對輸入115MHz 時鐘進行2 倍頻得到230MHz 時鐘,使用異步FIFO 對數(shù)據(jù)進行4 路寫入,2 路讀出,寫鐘為115MHz,讀鐘為230MHz.
方式二: 將4 路14bit 的量化數(shù)據(jù)分為2 組,每一組均使用115MHz 時鐘進行DDR 輸出接口處理,從而使每一組的輸出均達到230MHz.
下面對2 種方式的可行性進行分析。
對于方式一,實現(xiàn)的關(guān)鍵在于2 倍頻時鐘的產(chǎn)生。按照手冊描述,Actel 公司AX 系列芯片作為反熔絲FPGA 中處理能力最強的器件,內(nèi)部處理時鐘最高可以達到350MHz,且芯片內(nèi)部集成了PLL( 延遲鎖相環(huán)) 資源,可以實現(xiàn)對數(shù)字時鐘信號的倍頻和分頻。而選擇RTAX-S 系列在AX 的基礎(chǔ)上進行了耐輻射能力加強,同時去掉了PLL 資源,原因是Actel公司通過實驗證明PLL 資源在空間環(huán)境中使用是不可靠的,這意味著倍頻無法在FPGA 內(nèi)部實現(xiàn)。
因此,如果采用方式一,需要在FPGA 外部增加一個2 倍頻的器件,還要增加相應(yīng)的電平匹配的電路,這一切對于230MHz 的數(shù)字時鐘信號實現(xiàn)上難度較大。
對于方式二,實現(xiàn)的關(guān)鍵在于DDR 輸出。通過查閱器件手冊可知,Actel 公司的RTAX – S 系列與Xilinx 公司SRAM 型FPGA 不同,其內(nèi)部并沒有現(xiàn)成的DDR 輸出模塊可以調(diào)用,但是其內(nèi)部有一種叫做Multiplexor 的多路選擇器資源,可以實現(xiàn)多路輸入到多路輸出的選擇控制,如圖5 所示。
如果將其輸入Data 設(shè)置為2 路,輸出Result 設(shè)置為1 路,而時鐘作為控制信號SEL,則應(yīng)當可以實現(xiàn)DDR 的效果。具體實現(xiàn)框圖如圖6 所示。
圖6 框圖實現(xiàn)的時序如圖7 所示,從圖7 可以看出兩路數(shù)據(jù)在DDR 變換后交替輸出,速率提高一倍,其中DR( 數(shù)據(jù)1) 先輸出,DF( 數(shù)據(jù)2) 后輸出。[!--empirenews.page--]
2 仿真及優(yōu)化
在Actel 公司的編程環(huán)境IDE V9. 0 中進行編程仿真。使用Modelsim 6. 5d 進行行為仿真,仿真波形如圖8 所示。由圖8 可見變換后數(shù)據(jù)符合預(yù)期,功能實現(xiàn)正確。
使用Modelsim 6. 5d 進行布局布線后仿真,仿真波形如圖9 所示。由圖9 可見各路數(shù)據(jù)均存在毛刺,毛刺的最大寬度達到了1. 8ns,這超出了DAC 器件對于輸入并行數(shù)據(jù)相位差小于1ns 的要求??赡軐?dǎo)致DAC 采樣錯誤。
分析最終輸出數(shù)據(jù)毛刺產(chǎn)生的原因,應(yīng)當是每路數(shù)據(jù)的14bit 單獨信號之間路徑的延時不同導(dǎo)致的。而數(shù)據(jù)在輸出之前大部分環(huán)節(jié)都是由全局時鐘進行同步處理,可以保證嚴格的同步,除了選擇器Multiplexor 輸出到IO 端口部分走線,因為在Multiplexor的輸出環(huán)節(jié)不會再有時鐘采樣,因此該部分多路信號延遲差異無法消除。檢查布局布線后底層的布局圖,如圖10 所示,深黑色的單元即為Multiplexor,顯然各個Multiplexor 與對應(yīng)IO 口的距離差別較大,驗證了之前的分析。
根據(jù)前段分析,對Multiplexor 的位置進行手動優(yōu)化,即在底層布局圖中將所有Multiplexor 均調(diào)整到盡量接近IO 端口的位置,保證多路信號在Multiplexor后端延遲盡量一致,優(yōu)化后鎖定這些Multiplexor的位置,如圖11 所示。
優(yōu)化Multiplexor 布局后重新進行后仿真,仿真結(jié)果如圖12 所示。由圖12 可見,最大毛刺寬度僅為500ps 左右,完全滿足DAC 要求的1ns.可見,優(yōu)化后的方案合理、可行的實現(xiàn)了要求的功能。
圖12 優(yōu)化底層布局中Multiplexor 位置后的后仿真
文章中闡述的方法不僅僅局限于FPGA 與DAC之間的接口設(shè)計,也適用于FPGA 與其他高速芯片的通信,例如FPGA、DSP、SDRAM 等等支持DDR 接口的器件,同時,對于板級及單元級的通信,使用該方法可以有效降低線纜傳輸信號速率,使得系統(tǒng)各個環(huán)節(jié)的設(shè)計更為簡單。
3 結(jié)束語
文章分析了Actel 公司反熔絲FPGA 相對于常用的SRAM 型FPGA 在衛(wèi)星產(chǎn)品中應(yīng)用的優(yōu)點,并就一種常見的應(yīng)用目標,提出基于Actel 公司RTAX-S 系列抗輻射反熔絲FPGA 的高速DDR 輸出接口的設(shè)計方法,并通過優(yōu)化得到符合要求的結(jié)果,為反熔絲FPGA 在衛(wèi)星產(chǎn)品中的高速設(shè)計、應(yīng)用提供了技術(shù)保障。