文獻(xiàn)標(biāo)識碼: A
文章編號: 0258-7998(2015)06-0069-04
0 引言
在高速數(shù)據(jù)傳輸中,光鏈路由于在高帶寬、高精度通道、小質(zhì)量、無接地回路方面的優(yōu)勢已被廣泛應(yīng)用于大型強子對撞機(LHC)實驗[1-2]中。光鏈路在LHC實驗中一個典型的應(yīng)用如圖1所示。在發(fā)射側(cè),光發(fā)射器將電信號轉(zhuǎn)化成光信號,信號通過一條從探測器到計數(shù)室之間的光纖進(jìn)行傳送,一個串行轉(zhuǎn)換器把多路并行數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù)并通過一根單一的光纖傳送數(shù)據(jù);在接收側(cè),光接收器把串行數(shù)據(jù)還原成并行數(shù)據(jù),并進(jìn)行解串行和解碼處理,因而數(shù)據(jù)在傳輸之前必須用線性編碼處理。
在LHC實驗中,除了具有挑戰(zhàn)性的輻射耐受性要求,延時長短也是一個重要的指標(biāo),當(dāng)觸發(fā)系統(tǒng)采用光鏈路方案時,通常首選一個較短的延時,以便讓存儲數(shù)據(jù)的事件緩沖區(qū)可以更小[3-4]。當(dāng)升級部分子探測器讀出系統(tǒng)而另外一部分子探測器保留不升級時,新的子探測器延時必須不多于現(xiàn)存的子探測器延時。在ATLAS 液氬量能器讀出系統(tǒng)中光鏈路的延時預(yù)算設(shè)計為150 ns,且不包括通過光纖的時間[5]。因此針對已設(shè)計出的光鏈路高速傳輸系統(tǒng)準(zhǔn)確地測量其各模塊延時對于選擇和設(shè)計及優(yōu)化光鏈路傳輸系統(tǒng)具有重要意義。
芯片鏈路(Link-on-Chip,LOC)是針對LHC ATLAS項目中更新的每FEB2 100 Gb/s數(shù)據(jù)帶寬的光纖鏈路設(shè)計項目的一個概念[6-7]。LOCic是針對ATLAS液氬量能器的前端讀出系統(tǒng)中線碼在芯片專用集成電路用于在輻照環(huán)境下實現(xiàn)線性編碼、串行傳輸及光驅(qū)動[8]。其前端讀出延時的長短對于ATLAS 液氬量能器讀出系統(tǒng)來說十分重要。本文基于Xilinx Kintex-7 FPGA實現(xiàn)的LOCic線性編碼給出其延時時間的測量方法和設(shè)計實現(xiàn)測量的過程并對編碼側(cè)和解碼側(cè)均進(jìn)行測量、標(biāo)定,為用于ATLAS 實驗升級中對該線性編碼系統(tǒng)性能標(biāo)定和LOCic設(shè)計提供了依據(jù)。
1 線性編碼的幀定義
LOCic線碼數(shù)據(jù)幀格式如圖2所示。其中幀頭由固定的1010定界和同步,隨后與H4~H7(2 bit PRBS5和2 bit PRBS7偽隨機碼)進(jìn)行同步,并由這4 bit PRBS生成二進(jìn)制識別計數(shù)(BCID),然后是8路14 bit AD數(shù)據(jù),最后是8 bit CRC幀尾[5]。
2 線性編解碼傳輸系統(tǒng)結(jié)構(gòu)
LOCic編碼側(cè)工作在320 MHz的時鐘下,112 bit的二進(jìn)制數(shù)據(jù)由數(shù)據(jù)信號發(fā)生器模塊產(chǎn)生。CRC模塊根據(jù)112 bit二進(jìn)制數(shù)生成8 bit CRC校驗碼;原始數(shù)據(jù)在傳送前會放到加擾器模塊中進(jìn)行加擾。數(shù)據(jù)框架結(jié)合CRC、加擾數(shù)據(jù)和起始位組成如圖2的數(shù)據(jù)幀,并由串轉(zhuǎn)化器(Serializer)串行化后輸出到線纜。
解碼側(cè)的所有功能模塊都是工作在串并轉(zhuǎn)化器產(chǎn)生的320 MHz時鐘下。串并轉(zhuǎn)化器(DeSerializer)把串行數(shù)據(jù)流轉(zhuǎn)換成16 bit的并行數(shù)據(jù)。然后由同步器(syncontroller)通過一個狀態(tài)器搜索幀邊界,由數(shù)據(jù)提取器(DataExtrator)提取幀數(shù)據(jù)到不同的字段, 并基于同步器鑒定幀邊界。BCID生成器從框架控制代碼中PRBS字段計算12 bit BCID。解擾器還原最初的原始數(shù)據(jù)。CRC檢查器驗證CRC的每一幀恢復(fù)的原始數(shù)據(jù)[5]。
3 延時測量方法設(shè)計
根據(jù)編碼側(cè)和解碼側(cè)結(jié)構(gòu)延時測量設(shè)計分為測量方法與目標(biāo)、測量方案兩部分。
3.1 測量方法與目標(biāo)
(1)利用軟件邏輯分析儀通過波形時數(shù)來獲取延時時鐘周期數(shù)預(yù)估延時大小[9]。
(2)通過DSA72004對輸入/輸出的數(shù)據(jù)延時直接測量。
(3)測量目標(biāo)。
在編碼側(cè)邊,分別獲取CRC和scrambler處理所需延時、build frame所需延時、Serializer所需延時,在解碼側(cè)邊獲取Deserializer延時,同步處理延時、數(shù)據(jù)提取延時、descrabler延時和CRC延時以及差分器與隔直模塊間的延時差。
3.2 測量方案
測量軟、硬件環(huán)境:LOCic FPGA模擬編碼器及其解碼器固件,基于Xilinx Kintex 7的KC705評估板,編碼解碼器工作在16 bit寬、320 MHz時鐘下。
3.2.1 編碼器側(cè)延時測量
Xilinx Chipscope上編碼和解碼的波形如圖3所示,此時編碼和解碼固件在同一塊KC705評估板上。從圖中可以看到scrambler延時是圖3中的1→2(1 clock),“builder frame”延時是2→3,也是1 clock。從數(shù)據(jù)進(jìn)入串行器到解碼出數(shù)據(jù)的延時是圖3中3→4,其延時是22個clock即68.75 ns。
為了獲得編碼側(cè)FPGA中的“serializer”的延時,在圖4中給出了編碼側(cè)延時測量結(jié)構(gòu)圖。具體采用以下方法和步驟:
(1)在固定位置產(chǎn)生一個脈沖(Tx_pulse)上升標(biāo)記,如圖5中所示,Chipscope中的”/Tx_pulse”波形及其對應(yīng)在示波器DSA72004上看到的上跳波。
(2)根據(jù)Chipscope分析結(jié)果,已知scrambler過程需要一個clock,為便于使用示波器觀察,去掉scrambler 功能但保持一個clock延時的操作。
(3)此時,由于去掉了scrambler,為保證串行高速傳輸?shù)腄C平衡,在BCID為0、1、2時(即0、1、2幀)數(shù)據(jù)設(shè)置為0xCCCC,其他各幀數(shù)據(jù)全部設(shè)為0xAAAA,這樣便于用示波器進(jìn)行觀察。
(4)在Chipscope中可以看到串行化輸入的gt0_txdata_i數(shù)據(jù)與Tx_pulse的上升沿是同時刻的。但在DSA72004示波器的波形圖中,其波形數(shù)據(jù)與Tx_pulse是有時延的。具體測量與分析如下。
在圖5(數(shù)據(jù)均是LSB在前)的Chipscope波形中, Tx_pulse上升沿時刻,串行化輸出gt0_txdata_i數(shù)據(jù)正好開始于0x3333,之前是0xAEAF, 再之前是0x5555;由此,如果在示波器上找到“0x5555…0x5555,0x5555,0xAEAF,0x3333,0x3333,…”這樣的序列,找到它與Tx_pulse上升沿的時間延時差就可以測量出串行器(serializer)的延時。從設(shè)計的測量用數(shù)據(jù)可以看到,在Tx_pulse 上各沿附近數(shù)據(jù)流是0b 010101010101….0101010101010101,0xAEAF,0b00110011001100110011…00110011…...,即左密右稀,中間用0xAEAF分開來,這樣在示波器上很容易觀察到數(shù)據(jù)界限。測量的波形結(jié)果如圖5中示波器波形,可以看出示波器測試的結(jié)果和Chipscope分析儀數(shù)據(jù)對應(yīng),從而得出粗略的串行器延時為14.96 ns。
要得到準(zhǔn)確的串行器延時還要考慮到測量鏈路上通過DC block和差分盒引起的線路延時的不同,因此要測量出其延時差。
(5)差分盒與DC block間延時測量。通過Si5338(時鐘發(fā)生器)產(chǎn)生的兩路信號A、B輸入差分盒和DC block 進(jìn)入示波器測量兩路信號的相位差如式(1)所示, 兩路信號反過來接入,得相位差如式(2)所示。
其中,tA指Si5338 A通道延時,tB指Si5338 B通道延時,由于兩通道線纜一樣長,線纜延時差為0。t差分盒指差分盒延時,tdc_block指DC block延時。T測1、T測2是示波器測得的相位差。
將式(1)和式(2)相加除以2可得到式(3):
實際測得:T測1=556 ps,T測2=628 ps。
所以t差分盒-tdc_block=592 ps,最后可得Serializer延時為14.96 ns-592 ps=14.4 ns。
3.2.2 編解碼全鏈路傳輸延時測量
要測量編解碼全鏈路傳輸延時,即測量圖4中A點時刻到圖6中D點時刻之間的延時,可采用DSA72004示波器測量Tx_pulse上升沿和Rx_pulse上升沿間的時間,測量得到全鏈路延時為68.9 ns。由于CDR除法操作的時鐘不確定性[4],通過多次測量可以得出全鏈路延時在66.0 ns~68.9 ns之間。
3.2.3 解碼器側(cè)延時測量
從圖6解碼器側(cè)延時測量結(jié)構(gòu)圖中可以得到線碼解碼各模塊的延時值。數(shù)據(jù)提取器為3個時鐘周期(9.375 ns),解擾器為1個時鐘周期(3.125 ns),CRC 檢測器為1個時鐘周期(3.125 ns)。在圖3中通過Xilinx Chipscope邏輯分析儀波形得出全鏈路延時是22個時鐘周期,即68.75 ns;硬件示波器測量得到的全鏈路延時為66.0 ns~68.9 ns。根據(jù)圖4和圖6測量結(jié)構(gòu)圖可以計算出解串行器模塊延時是28.467 ns~31.367 ns,即9.11~10.04 個時鐘周期。
4 測量結(jié)果
整個鏈路的延時,包括基于ASIC編碼發(fā)送側(cè)和基于FPGA的接收側(cè),都是針對Kintex-7 FPGA的延時測量和ASIC編碼發(fā)送側(cè)的延時仿真來預(yù)估的。在ASIC+Kintex-7上實現(xiàn)的延時時間測得延時不超過57.9 ns。發(fā)編解碼側(cè)在Kintex-7上時不超過73.9 ns。在兩個例子中,延時都小于要求的一半,為設(shè)計留有很大的空間。
5 結(jié)論
本文給出了針對用于LHC ATLAS升級的LOCic FPGA固件編、解碼側(cè)的延時特性指標(biāo)測量的軟、硬件測量和設(shè)計方法,詳細(xì)介紹了如何使用Xilinx Chipscope邏輯分析儀分析獲取測試數(shù)據(jù)的方法,以及通過在FPGA固件設(shè)計增加測量脈沖及對數(shù)據(jù)的設(shè)計使得采用示波器能夠準(zhǔn)確測量出鏈路相關(guān)模塊延時的方法,從而準(zhǔn)確地測得LOCic線碼光纖鏈路傳輸系統(tǒng)的延時值,標(biāo)定了此線性編碼的關(guān)鍵特性,為LOCic ASIC設(shè)計與使用提供了支持和依據(jù)。
參考文獻(xiàn)
[1] GAN K K,VASEY F,WEIDBERG T.Joint ATLAS-CMS working group on optoelectronics for SLHC report from Sub-Group A: lessons learned and to be learned from LHC[J].Joint ATLAS/CMS NOTE,2007/000,Sep.2007[Online].http://indico.cern.ch/event/11994/session/7/material/paper/2?contribId=104.
[2] AMARAL L,DRIS S,GERARDIN A,et al.The versatile link,a common project for super-LHC[J].J.Instrum.,2009,4.
[3] ATLAS Collaboration.ATLAS liquid argon calorimeter Phase-I upgrade technical design report[N].CERN-LHCC-2013-017 and ATLAS-TDR-022,2013-9-20.
[4] Alberto Aloisio,F(xiàn)rancesco Cevenini.High-speed,fixedlatency serial links with FPGAs for synchronous transfers[J].IEEE Transactions on Nuclear Science,2009,56(5):2864-2873.
[5] DENG B,HE M,LIU T,et al.A line code with quick-resynchronization capability and low latency for the optical data links of LHC experiments[J].Journal of Instrumentation,2014 JINST 9 P07020.
[6] Ye Jingbo.On behalf of the ATLAS liquid argon calorimeter group,a serializer ASIC at 5 Gbps for detector front-end electronics readout[J].Journal of Physics:Conference Series,2011(293):1-6.
[7] GONG D.A 16:1 serializer ASIC for data transmission at 5 Gbps[C].Topical Workshop on Electronics for Particle Physics,2010,Aachen,Germany.
[8] Liu Tiankuan,Gong Datao,Mengxun He,et al.A low-latency,low-overhead, quick resynchronization line code for the optical data links of the ATLAS liquid argon calorimeter upgrade[C].Topical Workshop on Electronics for Particle Physics Oxford(TWEPP-12),UK,2012,9.
[9] 郭寶鋒,韓壯志.基于嵌入式邏輯分析儀SignalTapII的系統(tǒng)調(diào)試技術(shù)研究[J].微計算機應(yīng)用,2011(10):53-57.