歐陽靖,姚亞峰,霍興華,譚宇
(中國地質(zhì)大學(xué)機(jī)械與電子信息學(xué)院,武漢430074)
JESD204B協(xié)議中發(fā)送端同步電路設(shè)計(jì)與實(shí)現(xiàn)
歐陽靖,姚亞峰*,霍興華,譚宇
(中國地質(zhì)大學(xué)機(jī)械與電子信息學(xué)院,武漢430074)
作為JEDEC最新的AD/DA采樣數(shù)據(jù)傳輸協(xié)議,JESD204B協(xié)議新增了對多通道串行傳輸?shù)耐街С?。為了確保多通道同步傳輸?shù)臏?zhǔn)確性,發(fā)送端同步電路采用Verilog HDL設(shè)計(jì)并實(shí)現(xiàn)了協(xié)議規(guī)定的碼群同步,初始通道對齊與的同步字節(jié)替換等功能。Modelsim仿真結(jié)果驗(yàn)證了發(fā)送端同步電路符合協(xié)議要求,Design Complier(0.18μm工藝庫)綜合結(jié)果表明電路在數(shù)據(jù)傳輸階段的處理頻率達(dá)到255.03 MHz,可應(yīng)用于JESD204B高速串行接口電路設(shè)計(jì)中。
電路設(shè)計(jì);JESD204B同步電路;Verilog HDL設(shè)計(jì);SerDes接口
作為業(yè)界最新的串行傳輸協(xié)議,JESD204B[1]單通道的數(shù)據(jù)傳輸速率達(dá)到了12.5 Gbit/s,顯著提升了數(shù)據(jù)轉(zhuǎn)換器(ADC/DAC)與邏輯設(shè)備(ASIC/ FPGA)間的數(shù)據(jù)吞吐率。
在多通道傳輸中,字節(jié)邊界同步與多通道間對齊是傳輸初始化的必然過程,JESD204B協(xié)議分別規(guī)定了碼群同步和初始通道對齊完成這兩個(gè)過程;同時(shí)協(xié)議規(guī)定在用戶數(shù)據(jù)傳輸過程中采用同步字節(jié)替換監(jiān)測鏈路同步狀態(tài),并在錯(cuò)誤時(shí)進(jìn)行重新同步[2]。JESD204B發(fā)送端在上述同步過程中,發(fā)送特殊的同步字節(jié),通過接收端反饋的SYNC信號進(jìn)行傳輸同步狀態(tài)的判斷與轉(zhuǎn)換,從而在發(fā)送端與接收端間建立正確的傳輸通道,提高傳輸?shù)臏?zhǔn)確性[3]。
JESD204B作為最新的高速串行傳輸協(xié)議,在國內(nèi)缺乏其原理和實(shí)現(xiàn)的相關(guān)技術(shù)文獻(xiàn),因此文中所述原理與方案對JESD204B接口發(fā)送端電路設(shè)計(jì)具有一定的參考價(jià)值。
如圖1所示,JESD204B協(xié)議規(guī)定發(fā)送端共有3個(gè)狀態(tài),依次為CGS、ILAS、DATA。
圖1 JESD204B發(fā)送狀態(tài)機(jī)
1.1 CGS狀態(tài)
CGS全稱碼群同步(Code Group Synchronization)。當(dāng)系統(tǒng)發(fā)生復(fù)位或重同步時(shí),接收端將sync置0,系統(tǒng)進(jìn)入CGS狀態(tài)[4]。在此狀態(tài)下,發(fā)送端將持續(xù)發(fā)送K28.5字節(jié)(10111100),接收端將利用K28.5的比特序?qū)o序的串行比特流進(jìn)行定界,恢復(fù)出正確的字節(jié)(octet),如圖2所示。
圖2 CGS過程數(shù)據(jù)傳輸
CGS狀態(tài)跳轉(zhuǎn)ILAS狀態(tài)需要同時(shí)滿足3點(diǎn)要求:
(1)接收端恢復(fù)出正確的比特序時(shí),會將sync置1,發(fā)送端檢測到該信號。
(2)發(fā)送端在CGS過程中發(fā)送不少于(F+9)個(gè)K28.5字節(jié),其中F為每幀中的字節(jié)數(shù)目。
(3)發(fā)送端本地多幀時(shí)鐘(Local Multi-Frame Clock,LMFC)上升沿到來。
1.2 ILAS狀態(tài)
全稱初始通道對齊(Initial Lane Alignment Sequence)。當(dāng)系統(tǒng)完成CGS過程,接收端已經(jīng)從比特流中定界了字節(jié),此時(shí)發(fā)送端將進(jìn)入ILAS狀態(tài),發(fā)送由4個(gè)多幀(Multi-frame)組成的ILAS序列[5],如圖3所示。
其中R為K28.0字節(jié)(00011100),用于標(biāo)示一個(gè)多幀的開始;A為K28.2字節(jié)(01111100),用于標(biāo)示一個(gè)多幀的結(jié)束;Q為K28.4字節(jié)(10011100),用于標(biāo)示配置數(shù)據(jù)傳輸?shù)拈_始;C為配置數(shù)據(jù),共由14個(gè)字節(jié)組成,這些配置數(shù)據(jù)由用戶在初始化時(shí)寫入配置寄存器中,用于自定義JESD204B系統(tǒng)的工作模式;D為由00000001開始遞增字節(jié),用于填充多幀,并無實(shí)際意義。
接收端收到ILAS序列后,采用的彈性緩沖器(Elastic Buffer)完成通道間的對齊。如圖4所示,其中K為CGS過程發(fā)送的K28.5字節(jié),由于各個(gè)通道延時(shí)不同,因此ILAS過程開始的時(shí)間也并不一致。接收端在收到ILAS的第1個(gè)R(K28.0)時(shí),開始進(jìn)行緩存,直到最后一個(gè)通道的R被收到時(shí),即最大延時(shí)通道能夠進(jìn)行ILAS過程時(shí),開始對所有通道緩存數(shù)據(jù)進(jìn)行釋放。通過這樣的處理,統(tǒng)一了每個(gè)通道的延遲,實(shí)現(xiàn)了通道間的同步。
圖3 ILAS序列
圖4 多通道對齊
在ILAS狀態(tài)下,若接收端檢測到錯(cuò)誤,會將sync信號置0,發(fā)送端會返回CGS狀態(tài)。
ILAS狀態(tài)跳轉(zhuǎn)DATA狀態(tài)需要同時(shí)滿足兩點(diǎn)要求:(1)ILAS過程完成4個(gè)多幀發(fā)送。(2)sync信號被置1。
1.3 DATA狀態(tài)
全稱用戶數(shù)據(jù)發(fā)送狀態(tài)。當(dāng)系統(tǒng)完成了CGS與ILAS兩個(gè)過程的同步后,傳輸層會將緩存的用戶數(shù)據(jù)釋放至數(shù)據(jù)鏈路層進(jìn)行正常的數(shù)據(jù)發(fā)送[6]。數(shù)據(jù)首先進(jìn)行擾碼,此后需要進(jìn)行同步字節(jié)替換,其替換規(guī)則如圖5所示。
接收端在收到這些同步字節(jié)時(shí),將進(jìn)行正確性判斷,并將字節(jié)進(jìn)行還原處理[7]。若接收端檢測到錯(cuò)誤達(dá)到一定數(shù)量則通過Sync信號反饋發(fā)送端進(jìn)行重新同步,重新進(jìn)行CGS過程,以提高傳輸?shù)臏?zhǔn)確性。
根據(jù)JESD204B協(xié)議規(guī)定,基于狀態(tài)控制與數(shù)據(jù)處理分離的原則,對發(fā)送同步電路進(jìn)行了功能劃分與具體設(shè)計(jì),其結(jié)構(gòu)如圖6所示,包括:
(1)狀態(tài)控制:發(fā)送狀態(tài)機(jī)(Transmitter State Machine)。
(2)數(shù)據(jù)處理:碼群同步模塊(CGS)、初始通道對齊模塊(ILAS)、用戶數(shù)據(jù)模塊(DATA),多路選擇模塊(Mux)。
(3)輔助模塊:首尾識別模塊(Head Tail Identify)。
圖6 發(fā)送同步電路結(jié)構(gòu)
2.1 發(fā)送狀態(tài)機(jī)
(1)模塊功能:進(jìn)行CGS、ILAS、DATA狀態(tài)的相互轉(zhuǎn)換,完成發(fā)送端狀態(tài)控制。
(2)端口定義:如表1所示。
(3)實(shí)現(xiàn)分析:整體采用三段式狀態(tài)機(jī)結(jié)構(gòu),根據(jù)輸入的Sync、CGS_end、ILAS_end信號進(jìn)行狀態(tài)切換,輸出為各狀態(tài)模塊的使能信號,用于控制CGS、ILAS與DATA 3個(gè)模塊的工作狀態(tài)。
表1 發(fā)送狀態(tài)機(jī)端口
2.2 CGS模塊
(1)模塊功能:進(jìn)行CGS狀態(tài)下的數(shù)據(jù)發(fā)送,判斷并反饋CGS過程的完成情況。
(2)端口定義:如表2所示。
表2 CGS模塊端口
(3)實(shí)現(xiàn)分析:使能情況下CGS_out輸出K28.5,CGS_out_k輸出。通過計(jì)數(shù)器統(tǒng)計(jì)發(fā)送的K28.5數(shù)目。當(dāng)同時(shí)滿足Sync被置1、計(jì)數(shù)統(tǒng)計(jì)大于等于(F+9)、Multiframe_tail指示當(dāng)前為多幀最后一個(gè)字節(jié)時(shí),將CGS_end信號置1,反饋至狀態(tài)機(jī)。
2.3 ILAS模塊
(1)模塊功能:進(jìn)行ILAS狀態(tài)下的數(shù)據(jù)發(fā)送,判斷并反饋ILAS過程的完成情況。
(2)端口定義:如表3所示。
表3 ILAS模塊端口
(3)實(shí)現(xiàn)方法:在使能情況下輸出4個(gè)特定結(jié)構(gòu)的多幀,采用Multiframe_head與Multiframe_tail指示多幀首尾部,ILAS_out分別輸出相應(yīng)的K28.0與K28.3,ILAS_out_k輸出1,同時(shí)對Multiframe_ head與Multiframe_tail進(jìn)行計(jì)數(shù);當(dāng)Multiframe_head計(jì)數(shù)為2時(shí),第2個(gè)多幀已經(jīng)完成了首部K28.0的發(fā)送,此后ILAS_out依次輸出K28.4與13個(gè)字節(jié)的配置參數(shù),ILAS_out_k輸出K28.4的控制字指示;多幀中剩余部分采用8'b0000 0000~8'b1111 1111遞增填充;當(dāng)Multiframe_tail計(jì)數(shù)為4時(shí),標(biāo)志著完成第4個(gè)多幀的發(fā)送,將ILAS_end置1,反饋至發(fā)送狀態(tài)機(jī),指示其進(jìn)入DATA狀態(tài)。
2.4 DATA模塊
(1)模塊功能進(jìn)行DATA狀態(tài)下數(shù)據(jù)發(fā)送過程中的同步字節(jié)替換。
(2)端口定義如表4所示。
表4 DATA模塊端口
(3)實(shí)現(xiàn)分析在使能情況下根據(jù)協(xié)議原理進(jìn)行替換,需要區(qū)分?jǐn)_碼開啟與擾碼關(guān)閉的情況下的處理差異,替換思路及DATA_out與DATA_out_k如圖7偽代碼所示。在未使能情況下,模塊輸出全0。
2.5 首尾識別與多路選擇模塊
首尾識別模塊采用計(jì)數(shù)器方式實(shí)現(xiàn)。根據(jù)計(jì)數(shù)數(shù)量與配置參數(shù)K_cfg(每個(gè)多幀中的幀數(shù)目)、F_ cfg(每個(gè)幀中的字節(jié)數(shù)目)的對比判斷,輸出幀尾字節(jié)、多幀尾字節(jié)、多幀首字節(jié)的指示信號。
多路選擇模塊根據(jù)發(fā)送狀態(tài)機(jī)的使能信號,對各模塊輸出數(shù)據(jù)與數(shù)據(jù)控制字指示信號進(jìn)行選擇,統(tǒng)一輸出。這些輸出數(shù)據(jù)經(jīng)過8B/10B編碼器的編碼,即可發(fā)送到物理層進(jìn)行串并轉(zhuǎn)換,發(fā)送至接收端。
3.1 仿真結(jié)果
本設(shè)計(jì)采用Modelsim進(jìn)行仿真,其中Tx_out為發(fā)送端同步電路輸出的數(shù)據(jù),Tx_out_k為數(shù)據(jù)對應(yīng)的控制字指示。模擬時(shí)取F_cfg=3,K_cfg=2,即1幀包含3個(gè)字節(jié),1個(gè)多幀包含2個(gè)幀。如圖8所示,發(fā)送端同步電路在初始化時(shí)進(jìn)入CGS狀態(tài),輸出K28.5。當(dāng)本地多幀時(shí)鐘上升沿來臨時(shí),sync信號已置1且發(fā)送的K28.5的數(shù)量為19>F_cfg+9= 12,滿足跳轉(zhuǎn)條件進(jìn)入ILAS狀態(tài)。
圖7 DATA模塊偽代碼
圖8 CGS狀態(tài)仿真圖
如圖9、圖10所示,發(fā)送端同步電路進(jìn)入ILAS狀態(tài),輸出特定的多幀序列。多幀首部和尾部分別被替換為K28.0與K28.3,第2個(gè)多幀的第2個(gè)字節(jié)被替換為K28.4,此后輸出鏈路配置參數(shù)(仿真時(shí)配置為全1),剩余部分采用遞增的字節(jié)進(jìn)行填充。
圖9 ILAS狀態(tài)仿真圖(第1個(gè)多幀)
圖10 ILAS狀態(tài)仿真圖(第2個(gè)多幀)
如圖11、圖12所示,發(fā)送端同步電路在發(fā)送完ILAS序列后進(jìn)入DATA狀態(tài),輸出用戶數(shù)據(jù)(仿真時(shí)配置為全1)。此處取SCR=0,即關(guān)閉擾碼,用戶數(shù)據(jù)在幀尾和多幀尾根據(jù)相應(yīng)規(guī)則被分別替換為K28.7與K28.3。
仿真結(jié)果表明,發(fā)送端同步電路在功能上符合協(xié)議的要求,在各個(gè)狀態(tài)的跳轉(zhuǎn)和對應(yīng)的輸出處理上是正確的。
圖11 DATA狀態(tài)下幀尾替換
圖12 DATA狀態(tài)下多幀尾替換
3.2 綜合結(jié)果
發(fā)送端同步電路在Synopsys Design Compiler環(huán)境下采用SMIC180工藝庫進(jìn)行了綜合,使用了基礎(chǔ)約束條件和導(dǎo)線模式[8],綜合結(jié)果如表5所示。
表5 同步電路綜合結(jié)果
綜合結(jié)果表明該電路0.18μm工藝庫的環(huán)境下,可在正常數(shù)據(jù)傳輸階段(DATA狀態(tài))達(dá)到
255.03 MHz的傳輸速率,對數(shù)據(jù)的處理性能滿足協(xié)議要求。
JESD204B發(fā)送端同步電路基于JESD204B協(xié)議中狀態(tài)控制與鏈路同步的原理細(xì)節(jié),采用控制處理與數(shù)據(jù)處理分離的結(jié)構(gòu)進(jìn)行設(shè)計(jì),通過Verilog HDL進(jìn)行了實(shí)現(xiàn)。Modelsim仿真結(jié)果表明電路邏輯功的的正確性,Design Compiler綜合結(jié)果表明電路性能達(dá)到了協(xié)議要求,對JESD204B接口發(fā)送端電路設(shè)計(jì)具有一定的參考價(jià)值。
[1]JEDEC Technology Association.Serial Interface for Data Converters JESD204B[S].JEDEC,2011:1-78.
[2]Del Jones.JESD204B Data Link Layer[R].Analog Devices,2013:11-12.
[3]Del Jones.JESD204B Transport Layer[R].Analog Devices,2013: 7-10.
[4]Analog Devices.Quad,16-Bit,2.8 GSPS[R].AD9144 Data Sheet,2012:15-27.
[5]張峰,王戰(zhàn)江.基于JESD204協(xié)議的AD采樣數(shù)據(jù)高速串行傳輸[J].電訊技術(shù),2014(9):31-33.
[6]Tuite Don.JESD204B Converters Simplify ASIC Interfacing[J].E-lectronic Design,2012(15):21-23.
[7]霍興華,姚亞峰,賈茜茜.JESD204B接口協(xié)議中的8B10B編碼器設(shè)計(jì)[J].電子器件,2015(10):12-25.
[8]施根勇,黃世震.高速SPI接口在OSD中的應(yīng)用[J].電子器件,2012(2):20-23.
歐陽靖(1989-),男,碩士研究生,研究方向?yàn)楦咚賁erDes接口電路設(shè)計(jì)、VLSI設(shè)計(jì)等,775355300@qq.com;
姚亞峰(1970-),男,博士,副教授,研究方向?yàn)橥ㄐ畔到y(tǒng)設(shè)計(jì),VLSI設(shè)計(jì)等,787458282@qq.com;
霍興華(1991-),男,碩士研究生,研究方向?yàn)閿?shù)字信號處理、數(shù)字電路設(shè)計(jì)等,906030228@qq.com;
譚宇(1987-),男,碩士研究生,研究方向?yàn)楦咚賁erDes接口電路設(shè)計(jì)等,857191795@qq.com。
Implementation and Design of Transm itter Synchronization Circuit Based on JESD204B Standard
OUYANG Jing,YAO Yafeng*,HUO Xinghua,TAN Yu
(Faculty of Mechanical and Electronic Information,CUG,Wuhan 430074,China)
As the latest version of AD/DA sampled data transmission standard that proposed by JEDEC,JESD204B added the support for the synchronous serial transmission through multi-link.In order to ensure the accuracy of multi-link synchronous transmission,transmission synchronization circuit was designed by Verilog HDL and implemented the specified functions of the standard,which is CGS,ILAS and Sync Octet Replacement.The simulation result of Modelsim verified that the transmission circuit consistent with requirements of the protocol.The synthesis result of Design Complier(0.18μm process library)showed that the circuit can reach the 255.03 MHz processing frequency during the data transmission,according towhich it is able to apply in the circuit design of JESD204B high speed interface.
circuit design;JESD204B synchronization circuit;Verilog HDL design;SerDes interface
C:1200
10.3969/j.issn.1005-9490.2017.01.023
TN46
:A
:1005-9490(2017)01-0118-07
2016-02-02修改日期:2016-03-28