《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 業(yè)界動(dòng)態(tài) > 自適應(yīng)同步器的FPGA實(shí)現(xiàn)

自適應(yīng)同步器的FPGA實(shí)現(xiàn)

2008-04-18
作者:張國星,高俊峰

  摘 要: 提出了一種采用FPGA實(shí)現(xiàn)自適應(yīng)同步器" title="同步器">同步器的設(shè)計(jì)。該同步器利用采樣時(shí)鐘與輸入數(shù)據(jù)的周期特性,預(yù)測時(shí)鐘與數(shù)據(jù)的相位關(guān)系,自適應(yīng)地選擇時(shí)鐘上升沿" title="上升沿">上升沿或下降沿鎖存,使數(shù)據(jù)變化避開時(shí)鐘沿的亞穩(wěn)態(tài)窗,降低出現(xiàn)亞穩(wěn)態(tài)的概率。該同步器設(shè)計(jì)選用Xilinx公司的FPGA,應(yīng)用Synplify綜合工具和ISE提供的約束功能,僅用16個(gè)SLICE資源。
  關(guān)鍵詞: 自適應(yīng)同步器" title="自適應(yīng)同步器">自適應(yīng)同步器 亞穩(wěn)態(tài) FPGA


  在許多高速數(shù)據(jù)采集系統(tǒng)中,數(shù)據(jù)正確鎖存是設(shè)計(jì)者必須要面對(duì)的問題。特別是在內(nèi)部時(shí)鐘與外部時(shí)鐘采用同一個(gè)時(shí)鐘源的基于FPGA的高速數(shù)據(jù)采集系統(tǒng)中,由于走線延時(shí)、器件延時(shí)、FPGA輸入管腳延時(shí),導(dǎo)致FPGA輸入數(shù)據(jù)與FPGA內(nèi)部時(shí)鐘的相對(duì)相位關(guān)系不確定;在時(shí)鐘頻率可變的情況下,相對(duì)相位關(guān)系還會(huì)隨頻率變化。在FPGA內(nèi)部一般采用D觸發(fā)器實(shí)現(xiàn)對(duì)輸入數(shù)據(jù)的采樣。為了避免亞穩(wěn)態(tài)[3],D觸發(fā)器要求輸入數(shù)據(jù)相對(duì)時(shí)鐘沿滿足一定的建立、保持時(shí)間,即輸入數(shù)據(jù)與FPGA內(nèi)部時(shí)鐘要滿足一定的相位關(guān)系。由于輸入數(shù)據(jù)與采樣時(shí)鐘相對(duì)相位的不確定性,就有可能不滿足FPGA內(nèi)部D觸發(fā)器的建立、保持時(shí)間,出現(xiàn)亞穩(wěn)態(tài)。針對(duì)上述情況,本文給出在FPGA中可以自適應(yīng)地選擇時(shí)鐘上升沿或下降沿采樣的自適應(yīng)同步器電路設(shè)計(jì)。該電路能夠檢測鎖存時(shí)鐘上升沿與輸入數(shù)據(jù)跳變的相位關(guān)系,由檢測結(jié)果選擇上升沿采樣或下降沿采樣,使數(shù)據(jù)變化避開時(shí)鐘沿的亞穩(wěn)態(tài)窗[1],降低出現(xiàn)亞穩(wěn)態(tài)的概率。
1 某雷達(dá)數(shù)據(jù)采集系統(tǒng)簡介
  圖1所示為某雷達(dá)系統(tǒng)數(shù)據(jù)采集原理圖,該雷達(dá)系統(tǒng)有兩種帶寬,要求兩種采樣頻率" title="采樣頻率">采樣頻率,采樣時(shí)鐘由FPGA產(chǎn)生。設(shè)計(jì)采用了ECL輸出電平標(biāo)準(zhǔn)的ADC,F(xiàn)PGA輸入輸出采用LVTTL標(biāo)準(zhǔn)。因此,F(xiàn)PGA輸出時(shí)鐘以及ADC數(shù)據(jù)送入FPGA均需要采用電平轉(zhuǎn)換芯片。這樣,F(xiàn)PGA輸出時(shí)鐘的上升沿到相應(yīng)FPGA輸入管腳上升沿之間(圖1中C點(diǎn)到D點(diǎn))有8~9ns的延時(shí)。相同的延時(shí),不同的采樣頻率,輸入數(shù)據(jù)與采樣時(shí)鐘的相對(duì)相位不同;而且由于FPGA內(nèi)部布線延時(shí)的不確定性,采樣時(shí)鐘與輸入數(shù)據(jù)的相對(duì)相位會(huì)隨著每次重新布局布線而改變,這兩種情況都可能導(dǎo)致不滿足D觸發(fā)器的建立、保持時(shí)間,導(dǎo)致采樣失效。


  如圖2所示,在FPGA內(nèi)部若采用上升沿鎖存數(shù)據(jù),對(duì)于115MHz采樣頻率可以保證正確采樣,對(duì)于85MHz的采樣頻率,有可能出現(xiàn)采樣失效;反之,若采用下降沿鎖存數(shù)據(jù),115MHz的采樣頻率可能出現(xiàn)采樣失效。
  解決上述問題的難點(diǎn)在于預(yù)測輸入數(shù)據(jù)與采樣時(shí)鐘的相位關(guān)系,從而選擇合適的采樣時(shí)鐘沿。采用圖1所示的采樣方案,經(jīng)常出現(xiàn)某一種采樣頻率采樣失效的情況,如115MHz采樣頻率采樣正常,而85MHz采樣頻率采樣失效。自適應(yīng)同步器可以預(yù)測采樣時(shí)鐘與輸入數(shù)據(jù)的相位關(guān)系,自適應(yīng)地選擇上升沿或下降沿采樣,降低出現(xiàn)亞穩(wěn)態(tài)的概率。
2 自適應(yīng)同步器原理
  自適應(yīng)同步器能夠預(yù)測采樣時(shí)鐘上升沿與輸入數(shù)據(jù)的相位關(guān)系。如果相位關(guān)系不能滿足D觸發(fā)器的建立、保持時(shí)間,則自適應(yīng)同步器能自適應(yīng)地對(duì)數(shù)據(jù)或者時(shí)鐘作延時(shí)調(diào)整,直到滿足建立、保持時(shí)間。
  根據(jù)同步器延時(shí)調(diào)整對(duì)象不同,同步器可以分為時(shí)鐘延時(shí)" title="時(shí)鐘延時(shí)">時(shí)鐘延時(shí)同步器和數(shù)據(jù)延時(shí)同步器。下面給出兩種同步器的實(shí)現(xiàn)原理。
2.1 時(shí)鐘延時(shí)同步器
  圖3所示為時(shí)鐘延時(shí)同步器,沖突檢測電路檢測輸入數(shù)據(jù)與時(shí)鐘沿的相位關(guān)系,根據(jù)檢測結(jié)果由狀態(tài)機(jī)自適應(yīng)選擇時(shí)鐘是否延時(shí)。圖3中時(shí)鐘延時(shí)單元可實(shí)現(xiàn)時(shí)間為T的延時(shí),延時(shí)單元若為一非門,該電路就是一個(gè)簡單的時(shí)鐘上升沿采樣或者下降沿采樣的自適應(yīng)選擇電路。


  該電路具有相對(duì)簡單、容易實(shí)現(xiàn)的特點(diǎn)。但是由于時(shí)鐘延時(shí)只有兩種選擇,不可能實(shí)現(xiàn)相位的精確匹配,很難適應(yīng)一些超高速電路的需求。該電路一般選取數(shù)據(jù)總線中的某一位做相位匹配,因此要求數(shù)據(jù)總線上各位數(shù)據(jù)延時(shí)盡可能相等。
2.2 數(shù)據(jù)延時(shí)同步器
  圖4所示電路為數(shù)據(jù)延時(shí)同步器,輸入數(shù)據(jù)經(jīng)過若干級(jí)延時(shí)單元的延時(shí),沖突檢測電路檢測時(shí)鐘上升沿與各級(jí)延時(shí)數(shù)據(jù)的相位關(guān)系,由狀態(tài)機(jī)選擇較為理想的延時(shí)數(shù)據(jù)。
  數(shù)據(jù)延時(shí)同步器可以實(shí)現(xiàn)對(duì)數(shù)據(jù)的精確延時(shí),實(shí)現(xiàn)對(duì)超高速數(shù)據(jù)或DDR數(shù)據(jù)的鎖存。但是,由于大量延時(shí)單元的使用,增加了FPGA設(shè)計(jì)的復(fù)雜度,實(shí)現(xiàn)較為困難。


3 自適應(yīng)同步器在采樣系統(tǒng)中的應(yīng)用
  圖5所示電路為自適應(yīng)同步器在圖1所示的某雷達(dá)采樣系統(tǒng)中的應(yīng)用。圖5中采樣時(shí)鐘、D觸發(fā)器組與圖1中相同,只是圖5中D觸發(fā)器組的時(shí)鐘改為同步時(shí)鐘,BUFG為Xilinx FPGA內(nèi)部的全局時(shí)鐘緩沖。自適應(yīng)同步器檢測同步時(shí)鐘與數(shù)據(jù)最低位data[0]的相對(duì)相位,自適應(yīng)地選擇采樣時(shí)鐘,達(dá)到同步輸入數(shù)據(jù)的目的。由于數(shù)據(jù)總線只選取其中一位data[0],因此要求總線上各位數(shù)據(jù)延時(shí)盡可能相等。


4 自適應(yīng)同步器的FPGA實(shí)現(xiàn)
  數(shù)據(jù)延時(shí)同步器實(shí)現(xiàn)較為復(fù)雜,尤其對(duì)于位數(shù)較多的數(shù)據(jù)總線,需要占用很多資源,狀態(tài)機(jī)也較復(fù)雜。但其實(shí)現(xiàn)原理與時(shí)鐘延時(shí)同步器基本相同,本文只給出時(shí)鐘延時(shí)同步器的實(shí)現(xiàn)。圖6所示電路為自適應(yīng)同步器,其中del為延時(shí)單元,延時(shí)時(shí)間計(jì)為T_del;me_p為data上升沿與時(shí)鐘上升沿的沖突檢測模塊,me_n為data下降沿與時(shí)鐘上升沿的沖突檢測模塊;fsm為有限狀態(tài)機(jī)。當(dāng)data跳變發(fā)生在時(shí)鐘上升沿[-T_del,T_del]時(shí)間之內(nèi)時(shí),電路輸出sel有效。
4.1 延時(shí)單元的FPGA實(shí)現(xiàn)
  圖7為延時(shí)單元電路,采用FPGA內(nèi)部的LUT4作延時(shí)。由于FPGA內(nèi)部布線延時(shí)與LUT4延時(shí)相比不可忽略,因此需要對(duì)LUT4作相對(duì)布局約束,必要時(shí)還要作布線約束。

?


4.2 突檢測單元me_p,me_n的實(shí)現(xiàn)
  圖8為沖突檢測單元me_p的原理圖[2]。該電路可以實(shí)現(xiàn)兩路輸入信號(hào)上升沿的相位檢測,如果輸入信號(hào)r1上升沿較r2的上升沿提前,則g1輸出為‘1’,g2為‘0’;否則g1輸出為‘0’,g2為‘1’。在FPGA實(shí)現(xiàn)時(shí),采用基于四輸入查找表(LUT4)的設(shè)計(jì),對(duì)于布局布線要盡可能保持對(duì)稱性,需要加入布局約束、甚至布線約束。圖9為經(jīng)Synplify綜合后的原理圖。


  沖突檢測單元me_n可以實(shí)現(xiàn)輸入信號(hào)r1下降沿與輸入信號(hào)r2上升沿的相位檢測,原理同me_p。對(duì)于me_n的實(shí)現(xiàn),只要在配置FPGA查找表(LUT)時(shí),將圖9中I0單元(LUT4_7FFF)改為“LUT4_DFFF”即可。
4.3 狀態(tài)機(jī)的實(shí)現(xiàn)
  圖10為自適應(yīng)同步器狀態(tài)機(jī),輸入為conflict,輸出為sel。狀態(tài)機(jī)共8個(gè)狀態(tài),狀態(tài)為S0、S1、S2、S3時(shí),輸出為‘0’,選擇圖(5)所示‘sam_clk’;否則輸出為‘1’,選擇‘sam_clk’的反向時(shí)鐘‘~sam_clk’;中間態(tài)S0、S1、S2以及S4、S5、S6可以有效防止?fàn)顟B(tài)機(jī)振蕩。圖10中′x′表示任意狀態(tài)。

  上述自適應(yīng)同步器已經(jīng)過圖1所示的雷達(dá)采樣系統(tǒng)的驗(yàn)證。采樣頻率在20MHz到140MHz范圍內(nèi)變化時(shí),未出現(xiàn)采樣失效。
參考文獻(xiàn)

[1] FOLEY C,Characterizing metastability proc.2nd IEEE Symp.Adv.Res.Asynchronous circuits and systems,1996.
[2] SEMIAT Y,GINOSAR R.Timing measurements of synchronization circuits,Proc.9th IEEE Int.Symp.on? asynchronous circuits and systems(ASYNC′03),2003.
[3] DALLY W J,POULTON J W.Digital systems engineering.Cambridge University Press,1998.
[4] BAETONIU C,YEOH T Y.Dynamic phase alignment using asynchronous data capture XAPP697 (v1.2).January 7,2005.www.xilinx.com.
[5] SAWYER N.Data to clock phase alignment? XAPP225(v1.1).April 4,2002.www.xilinx.com.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請(qǐng)及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。