關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 高分辨率時間數字轉換電路的PLD實現

        高分辨率時間數字轉換電路的PLD實現

        ——
        作者:王福源,楊玉葉,時偉,王瑋 (鄭州大學信息工程學院 鄭州 450002) 時間:2007-01-26 來源:《半導體技術》 收藏

        1 引言

        時間數字轉換(tdc)技術原本是實驗核物理中的課題,隨著科學技術的不斷發展,精密時間測量數字化技術在高能物理、雷達、激光和聲納測距、通信測向、遙感成像等都應用了高分辨率的tdc技術,全數字集成電路的工藝簡單,造價較低,設計難度較小,是電路設計人員追求的目標,因此,全數字的tdc也成為研究人員關注的問題,文獻[2]報道了一種全數字化的模數變換電路(adc),該方法本質上是基于全數字tdc的,以0.8μm cmos工藝在0.45mm2面積上實現了18位全數字的adc,該芯片在10ks/s采樣率下可以達到12μv分辨率,非線性度為±0.1%。文獻[3]報道了該系統的tdc原理和專用集成電路(asic),用1.5μm的cmas工藝以1.1mm2面積實現了13位的tdc,其分辨率僅為單個門的延時時間,約0.5ns。

        本文將文獻[3]的方法移植到pld中,pld包括fpga和cpld。可以有效地縮短研發周期,提高設計靈活性和重用性,降低設計成本和流片風險,一旦設計成功,所形成的軟核可以與工藝脫鉤,使設計重用變得十分方便。

        文獻[3]設計的tdc用環形延遲門單元(rgds)實現時間的分割,結構如圖1。該設計采用延時門組成的環形延時單元作為時間信號的測量基礎,譯碼器譯碼作為低位數字輸出,后接環形計數器記錄循環次數作為高位數字輸出,最后將兩組數字合并作為測量結果輸出,有效降低了延時門的使用數量,從而減小了芯片面積。

        本文引用地址:http://www.104case.com/article/21098.htm

        將此方法移植到fpga/cpld設計中,需解決以下幾個問題:1、延時門的設計和綜合問題,2、單門電路延時時間的離散性,使各個門有相對等同的延時時間,3、考慮計數器最高工作頻率,4、對所設計電路進行優化,使之在滿足指標的情況下,占用較小的芯片資源,所選用的目標芯片經濟適用。

        本文在altera公司的max系列芯片上實現了上述結構的設計,仿真結果表明,在max系列中的max7000芯片可以達到的最高時間分辨率為3.5ns,硬件測試也是成功的。

        2 基于rgds的tdc系統工作原理

        基于rgds的全數字tdc系統由環形延時單元、鎖存與異或單元,編碼單元、計數和鎖存單元四部分組成,圖2是圖1中前三部分的電路原理圖[3]。rgds部分由63個非門和一個與門組成,其中電路節點po至p63的狀態可以反應pa脈沖在非門鏈中傳輸所到達的位置,該位置的檢測則由鎖存與異或單元實現,在通常情況下,非門的輸出和輸入是反相的,但是對于pa信號在非門鏈中上傳輸恰好到達的那個非門來說,其輸出和輸入是同相的,異或門負責檢測非門鏈中輸出和輸入相同的那個非門,即可得知信號到達的位置,進而計算出信號在rgds上的傳輸時間。

        計數和鎖存單元是一個7位計數器,其作用是對每一次pa信號傳輸到終端p63后作一次計數,采用雙邊沿計數器[4],該計數相當于在整個tdc過程中的"粗計數"。粗計數加上鎖存與異或單元對p0到p63之間的"細計數",可形成一次tdc過程的完整計數。細計數的值在編碼單元形成,作為總計數的低位輸出。由于64個非門可以組成6位輸出,加上粗計數部分的高7位,組合為該tdc系統的13位最終輸出,由此可見,tdc系統的分辨率由rgds中單個門的延時決定,而時間測量的動態范圍則主要由計數器的位寬決定,采用rgds結構的asic實現了1.5μm cmos工藝13位的tdc電路,芯片面積1.1mm2,分辨率達到0.5ns。

        3 tdc的pld實現

        將此方法移植到fpga/cpld設計要解決若干問題,eda工具對任何電路綜合擴充的是邏輯功能而非特定的電路結構,所以很難得到所需的串聯延時門結構,由于可編程器件內部的布局布線不能保證延時門的一致性,將影響tdc的轉換精度,嚴重時甚至不能正常工作,另外,通用計數器的計數頻率受到多種因素的限制,過高的工作速度可能會導致跳碼,這也使rgds的結構設計受到一定限制。

        3.1 環形延時單元的設計

        如上所述,直接將上述asic設計中的環形延時單元移植到fpga/cpld中是不可行的,即使采用原理圖輸入的方法,經綜合器綜合后也得不到所需要的功能結構,原因很簡單,eda工具做綜合時是從電路輸入和輸出的邏輯關系出發給出綜合結果,進奇數個非門的及聯綜合為單個非門或將偶數個非門綜合為一條連接線,從而無法生成所需的延時結構,而本設計的目的是為了取得各級連非門之間的延時信息,所以簡單地直接移植asic設計中的級聯非門不能達到此目的,解決方法是將非門改稱二端口輸入的器件,例如用二輸入與門或與非門代替非門,其中一個輸入端口的聯接方式和非門時情況類似,形成串接關系,將所有門多余的輸入端口連接到高電平,此端口在仿真時還可以起到控制作用,但如果門的數量太少時,有可能發生一種情況,即在所有串接門上的延時總和小于計數器正常工作所需的最小時間,此時計數器將產生漏記或跳碼現象,使rgds系統發生紊亂,而串接門的數量太多,又會使門延時時間離散的可能性增加,同時編碼器的工作速度也決定了門的數量不能太小,因此需要通過仿真取得折衷的設計。

        3.2 延時門的延時離散性

        與asic不同,設計者很難預料eda軟件布局布線后的情況,而且各種不同結構和性能的pld布局布線的結果也不盡相同,因此很難預計單個門的延時時間,即使通過仿真器得到一個數據,在硬件實驗時,情況也會有所相同,而單個門的延時時間是整個系統精度的基本保證,所以有必要研究可資應用的方法。
        本文從三方面考慮:1、通過減少延時環電路中門電路的數量可以有效地減小門延時時間離散的可能性,盡可能選擇粗粒度的芯片,引起基本邏輯功能塊大,串聯門被配置在同一宏單元的可能性較大;3、盡可能選擇連續互聯型芯片,因其布線延時是相對固定和可預測的,可有效減小布線帶來的誤差。如上所述,串聯門的數量要在計數器和編碼器工作速度間做出平衡,按照xilinx的指標,一個16位的計數器最小時間為4.3ns,也就是可以達到232.558mhz的計數頻率,在低于此工作頻率的條件下,決定延時門的數量一般是可靠的。
        通過對max系列大部分芯片做rgds系統兩個循環周期的仿真,除了max5000和max9000延時較長未做測試外,其外各種芯片的單門延時時間在3.4-5.1ns。本設計的rgds采用了8個門組成的延時單元,在max7000芯片上實現分辨率為3.5ns的tdc系統,該系統中計數單元穩定工作在34.72mhz,計數時間為28.8ns。

        3.3 設計電路優化

        這是本設計不可缺少的環節,如采用max+plusii軟件時,優化前rgds單元中編碼器誤碼率高,不能正常工作,而經優化后,可以輸出穩定準確的數據,可見在移植本方法時設計優化所起的作用,仍以max+plusii為例說明優化的一般過程,對軟件優化開關的設置如下:1、因本設計選用max系列芯片,故選擇對該芯片的多層綜合選項(multi-level synthesis for max5000/7000/9000 device);2、在面積和速度優化選項中,選擇對面積的優化,使rgds盡可能分配到同一個lab中,3、打開"slow slew rate"以降低開關噪聲,打開"xor synthesis"以減少芯片面積的占用。4、打開"turbo bit"和"parallel expanders"開關,以對編碼通過軟件優化。

        4 電路實現和仿真、測試結果

        本設計以altera公司的max+plus ii 9.23為設計工具,在max系列芯片上實現。圖3為max7000系列的時序仿真結果,其中p0至p7分別為rgds電路單個門之后的電路節點,ct1[7…0]為rgds中各延時門電路的控制端,即所有二端口門中多余的輸入端子的互聯,rgds正常工作時被置為高電平;rst為系統復位信號,q1為計數器輸出作為tdc系統的高13位輸出,為粗計數部分,q0為對rgds編碼輸出,作為該tdc系統的低3位輸出,為細計數部分,此處還應考慮計數器延時和rgds編碼輸出延時之間的關系,應盡量使其同步,避免編碼錯位。

        為了解決所設計tdc的硬件測試,專門設計了一個信號控制電路,該電路的tdc可以測量信號發生器所發生的連續脈沖的脈寬,從脈寬的測量可以估算出分辨率。限于條件,硬件測量采用目標芯片max7000s系列的epm7128slc84-15,電壓為5v。圖4是輸入脈寬和測得的計數值關系曲線,共測量了85個值。橫坐標是sp1641b型函數信號發生器發生的信號周期(ns),其對應的頻率范圍為1.4-3.2mhz,縱坐標是計數值。從圖中曲線可以看出兩者的線性關系,采用epm7128slc84-15的仿真結果,可以得到分辨率為9.8ns和tdc。經測量,在85個測試數據中,測量系統可以分辨出4.14-4.49ns的脈寬差,說明硬件的實際分辨率高于仿真結果,圖5是圖4中信號周期從160-210ns時的放大圖,可以看出計數值無跳碼,只有很小的波動,表示設計是完全合理可行的。由于7000s是慢速電路,按照此測量結果,如果采用max7000系列的芯片,完全可以達到或高于仿真結果表明的3.5ns的分辨率。




        通過仿真和硬件測試表明,該設計系統能夠準確計數,各項功能均達到預期的要求,整個設計的正確性和完整性得到驗證,經優化后的設計,以max系列epm7064lc44-7為目標芯片的綜合報告顯示,其1250個門用了54%,轉換率最高可達3.5ns,這表明本文的設計思想和實現方法是可行的。

        5 結語

        采用8個與門電路結構rgds實現的16位tdc系統,才保證計數器穩定的前提下,使rgds中單門延時的離散可能性大大減小。本設計max系列芯片max7000上實現了最高分辨率為3.5ns的tdc系統,仿真數據和硬件測試均表明計數結果穩定準確,由于采用vhdl語言實現設計,所以本設計可方便地移植到其他基于pld的設計中。



        關鍵詞:

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 商河县| 阿拉善左旗| 同德县| 朝阳县| 康保县| 禹州市| 延庆县| 海宁市| 会理县| 塔河县| 霞浦县| 沈丘县| 昌乐县| 莱州市| 黄梅县| 湖北省| 东阳市| 濉溪县| 晋中市| 墨江| 巧家县| 江口县| 玉山县| 准格尔旗| 仲巴县| 永丰县| 伊金霍洛旗| 南皮县| 惠州市| 东光县| 凯里市| 乌审旗| 南川市| 柏乡县| 金寨县| 田阳县| 沾益县| 武威市| 岢岚县| 宁海县| 建湖县|