許林 周磊
摘要摘要:編碼復雜的Wave Union決定了時間數(shù)字轉(zhuǎn)換器的“死時間”。如選擇合適的發(fā)射器延時單元個數(shù),改Wave Union A的單次發(fā)射為連續(xù)發(fā)射就形成了新的Wave Union C(WUC)。采用Wallace樹和ROM結(jié)構(gòu)的WUC編碼器使用資源少、延時路徑短,在Altera的EP3C10E144C8中,時鐘頻率為400MHz,延時鏈長度為80的情況下,僅使用了166個邏輯單元,編碼時間為2.089ns。WUC實時自動校準避免了全延時鏈的按位校準,只需對發(fā)射器內(nèi)的延時單元進行校準,且實時自動校準在硬件上只需提供一個不隨外界溫度和電壓變化的TDC時鐘且延時鏈長度增加1倍即可。
關(guān)鍵詞關(guān)鍵詞:時間數(shù)字轉(zhuǎn)換器;Wave Union C;Wallace 樹;ROM結(jié)構(gòu);實時自動校準
DOIDOI:10.11907/rjdk.161396
中圖分類號:TP301文獻標識碼:A文章編號文章編號:16727800(2016)007002404
0引言
Wave Union方法可以提升時間數(shù)字轉(zhuǎn)換器(Time Digital Converter,TDC)的時間分辨率至單元延時以下。Wave Union A(WUA)和Wave Union B(WUB)原理分別如圖1(a)和(b)所示,優(yōu)點是利用一個tosc內(nèi)跳變沿之間的關(guān)系,便可完美地解決首個跳變沿處于延時鏈超寬位內(nèi)帶來的測量誤差問題,并消除由于亞穩(wěn)態(tài)、噪聲或時鐘網(wǎng)絡延時網(wǎng)絡不對稱等造成的“bubble”現(xiàn)象。最大的挑戰(zhàn)是針對鎖存延時鏈得到的非溫度計碼的編碼器設計問題,更短的編碼時間意味著可以實現(xiàn)TDC的連續(xù)測量以及更短的延時鏈長度、更長的TDC時鐘周期、更低的TDC通道資源使用量。為了消除溫度和電壓變化對TDC測量精度的影響,采用了占用大量硬件資源的實時按位校準方法。在Altera 的Cyclone II器件上,時鐘頻率為400MHz,64位延時鏈的WUA TDC使用了1 621個邏輯單元,其標準差RMSE為25ps、“死時間”為5ns(2個TDC時鐘周期);采用WUB TDC使用了6 851個邏輯單元,其標準差RMSE為10ps、“死時間”為50ns(18個TDC時鐘周期)。
隨后采用的Wave Union TDC主要通過改進多通道測量、實時按位校準和非線性補償?shù)确矫鎭硖嵘郎y量精度,但對于編碼器這一重要部件的電路實現(xiàn)和性能分析很少,均側(cè)重于TDC測量精度分析。如在Xilinx Virtex-4 FPGA上,實現(xiàn)了時鐘頻率為100MHz,200位延時鏈的采用步進樹結(jié)構(gòu)編碼器的WUB TDC,其標準差RMSE為10ps、“死時間”為50ns(5個TDC時鐘周期)。在Xilinx Virtex 5上,實現(xiàn)了時鐘頻率為120MHz,276位延時鏈的采用改進胖樹結(jié)構(gòu)編碼器的WUA TDC,其標準差RMSE為10ps、“死時間”為8.33ns(1個TDC時鐘周期)。
針對Wave Union編碼器實現(xiàn)復雜、延時過長和按位自動校準困難等缺點,通過選擇合適的tosc,改WUA的單次發(fā)射為連續(xù)發(fā)射,實現(xiàn)了一個新的可以克服以上缺點的Wave Union C(WUC)及編碼器。1WUC實現(xiàn)
圖2(a)為WUC原理圖,利用超前進位鏈實現(xiàn)的WUC如圖2(b)所示,其中的前m個延時單元通過一個與門反饋形成一個wave union連續(xù)發(fā)射器。hit輸入0時,延時鏈的輸出I[n-1:0]全為1;hit輸入1時,發(fā)射器開始輸出由m個1和m個0組成的Wave Union,周期tosc如式(1)。
式中,tτ(i)表示第i個延時單元的延時;tf表示反饋路徑延時;tnand表示與門延時。
tosc的選擇需要保證每個周期的m個1或m個0不會淹沒在超寬位里,即保證每個Wave Union在延時鏈里傳輸時仍有一個上升沿跳變和一個下降沿跳變。tosc選擇不能過大,太大不利于TDC測量精度的提升,如大到一個延時鏈里只有一個tosc時,WUC就變成了WUB。tosc選擇需滿足式(2)。
式中,MAX表示延時單元的最大延時值。
為了保證在環(huán)境溫度變化以及供電電壓變化等導致延時單元延時發(fā)生變化的情況下WUC能正常工作,在式(2)的基礎上tosc需再附加4個延時單元的延時。即由式(1)、式(2)得出的m值需最后再加2進行修正。例如在Altera的EP3C10E144C8中,延時單元的延時值在34~175ps,由式(1)、式(2)可得m=5+2=7。
延時鏈長度n的選擇如式(3),其中tclk為TDC的時鐘周期。一般n還需再增加幾個延時單元,以保證在環(huán)境溫度變化以及供電電壓變化等導致延時單元延時發(fā)生變化的情況下hit的上升沿跳變能在延時鏈內(nèi)。如在Altera的EP3C10E144C8中,TDC的時鐘頻率選擇為400MHz時,延時鏈長度n>71,考慮到每個LAB(Logic Array Block,邏輯陣列塊)由16個LE(Logic Elements,邏輯單元)組成[14],即每個LAB內(nèi)的延時鏈長度為16,故最終選擇的延時鏈長度為16的整數(shù)倍,n取80。在EP3C10E144C8中每LAB之間,LAB的前8個LE和后8個LE之間就會有一個超寬位,m選取小于等于8時,可以避免tosc內(nèi)包含超寬位。
2WUC編碼器實現(xiàn)
2.1發(fā)射器狀態(tài)檢測
WUC編碼器由計算延時鏈中tosc個數(shù)和計算當前發(fā)射器發(fā)射狀態(tài)組成,如式(4):
式中,thit表示hit輸入的上升沿跳變到第一個TDC時鐘上升沿之間的時間間隔;tosc為發(fā)射器周期,由式(1)決定;tlaunch表示當前發(fā)射器已經(jīng)發(fā)射的時間;k表示延時鏈中tosc的個數(shù)。
編碼器中使用的1-out-of-n碼轉(zhuǎn)換分為檢測延時鏈中0-1跳變和1-0跳變兩種,分別由式(5)、式(6)表示。
式中,I1n_01[i]表示1-out-of-n碼的第i位輸出;下標1n_01表示檢測0-1跳變沿的1-out-of-n碼輸出;下標1n_10表示檢測1-0跳變沿的1-out-of-n碼輸出;I[i]表示延時鏈的第i位輸出。
8位ROM結(jié)構(gòu)的1-out-of-n碼解碼器[15]表達式如式(7):
式中,hROM[i]表示第i位ROM解碼器的輸出;I1n[i]表示1-out-of-n碼的第i位輸出。
由于發(fā)射器中的延時單元屬于一個LAB的前8個LE,故超前進位鏈的延時差別不是很大,故為了簡化計算,使用tavg=tosc/14來表示發(fā)射器中各延時單元的平均延時值。tlaunch如式(8):
hROM_01和hROM_10中只有一個有數(shù)值,另一個是0,為了降低電路復雜度,圖3采用全0檢測模塊保證正確的tlaunch被送到后繼的處理電路。
2.2tosc個數(shù)計算
每個tosc包含14個延時單元,故延時鏈的每個LAB中的前8個和后8個延時單元的輸出最多包含一個tosc,相鄰兩個LAB/2的中間8個延時單元的輸出也最多包含一個tosc。檢測0-1跳變沿的1-out-of-n碼中每個1表示一個tosc,累加1的個數(shù)就得到延時鏈中tosc個數(shù)。
延時鏈中首個0-1跳變沿在經(jīng)寄存器鎖存時,由于違反寄存器的建立保持時間,會出現(xiàn)亞穩(wěn)態(tài)現(xiàn)象。比如首個跳變沿處應該輸出“0011111”,結(jié)果實際輸出“0010111”、“0101111”、“0010011”和“0010001”等。首個0-1跳變沿處的輸出經(jīng)1-out-of-n碼編碼后輸出“0010100”、“0101000”、“0010010”和“0010001”等。4個延時單元的時間在4*34=136ps,因此首個邊沿后面0的個數(shù)不會超過3。但這種亞穩(wěn)態(tài)現(xiàn)象導致在相鄰的8個延時單元內(nèi)會出現(xiàn)兩個0-1跳變沿的情況。圖3中的亞穩(wěn)態(tài)消除電路如圖4所示。如果首個0-1跳變和亞穩(wěn)態(tài)0-1跳變處于任一個LAB的前8個和后8個延時單元中,兩個四輸入或門只會保留1個0-1跳變沿;如果首個0-1跳變和亞穩(wěn)態(tài)0-1跳變處于任一相鄰的LAB/2的中間8個延時單元,則說明后繼的8個延時單元的輸出1為亞穩(wěn)態(tài),應該清零。計算tosc個數(shù)的Wallace樹電路[15]如圖5所示。圖4亞穩(wěn)態(tài)消除電路
3WUC的自動校準
結(jié)合式(1)、式(4)、式(8)可得式(9):
可見,WUC的測量結(jié)果不受延時鏈中超寬位的影響,測量精度完全取決于發(fā)射器的7個延時單元的延時值。這就意味著,對于延時鏈的校準只需要對前7個延時單元進行校準即可,這大大降低了實時自動校準難度,進一步提升了TDC的測量精度。
實時自動校準電路的延時鏈長度是單個TDC延時鏈長度的2倍。在同一個hit的觸發(fā)下,設第一個時鐘周期測得tlaunch(0)=M(0)tavg,第二個時鐘周期測得tlaunch(1)=M(1)tavg。則tavg可由式(10)求出:
故在實時校準時,只需要將TDC的系統(tǒng)時鐘tclk修改為一個不隨溫度和電壓變化而變化的時鐘源輸入,這在硬件電路設計時較為容易滿足。
4結(jié)語
最終單通道的WUC在Altera 的EP3C10E144C8中實現(xiàn),使用166個邏輯單元,編碼器的編碼時間(TDC的“死時間”)為2.089ns(不到1個TDC時鐘周期)。優(yōu)于25ns 的WUA和8.3ns 的WUA。而式(10)的實時自動校準方法極大降低了硬件資源使用率,提升了校準的實時性,而且非常易于實現(xiàn)。
以上描述的是基于FPGA的WUC實現(xiàn),該WUC完全適用于ASIC的TDC設計。在ASIC設計中,由于很少有超寬位的存在,故發(fā)射器的延時單元數(shù)m可以選擇更小,但考慮亞穩(wěn)態(tài)的問題,建議m≥3,這樣以上討論的WUC編碼器電路仍然適用。
參考文獻參考文獻:
WU J,SHI Z.The 10ps wave union TDC:improving FPGA TDC resolution beyond its cell delay.Nuclear Science Symposium Conference Record,2008: 34403446.
WU J.An FPGA wave union TDC for timeofflight applications.Nuclear Science Symposium Conference Record (NSS/MIC),2009: 299304.
BAYER E,TRAXLER M.A highresolution 48channel timetodigital converter implemented in a field programmable gate array[J].IEEE Transactions on Nuclear Science,2011,58(4): 15471552.
WANG J,LIU S,ZHAO L,et al.The 10ps multitime measurements averaging TDC implemented in an FPGA[J].IEEE Transactions on Nuclear Science,2011.
BCHELE M,F(xiàn)ISCHER H,GORZELLIK M,et al.A 128channel timetodigital converter (TDC) inside a virtex5 FPGA on the GANDALF module[J].Journal of Instrumentation,2012.
HERV C,CERRAI J,LE CAR T.High resolution timetodigital converter (TDC) implemented in field programmable gate array (FPGA) with compensated process voltage and temperature (PVT) variations[J].Nuclear Instruments and Methods in Physics Research Section A:Accelerators, Spectrometers, Detectors and Associated Equipment,2012,682(2):1625.
QI J,GONG H,LIU Y.Onchip realtime correction for a 20ps wave union timetodigital converter (TDC) in a fieldprogrammable gate array (FPGA)[J].IEEE Transactions on Nuclear Science,2012,59(4):16051610.
FISHBURN M W,MENNINGA L H,F(xiàn)AVI C,et al.FPGAbased TDC with multiple channels for open source applications[J].IEEE Transactions on Nuclear Science,2013,60(3): 22032208.
ZHAO L,HU X,LIU S,et al.The design of a 16channel 15 ps TDC implemented in a 65 nm FPGA[J].IEEE Transactions on Nuclear Science, 2013,60(5): 35323536.
LICHARD P,KONSTANTINOU G,VILANUEVA A V,et al.Performance evaluation of multiple (32 channels) subnanosecond TDC implemented in lowcost FPGA[J].Journal of Instrumentation,2014.
PAN W,GONG G,LI J.Timetodigital converter implemented in fieldprogrammable gate array with automatic temperature correction[J].IEEE Transactions on Nuclear Science,2014, 61(3):14681473.
HU X,ZHAO L,LIU S,et al.A steppedup tree encoder for the 10ps wave union TDC[J].IEEE Transactions on Nuclear Science,2013,60(5): 35443549.
QI S,LEI Z,SHUBIN L,et al.A fast improved fat tree encoder for wave union TDC in an FPGA[J].Chinese physics C,2013,37(10):102106.
Altera.Cyclone III device handbook\[EB/OL\]. http://www.altera.com.cn/literature/hb/cyc3/cyclone3_handbook.pdf.
SAIL E,VESTERBACKA M.A multiplexer based decoder for flash analogtodigital converters.TENCON 2004,2004:250253.