高分辨率時(shí)間數(shù)字轉(zhuǎn)換電路的PLD實(shí)現(xiàn)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
1 引言
時(shí)間數(shù)字轉(zhuǎn)換(TDC)技術(shù)原本是實(shí)驗(yàn)核物理中的課題,隨著科學(xué)技術(shù)的不斷發(fā)展,精密時(shí)間測(cè)量數(shù)字化技術(shù)在高能物理、雷達(dá)、激光和聲納測(cè)距、通信測(cè)向、遙感成像等都應(yīng)用了高分辨率的TDC技術(shù),全數(shù)字集成電路的工藝簡(jiǎn)單,造價(jià)較低,設(shè)計(jì)難度較小,是電路設(shè)計(jì)人員追求的目標(biāo),因此,全數(shù)字的TDC也成為研究人員關(guān)注的問題,文獻(xiàn)[2]報(bào)道了一種全數(shù)字化的模數(shù)變換電路(ADC),該方法本質(zhì)上是基于全數(shù)字TDC的,以0.8μm CMOS工藝在0.45mm2面積上實(shí)現(xiàn)了18位全數(shù)字的ADC,該芯片在10ks/s采樣率下可以達(dá)到12μV分辨率,非線性度為±0.1%。文獻(xiàn)[3]報(bào)道了該系統(tǒng)的TDC原理和專用集成電路(ASIC),用1.5μm的CMAS工藝以1.1mm2面積實(shí)現(xiàn)了13位的TDC,其分辨率僅為單個(gè)門的延時(shí)時(shí)間,約0.5ns。
本文將文獻(xiàn)[3]的方法移植到PLD中,PLD包括FPGA和CPLD??梢杂行У乜s短研發(fā)周期,提高設(shè)計(jì)靈活性和重用性,降低設(shè)計(jì)成本和流片風(fēng)險(xiǎn),一旦設(shè)計(jì)成功,所形成的軟核可以與工藝脫鉤,使設(shè)計(jì)重用變得十分方便。
文獻(xiàn)[3]設(shè)計(jì)的TDC用環(huán)形延遲門單元(RGDS)實(shí)現(xiàn)時(shí)間的分割,結(jié)構(gòu)如圖1。該設(shè)計(jì)采用延時(shí)門組成的環(huán)形延時(shí)單元作為時(shí)間信號(hào)的測(cè)量基礎(chǔ),譯碼器譯碼作為低位數(shù)字輸出,后接環(huán)形計(jì)數(shù)器記錄循環(huán)次數(shù)作為高位數(shù)字輸出,最后將兩組數(shù)字合并作為測(cè)量結(jié)果輸出,有效降低了延時(shí)門的使用數(shù)量,從而減小了芯片面積。
將此方法移植到FPGA/CPLD設(shè)計(jì)中,需解決以下幾個(gè)問題:1、延時(shí)門的設(shè)計(jì)和綜合問題,2、單門電路延時(shí)時(shí)間的離散性,使各個(gè)門有相對(duì)等同的延時(shí)時(shí)間,3、考慮計(jì)數(shù)器最高工作頻率,4、對(duì)所設(shè)計(jì)電路進(jìn)行優(yōu)化,使之在滿足指標(biāo)的情況下,占用較小的芯片資源,所選用的目標(biāo)芯片經(jīng)濟(jì)適用。
本文在Altera公司的MAX系列芯片上實(shí)現(xiàn)了上述結(jié)構(gòu)的設(shè)計(jì),仿真結(jié)果表明,在MAX系列中的MAX7000芯片可以達(dá)到的最高時(shí)間分辨率為3.5ns,硬件測(cè)試也是成功的。
2 基于RGDS的TDC系統(tǒng)工作原理
基于RGDS的全數(shù)字TDC系統(tǒng)由環(huán)形延時(shí)單元、鎖存與異或單元,編碼單元、計(jì)數(shù)和鎖存單元四部分組成,圖2是圖1中前三部分的電路原理圖[3]。RGDS部分由63個(gè)非門和一個(gè)與門組成,其中電路節(jié)點(diǎn)PO至P63的狀態(tài)可以反應(yīng)Pa脈沖在非門鏈中傳輸所到達(dá)的位置,該位置的檢測(cè)則由鎖存與異或單元實(shí)現(xiàn),在通常情況下,非門的輸出和輸入是反相的,但是對(duì)于Pa信號(hào)在非門鏈中上傳輸恰好到達(dá)的那個(gè)非門來說,其輸出和輸入是同相的,異或門負(fù)責(zé)檢測(cè)非門鏈中輸出和輸入相同的那個(gè)非門,即可得知信號(hào)到達(dá)的位置,進(jìn)而計(jì)算出信號(hào)在RGDS上的傳輸時(shí)間。
計(jì)數(shù)和鎖存單元是一個(gè)7位計(jì)數(shù)器,其作用是對(duì)每一次Pa信號(hào)傳輸?shù)浇K端P63后作一次計(jì)數(shù),采用雙邊沿計(jì)數(shù)器[4],該計(jì)數(shù)相當(dāng)于在整個(gè)TDC過程中的"粗計(jì)數(shù)"。粗計(jì)數(shù)加上鎖存與異或單元對(duì)P0到P63之間的"細(xì)計(jì)數(shù)",可形成一次TDC過程的完整計(jì)數(shù)。細(xì)計(jì)數(shù)的值在編碼單元形成,作為總計(jì)數(shù)的低位輸出。由于64個(gè)非門可以組成6位輸出,加上粗計(jì)數(shù)部分的高7位,組合為該TDC系統(tǒng)的13位最終輸出,由此可見,TDC系統(tǒng)的分辨率由RGDS中單個(gè)門的延時(shí)決定,而時(shí)間測(cè)量的動(dòng)態(tài)范圍則主要由計(jì)數(shù)器的位寬決定,采用RGDS結(jié)構(gòu)的ASIC實(shí)現(xiàn)了1.5μm CMOS工藝13位的TDC電路,芯片面積1.1mm2,分辨率達(dá)到0.5ns。
3 TDC的PLD實(shí)現(xiàn)
將此方法移植到FPGA/CPLD設(shè)計(jì)要解決若干問題,EDA工具對(duì)任何電路綜合擴(kuò)充的是邏輯功能而非特定的電路結(jié)構(gòu),所以很難得到所需的串聯(lián)延時(shí)門結(jié)構(gòu),由于可編程器件內(nèi)部的布局布線不能保證延時(shí)門的一致性,將影響TDC的轉(zhuǎn)換精度,嚴(yán)重時(shí)甚至不能正常工作,另外,通用計(jì)數(shù)器的計(jì)數(shù)頻率受到多種因素的限制,過高的工作速度可能會(huì)導(dǎo)致跳碼,這也使RGDS的結(jié)構(gòu)設(shè)計(jì)受到一定限制。
3.1 環(huán)形延時(shí)單元的設(shè)計(jì)
如上所述,直接將上述ASIC設(shè)計(jì)中的環(huán)形延時(shí)單元移植到FPGA/CPLD中是不可行的,即使采用原理圖輸入的方法,經(jīng)綜合器綜合后也得不到所需要的功能結(jié)構(gòu),原因很簡(jiǎn)單,EDA工具做綜合時(shí)是從電路輸入和輸出的邏輯關(guān)系出發(fā)給出綜合結(jié)果,進(jìn)奇數(shù)個(gè)非門的及聯(lián)綜合為單個(gè)非門或?qū)⑴紨?shù)個(gè)非門綜合為一條連接線,從而無法生成所需的延時(shí)結(jié)構(gòu),而本設(shè)計(jì)的目的是為了取得各級(jí)連非門之間的延時(shí)信息,所以簡(jiǎn)單地直接移植ASIC設(shè)計(jì)中的級(jí)聯(lián)非門不能達(dá)到此目的,解決方法是將非門改稱二端口輸入的器件,例如用二輸入與門或與非門代替非門,其中一個(gè)輸入端口的聯(lián)接方式和非門時(shí)情況類似,形成串接關(guān)系,將所有門多余的輸入端口連接到高電平,此端口在仿真時(shí)還可以起到控制作用,但如果門的數(shù)量太少時(shí),有可能發(fā)生一種情況,即在所有串接門上的延時(shí)總和小于計(jì)數(shù)器正常工作所需的最小時(shí)間,此時(shí)計(jì)數(shù)器將產(chǎn)生漏記或跳碼現(xiàn)象,使RGDS系統(tǒng)發(fā)生紊亂,而串接門的數(shù)量太多,又會(huì)使門延時(shí)時(shí)間離散的可能性增加,同時(shí)編碼器的工作速度也決定了門的數(shù)量不能太小,因此需要通過仿真取得折衷的設(shè)計(jì)。
3.2 延時(shí)門的延時(shí)離散性
與ASIC不同,設(shè)計(jì)者很難預(yù)料EDA軟件布局布線后的情況,而且各種不同結(jié)構(gòu)和性能的PLD布局布線的結(jié)果也不盡相同,因此很難預(yù)計(jì)單個(gè)門的延時(shí)時(shí)間,即使通過仿真器得到一個(gè)數(shù)據(jù),在硬件實(shí)驗(yàn)時(shí),情況也會(huì)有所相同,而單個(gè)門的延時(shí)時(shí)間是整個(gè)系統(tǒng)精度的基本保證,所以有必要研究可資應(yīng)用的方法。
本文從三方面考慮:1、通過減少延時(shí)環(huán)電路中門電路的數(shù)量可以有效地減小門延時(shí)時(shí)間離散的可能性,盡可能選擇粗粒度的芯片,引起基本邏輯功能塊大,串聯(lián)門被配置在同一宏單元的可能性較大;3、盡可能選擇連續(xù)互聯(lián)型芯片,因其布線延時(shí)是相對(duì)固定和可預(yù)測(cè)的,可有效減小布線帶來的誤差。如上所述,串聯(lián)門的數(shù)量要在計(jì)數(shù)器和編碼器工作速度間做出平衡,按照XILINX的指標(biāo),一個(gè)16位的計(jì)數(shù)器最小時(shí)間為4.3ns,也就是可以達(dá)到232.558MHz的計(jì)數(shù)頻率,在低于此工作頻率的條件下,決定延時(shí)門的數(shù)量一般是可靠的。
通過對(duì)MAX系列大部分芯片做RGDS系統(tǒng)兩個(gè)循環(huán)周期的仿真,除了MAX5000和MAX9000延時(shí)較長(zhǎng)未做測(cè)試外,其外各種芯片的單門延時(shí)時(shí)間在3.4-5.1ns。本設(shè)計(jì)的RGDS采用了8個(gè)門組成的延時(shí)單元,在MAX7000芯片上實(shí)現(xiàn)分辨率為3.5ns的TDC系統(tǒng),該系統(tǒng)中計(jì)數(shù)單元穩(wěn)定工作在34.72MHz,計(jì)數(shù)時(shí)間為28.8ns。
3.3 設(shè)計(jì)電路優(yōu)化
這是本設(shè)計(jì)不可缺少的環(huán)節(jié),如采用MAX+plusII軟件時(shí),優(yōu)化前RGDS單元中編碼器誤碼率高,不能正常工作,而經(jīng)優(yōu)化后,可以輸出穩(wěn)定準(zhǔn)確的數(shù)據(jù),可見在移植本方法時(shí)設(shè)計(jì)優(yōu)化所起的作用,仍以MAX+plusII為例說明優(yōu)化的一般過程,對(duì)軟件優(yōu)化開關(guān)的設(shè)置如下:1、因本設(shè)計(jì)選用MAX系列芯片,故選擇對(duì)該芯片的多層綜合選項(xiàng)(Multi-Level Synthesis for Max5000/7000/9000 Device);2、在面積和速度優(yōu)化選項(xiàng)中,選擇對(duì)面積的優(yōu)化,使RGDS盡可能分配到同一個(gè)LAB中,3、打開"Slow Slew Rate"以降低開關(guān)噪聲,打開"XOR Synthesis"以減少芯片面積的占用。4、打開"Turbo Bit"和"Parallel Expanders"開關(guān),以對(duì)編碼通過軟件優(yōu)化。
4 電路實(shí)現(xiàn)和仿真、測(cè)試結(jié)果
本設(shè)計(jì)以Altera公司的MAX+plus II 9.23為設(shè)計(jì)工具,在MAX系列芯片上實(shí)現(xiàn)。圖3為MAX7000系列的時(shí)序仿真結(jié)果,其中p0至p7分別為RGDS電路單個(gè)門之后的電路節(jié)點(diǎn),ct1[7…0]為RGDS中各延時(shí)門電路的控制端,即所有二端口門中多余的輸入端子的互聯(lián),RGDS正常工作時(shí)被置為高電平;rst為系統(tǒng)復(fù)位信號(hào),q1為計(jì)數(shù)器輸出作為TDC系統(tǒng)的高13位輸出,為粗計(jì)數(shù)部分,q0為對(duì)RGDS編碼輸出,作為該TDC系統(tǒng)的低3位輸出,為細(xì)計(jì)數(shù)部分,此處還應(yīng)考慮計(jì)數(shù)器延時(shí)和RGDS編碼輸出延時(shí)之間的關(guān)系,應(yīng)盡量使其同步,避免編碼錯(cuò)位。
為了解決所設(shè)計(jì)TDC的硬件測(cè)試,專門設(shè)計(jì)了一個(gè)信號(hào)控制電路,該電路的TDC可以測(cè)量信號(hào)發(fā)生器所發(fā)生的連續(xù)脈沖的脈寬,從脈寬的測(cè)量可以估算出分辨率。限于條件,硬件測(cè)量采用目標(biāo)芯片MAX7000S系列的EPM7128SLC84-15,電壓為5V。圖4是輸入脈寬和測(cè)得的計(jì)數(shù)值關(guān)系曲線,共測(cè)量了85個(gè)值。橫坐標(biāo)是SP1641B型函數(shù)信號(hào)發(fā)生器發(fā)生的信號(hào)周期(ns),其對(duì)應(yīng)的頻率范圍為1.4-3.2MHz,縱坐標(biāo)是計(jì)數(shù)值。從圖中曲線可以看出兩者的線性關(guān)系,采用EPM7128SLC84-15的仿真結(jié)果,可以得到分辨率為9.8ns和TDC。經(jīng)測(cè)量,在85個(gè)測(cè)試數(shù)據(jù)中,測(cè)量系統(tǒng)可以分辨出4.14-4.49ns的脈寬差,說明硬件的實(shí)際分辨率高于仿真結(jié)果,圖5是圖4中信號(hào)周期從160-210ns時(shí)的放大圖,可以看出計(jì)數(shù)值無跳碼,只有很小的波動(dòng),表示設(shè)計(jì)是完全合理可行的。由于7000S是慢速電路,按照此測(cè)量結(jié)果,如果采用MAX7000系列的芯片,完全可以達(dá)到或高于仿真結(jié)果表明的3.5ns的分辨率。
通過仿真和硬件測(cè)試表明,該設(shè)計(jì)系統(tǒng)能夠準(zhǔn)確計(jì)數(shù),各項(xiàng)功能均達(dá)到預(yù)期的要求,整個(gè)設(shè)計(jì)的正確性和完整性得到驗(yàn)證,經(jīng)優(yōu)化后的設(shè)計(jì),以MAX系列EPM7064LC44-7為目標(biāo)芯片的綜合報(bào)告顯示,其1250個(gè)門用了54%,轉(zhuǎn)換率最高可達(dá)3.5ns,這表明本文的設(shè)計(jì)思想和實(shí)現(xiàn)方法是可行的。
5 結(jié)語(yǔ)
采用8個(gè)與門電路結(jié)構(gòu)RGDS實(shí)現(xiàn)的16位TDC系統(tǒng),才保證計(jì)數(shù)器穩(wěn)定的前提下,使RGDS中單門延時(shí)的離散可能性大大減小。本設(shè)計(jì)MAX系列芯片MAX7000上實(shí)現(xiàn)了最高分辨率為3.5ns的TDC系統(tǒng),仿真數(shù)據(jù)和硬件測(cè)試均表明計(jì)數(shù)結(jié)果穩(wěn)定準(zhǔn)確,由于采用VHDL語(yǔ)言實(shí)現(xiàn)設(shè)計(jì),所以本設(shè)計(jì)可方便地移植到其他基于PLD的設(shè)計(jì)中。
參考文獻(xiàn):
[1]雷武虎,劉松秋,葉衛(wèi)國(guó),等.一種VXI總線寄存器基多通道高精度TDC的設(shè)計(jì)實(shí)現(xiàn)[J].計(jì)算機(jī)測(cè)量與控制,2003,11(12):962-963.
[2]WATANABE T, MIZUNO T, MAKINO Y. An all-digital analog-to- digital converter with 12-uV/LSBusing moving-average filtering[J]. IEEE Journal ofSolid-state Circuits, 2003,38(1):120-125.
[3]WANTANABE T, MAKINO Y, OHTSUKA Y, et al .ACMOS time-to-digital converter LSI with half-nansecond resolution using a ring gate delay line[J].IEICETrans Electron,1993,E76-c(12):1774-1779.
[4]單長(zhǎng)虹.低功耗雙邊沿觸發(fā)器的設(shè)計(jì)[J].計(jì)算機(jī)工程與應(yīng)用,2004,40(13):126-127.
[5]江曉山,盛華義.基于FPGA的時(shí)間測(cè)量方法的初步研究[J].核電子與探測(cè)技術(shù),2004,24(5):441-442