新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 使用IDELAY 實(shí)現(xiàn)高效8 倍過采樣異步串行數(shù)據(jù)恢復(fù)

使用IDELAY 實(shí)現(xiàn)高效8 倍過采樣異步串行數(shù)據(jù)恢復(fù)

作者: 時(shí)間:2007-09-11 來源:網(wǎng)絡(luò) 收藏
提要

異步串行數(shù)據(jù)接口要求器恢復(fù)數(shù)據(jù),方式是對(duì)流進(jìn)行檢查,并在所發(fā)送數(shù)據(jù)未附帶時(shí)鐘時(shí)確定每個(gè)位的采樣位置。有幾種方法可以在 Xilinx FPGA 中實(shí)現(xiàn)此類器。RocketIO收發(fā)器就是專門為這一任務(wù)設(shè)計(jì)的,但并非在所有 Xilinx FPGA 中都可用。根據(jù)器件系列和速度級(jí)別不同,SelectIO 的輸入端和 FPGA 邏輯資源可以實(shí)現(xiàn)率高達(dá)近 1 Gb/s 的異步串行器。

對(duì)于行程短且抖動(dòng)小的數(shù)據(jù),每個(gè)位對(duì)流采樣四次左右足矣。這種低過采樣率數(shù)據(jù)恢復(fù)技術(shù)在 XAPP224 《數(shù)據(jù)恢復(fù)》中有描述。不過,如果未經(jīng)過位轉(zhuǎn)換數(shù)據(jù)行程就很長(zhǎng)或者所要求的抖動(dòng)容限高時(shí),就需要較高的過采樣率,這在傳統(tǒng)上需要使用多個(gè)時(shí)鐘相位,常常要占用若干數(shù)字時(shí)鐘管理器 (DCM) 及大量全局時(shí)鐘資源。

Xilinx Virtex-4 和 Virtex-5 器件的每個(gè)輸入引腳都有與其相關(guān)的高精度可編程延遲單元。這些延遲單元被稱為 IDELAY,可用于實(shí)現(xiàn)過采樣器,這種過采樣器僅利用極少的 FPGA 邏輯資源,而更重要的是,進(jìn)行 8 倍過采樣只需一個(gè) DCM 和兩個(gè)全局時(shí)鐘資源。與使用多個(gè) DCM的技術(shù)相比,這種解決方案可提供更高的抖動(dòng)容限。

如果配以適當(dāng)?shù)臄?shù)據(jù)恢復(fù)方案,就可以將本文所述的過采樣技術(shù)用于多種不同的數(shù)據(jù)協(xié)議,在Virtex-5 器件中采樣率可達(dá) 550 Mb/s,而在 Virtex-4 器件中可達(dá) 500 Mb/s。我們舉例說明如何使用這種技術(shù),用參考設(shè)計(jì)實(shí)現(xiàn)一個(gè)以 270 Mb/s 運(yùn)行的 SD-SDI (SMPTE 259M) 接收器。

過采樣技術(shù)

使用過采樣的異步串行數(shù)據(jù)恢復(fù)技術(shù)要求接收器對(duì)輸入的比特流快速采樣,其速度足以在每個(gè)位中采集多個(gè)樣本。這種采樣方法可提供有關(guān)比特流的足夠信息,從而可以確轉(zhuǎn)換的位置,并且保證每個(gè)位的采樣點(diǎn)都靠近位中心而遠(yuǎn)離轉(zhuǎn)換區(qū)。

圖1 所示為一典型異步串行數(shù)據(jù)過采樣數(shù)據(jù)接收器。此接收器由兩大部分組成:過采樣器和數(shù)據(jù)恢復(fù)單元 (DRU)。過采樣器在每個(gè)位對(duì)比特流進(jìn)行多次采樣,采集足夠多數(shù)據(jù)傳輸給DRU。DRU 必須在每個(gè)位周期中取得足夠的樣本,以便確定發(fā)生位轉(zhuǎn)換的位置,然后在距離轉(zhuǎn)換區(qū)安全的位置對(duì)各個(gè)位進(jìn)行采樣。通常,過采樣器在每個(gè)位周期中能向 DRU 提供的樣本越多,DRU 對(duì)位轉(zhuǎn)換發(fā)生位置的判斷就越準(zhǔn)確,對(duì)數(shù)據(jù)的恢復(fù)也越精確。每個(gè)位周期取得較多樣本可以提高 DRU 的抖動(dòng)容限。


有多種方法可以在 Xilinx FPGA 中實(shí)現(xiàn)過采樣器??梢詫?RocketIO 收發(fā)器用作過采樣器,在某些情況下以 1 Gb/s 或更高比特率進(jìn)行過采樣。實(shí)際上,一些 RocketIO 收發(fā)器內(nèi)置了過采樣接收器(稱為數(shù)字接收器),所支持的比特率低于普通接收器。

在用 SelectIO 輸入端接收異步串行比特流時(shí),通常限制最大可支持比特率的是 FPGA 的最大時(shí)鐘速率,而非 IOB 所支持的最大速率。因?yàn)檫^采樣器必須在每個(gè)位周期內(nèi)對(duì)比特流多次采樣,所以采樣時(shí)鐘必須明顯快于比特率。使用采樣時(shí)鐘的多個(gè)時(shí)鐘相位,即可在不提高時(shí)鐘頻率的情況下增加每個(gè)位周期的樣本數(shù)量,但是這種方法需要以某種方式精確地生成并分配多個(gè)時(shí)鐘相位,而且會(huì)用盡多個(gè)全局時(shí)鐘布線資源。例如,使用相互間隔 45 度的四個(gè)時(shí)鐘相位,并且使用各時(shí)鐘相位的兩個(gè)邊沿,就可以保證 8 倍過采樣的基本時(shí)鐘頻率與比特率相同。

可以用 DCM 為串行輸入的過采樣創(chuàng)建多個(gè)時(shí)鐘相位(參見 XAPP224 中的圖2)。不過,根據(jù)時(shí)鐘頻率和每個(gè)位周期樣本數(shù)不同,可能需要多個(gè) DCM 才能提供足夠的時(shí)鐘相位。如果使用多個(gè) DCM,這些 DCM 的輸出就會(huì)在相互間產(chǎn)生相對(duì)抖動(dòng),這樣就會(huì)降低采樣點(diǎn)的精確性,從而降低接收器的抖動(dòng)容限。圖2 中使用的方案還要求與四個(gè)時(shí)鐘相位對(duì)應(yīng)的四個(gè)全局時(shí)鐘。不過,如果所有比特率都相同,就可用這四個(gè)全局時(shí)鐘來支持多個(gè)過采樣器。


Xilinx 針對(duì)是否符合 SD-SDI 協(xié)議對(duì)多時(shí)鐘相位過采樣器進(jìn)行了實(shí)驗(yàn);因?yàn)橹С值碾娎|長(zhǎng),這種協(xié)議要求位轉(zhuǎn)換之間的行程長(zhǎng),抖動(dòng)容限高。這些實(shí)驗(yàn)顯示,任何低于 6X SD-SDI 比特流的過采樣都無法提供足夠的抖動(dòng)容限,而 8 倍過采樣是較為現(xiàn)實(shí)的下限。如圖2 所示,使用四個(gè)時(shí)鐘相位的 8 倍過采樣方案需要兩個(gè) DCM。Xilinx 的實(shí)驗(yàn)顯示,這兩個(gè) DCM 在時(shí)鐘相位上產(chǎn)生的相對(duì)抖動(dòng)將 DRU 的抖動(dòng)容限降到了無法接受的程度。如果可以只使用一個(gè) DCM,那么就能減輕時(shí)鐘相位抖動(dòng)問題,但仍然需要四個(gè)全局時(shí)鐘。一個(gè) Virtex-5 PLL 就可以生成四個(gè)低抖動(dòng)的時(shí)鐘相位,但仍需四個(gè)全局時(shí)鐘將這四個(gè)時(shí)鐘相位傳送到過采樣器。Virtex-4 器件不具備這種 PLL。

使用 IDELAY實(shí)現(xiàn)高效過采樣

圖3 所示為基于 IDELAY 的過采樣器。一個(gè) DCM 用來創(chuàng)建間隔 90 度的兩個(gè)時(shí)鐘相位。使用這兩個(gè)時(shí)鐘相位的兩個(gè)邊沿,可以在一個(gè)位周期內(nèi)給定四個(gè)間隔均等的采樣點(diǎn)。串行比特流通過稱為 IBUFDS_DIFF_OUT 的基元進(jìn)入 FPGA。因?yàn)榇嘶獌H支持 LVDS 輸入,所以串行數(shù)據(jù)必須為 LVDS 格式。一般的 LVDS 輸入基元只向 FPGA 提供一個(gè)信號(hào),但 IBUFDS_DIFF_OUT 基元會(huì)將接收到的真實(shí)信號(hào)及其反轉(zhuǎn)信號(hào)都提供給 FPGA。如圖4 所示,IBUFDS_DIFF_OUT 使用兩個(gè)差分接收器,一個(gè)在 LVDS 對(duì)的 P 輸入 IOB 中,另一個(gè)在其 N 輸入 IOB。這些差分接收器各向 FPGA 提供一個(gè)信號(hào),N 側(cè) IOB 發(fā)出的信號(hào)與 P 側(cè) IOB 提供的信號(hào)反相。


Virtex-4 和 Virtex-5 器件中的每個(gè) IOB 都有一個(gè) IDELAY 基元與之關(guān)聯(lián)。不過,由于IBUFDS_DIFF_OUT 緩沖器從 LVDS 對(duì)的兩個(gè)不同 IOB 提供兩個(gè)輸入信號(hào)副本,而這兩個(gè)比特流副本可經(jīng)不同的 IDELAY 基元分別發(fā)送,這致使它們有不同的延遲量。IBUFDS_DIFF_OUT的 P 側(cè)提供的比特流真實(shí)副本被與其關(guān)聯(lián)的 IDELAY 延遲八分之一個(gè)位周期。用于IBUFDS_DIFF_OUT 反相輸出的 IDELAY 設(shè)置為零延遲。這兩個(gè) IDELAY 模塊提供兩個(gè)不同的比特流“相位”。過采樣器用兩個(gè)時(shí)鐘相位的雙沿對(duì)這兩個(gè)比特流相位分別采樣,所以每個(gè)位周期可采集比特流八次,如圖5 所示。


乍看似乎奇怪的是,標(biāo)為有零相移延遲的數(shù)據(jù)其實(shí)是來自有八分之一位周期延遲的 IDELAY 模塊,而標(biāo)為有 45 度相移的數(shù)據(jù)卻是來自有零延遲的 IDELAY 模塊。但這是正確的。圖5 中的CLK0 說明了這一示例。比特流的兩個(gè)相位均在 CLK0 的上升時(shí)鐘沿采樣。從有八分之一位周期延遲的 IDELAY 采集的樣本代表比從有零延遲的 IDELAY 采集到的樣本“早”八分之一位周期的輸入數(shù)據(jù)。

還有一點(diǎn)可能看似奇怪的是,使用兩個(gè) IDELAY,卻將其中一個(gè)設(shè)置為零延遲。但這樣做是為了確保兩個(gè)信號(hào)副本使用同等布線資源,從而盡量減輕數(shù)據(jù)信號(hào)兩個(gè)相位間的歪斜。

如第 4 頁圖3 所示,各樣本通過由三個(gè)觸發(fā)器構(gòu)成的流水線送至主時(shí)鐘域(零度時(shí)鐘的上升沿)。第一觸發(fā)器是采樣觸發(fā)器,偶爾會(huì)因?yàn)楸忍亓鳟惒讲蓸佣幱趤喎€(wěn)態(tài)。為了規(guī)避亞穩(wěn)態(tài)引起的問題,本設(shè)計(jì)在流水線中第一與第二觸發(fā)器之間至少讓出四分之三時(shí)鐘周期,以便給第一觸發(fā)器留出時(shí)間在樣本被時(shí)鐘驅(qū)動(dòng)進(jìn)入第二觸發(fā)器之前穩(wěn)定下來。當(dāng)樣本被時(shí)鐘驅(qū)動(dòng)進(jìn)入流水線中第三觸發(fā)器時(shí),樣本已送入主時(shí)鐘域,而且亞穩(wěn)態(tài)已解除。

如果包括流水線中第一觸發(fā)器上的延遲量,任何樣本通過流水線的總延遲都恰好是兩個(gè)時(shí)鐘周期。以 315 度的樣本為例,第一觸發(fā)器使用 90 度時(shí)鐘的下降沿,所以為該觸發(fā)器被時(shí)鐘驅(qū)動(dòng)四分之三時(shí)鐘周期。第一到第二觸發(fā)器的延遲是四分之三時(shí)鐘周期,而第二到第三觸發(fā)器的延遲是半個(gè)時(shí)鐘周期。加起來恰好是兩個(gè)時(shí)鐘周期。

與第 3 頁圖2 所示的雙 DCM 技術(shù)相比,這種基于 IDELAY 的過采樣技術(shù)在性能及資源使用方面都有優(yōu)勢(shì)。顯然,這種技術(shù)少用了一個(gè) DCM 和兩個(gè)全局時(shí)鐘。因?yàn)橹皇褂靡粋€(gè) DCM,所以各時(shí)鐘相位之間相對(duì)更穩(wěn)定。因?yàn)?IDELAY 基元不會(huì)加劇抖動(dòng),所以各數(shù)據(jù)相位之間相對(duì)抖動(dòng)甚微。因此,這種過采樣技術(shù)可以提供更精準(zhǔn)的可重復(fù)性比特流采樣,并且可以提高接收器的抖動(dòng)容限。

IDELAY 基元可提供每 tap 78 ps 的高精度延遲。延遲值 6 提供 468 ps 的延遲,非常接近 270Mb/s 位周期的八分之一 (463 ps)。270 Mb/s 是視頻應(yīng)用的常用比特率,在參考設(shè)計(jì)中用作示范比特率。

如果 FPGA 正在接收比特率相同的多個(gè)異步比特流,就可以用 DCM 提供的兩個(gè)全局時(shí)鐘相位作為時(shí)鐘來驅(qū)動(dòng)所有比特流的過采樣器。因此,這種技術(shù)對(duì)于接收比特率相同的多個(gè)比特流非常有效。

第 4 頁圖3 中的 DCM 不能在進(jìn)行時(shí)鐘乘法運(yùn)算的同時(shí)提供兩個(gè)相隔 90 度的時(shí)鐘相位。因此,DCM 的輸入端需要一個(gè)比特率時(shí)鐘。不過,Virtex-5 器件時(shí)鐘管理管道中的 PLL 可以同時(shí)對(duì)輸入的時(shí)鐘進(jìn)行乘法運(yùn)算并提供兩個(gè)不同的時(shí)鐘相位,并且允許使用較低頻率的輸入?yún)⒖紩r(shí)鐘。

圖6 所示為連接至 DRU 的基于 IDELAY 的過采樣器設(shè)計(jì)。這種 DRU 支持 8 倍過采樣,當(dāng)初的開發(fā)目的是在 RocketIO 收發(fā)器上用作過采樣器。由于這一原因,它預(yù)置一個(gè) 20 位的輸入矢量,所以就需要少量接口邏輯將采樣器的 8 位輸出端與 DRU 的 20 位輸入端銜接起來。DRU在其輸出端口生成 10 位的恢復(fù)數(shù)據(jù)字,同時(shí)生成一個(gè)信號(hào),一旦數(shù)據(jù)字生效則該信號(hào)被置位。DRU 還可以生成 20 位的輸出字。


參考設(shè)計(jì)


可以從 http://www.xilinx.com/cn/bvdocs/appnotes/xapp861.zip 下載參考設(shè)計(jì)文件。

過采樣器模塊稱為 oversample_8x。其端口如表1 所示。

oversample_8x 模塊還接受一個(gè)稱為 IDELAY_45_DEGREES 的 Verilog 參數(shù)或 VHDL 類屬參數(shù),其默認(rèn)值為 6。此值設(shè)置 IDELAY 的延遲量,以便在數(shù)據(jù)上獲得一個(gè) 45 度的相移(八分之一位周期)。默認(rèn)值 6 是對(duì)應(yīng) 270 Mb/s 的正確 IDELAY 值 (78 ps * 6 ≈ (1 / 270 MHz) / 8)。如果比特率是 270 Mb/s 以外的其他值,就必須將 IDELAY_45_DEGREES 的正確值傳輸?shù)皆撃K。

在內(nèi)部差分終端 (DIFF_TERM) 開啟的狀態(tài)下,用 IOSTANDARD 屬性值“LVDS_25”在oversample_8x 模塊內(nèi)實(shí)例化 IBUFDS_DIFF_OUT 輸入緩沖器。如果應(yīng)用要求不同的IOSTANDARD 屬性或者要求關(guān)閉差分終端,則必須修改在 oversample_8x 模塊中的IBUFDS_DIFF_OUT 緩沖器上設(shè)置的約束條件.IBUFDS_DIFF_OUT 只能用于 LVDS I/O 標(biāo)準(zhǔn)。

DRU 模塊稱為 os48_1011x20bTo10b_top2。其端口如表2 所示。名稱以 A/B 開頭的所有端口實(shí)際上都是雙端口,其中一個(gè)對(duì)應(yīng) A 通道,另一個(gè)對(duì)應(yīng) B 通道。


DRU 的 A_recclk 和 B_recclk 端口必須由連接到各自 oversample_8x 模塊 clk0 輸入端口的同樣的比特率時(shí)鐘驅(qū)動(dòng)。過采樣器的 dout 和 dout_rdy 端口分別驅(qū)動(dòng) DRU 的 A/B_din20b 和A/B_en 端口。

為 DRU 正確指定信號(hào)位順序至關(guān)重要。DRU 有兩個(gè)位順序輸入端,一個(gè)指定 DRU 輸入數(shù)據(jù)的位順序,另一個(gè)指定 DRU 輸出數(shù)據(jù)的位順序。不能獨(dú)立地指定 DRU 兩個(gè)通道的位順序。

10 位和 20 位輸出端口均由 DRU 提供。兩個(gè)端口始終處于活動(dòng)狀態(tài),應(yīng)用可選擇使用任一個(gè)。各通道的 10 位和 20 位端口各有其輸出使能,通常用作對(duì)下游邏輯的時(shí)鐘使能。在典型應(yīng)用中,驅(qū)動(dòng) oversample_8x 的 clk0 端口和 DRU 的 A/B_recclk 端口的比特率參考時(shí)鐘用作接收器中下游邏輯的時(shí)鐘,如解碼器、成幀器和查錯(cuò)器等。當(dāng) DRU 的輸出端口上有新的恢復(fù)數(shù)據(jù)字時(shí),用 DRU 的時(shí)鐘使能輸出僅在這些時(shí)鐘周期上啟用下游邏輯。

模塊 FPGA 資源的利用

表3 所示為實(shí)現(xiàn)完整的 8 倍過采樣單元和數(shù)據(jù)恢復(fù)單元所需的 FPGA 資源。DRU 基于 BlockRAM。因?yàn)?Xilinx FPGA 中的 Block RAM 有雙端口,所以 DRU 設(shè)計(jì)可以處理兩個(gè)異步數(shù)據(jù)流。這樣,同樣數(shù)量的 Block RAM 既可以處理一個(gè)異步通道,也可以處理兩個(gè)異步通道。在Virtex-4 器件中,無論 DRU 處理一個(gè)還是兩個(gè)通道,都需要有兩個(gè) RAMB16 Block RAM。在Virtex-5 器件中,DRU 需要一個(gè)半 RAMB36 Block RAM (一個(gè) RAMB18,一個(gè) RAMB36)。

表3 中的結(jié)果是用 ISE8.2 獲得的,其 XST 設(shè)置為面積優(yōu)化,串行比特率為 270 Mb/s。在Virtex-4 和 Virtex-5 FPGA 的最低速度級(jí)別下,如果將 XST 設(shè)置為面積優(yōu)化則有可能滿足比特率為 270 Mb/s 的時(shí)序。

時(shí)序

IDELAY 基元的粒度為 78 ps。因此,由于 78 ps 的粒度與本技術(shù)要求的八分之一位周期延遲剛好相符,有些比特率值相對(duì)于其他值就會(huì)更適合這一技術(shù)。例如,比特率為 270 Mb/s 時(shí),八分之一位周期約為 463 ps,而 6 * 78 ps 為 468 ps。因此,使用延遲值 6 會(huì)使 IDELAY 對(duì)信號(hào)的延遲量非常接近八分之一位周期。

這種技術(shù)不能用于 DCM 的 CLKFX 輸出端。其主要原因是,時(shí)鐘相位的抖動(dòng)要盡可能低,而DCM 的 CLKFX 輸出端的抖動(dòng)要遠(yuǎn)遠(yuǎn)高于 CLK0 和 CLK90 輸出端。在 Virtex-5 器件中,也可以用時(shí)鐘管理管道中的 PLL 提供這兩個(gè)時(shí)鐘相位。

重要的是,要妥善約束 DRU 和下游邏輯的時(shí)序。這通常需要多周期時(shí)序約束,因?yàn)樗脮r(shí)鐘是比特率時(shí)鐘,而 DRU 和下游邏輯則往往通過使用時(shí)鐘使能而在字速率下運(yùn)行。兩個(gè)不同的時(shí)鐘使能被用到,因此必須給予妥善約束。

過采樣器對(duì) DRU 的 A_en 或 B_en 輸入生成一個(gè)時(shí)鐘使能 (dout_rdy),以使其僅當(dāng)準(zhǔn)備好向DRU 輸入 20 位過采樣數(shù)據(jù)時(shí) DRU 才會(huì)被時(shí)鐘驅(qū)動(dòng)。如果過采樣器的實(shí)例名為 OVRSAMPLE,則使用以下約束指明每 20 個(gè)時(shí)鐘(稱為“sclk”)周期 DRU 輸入才會(huì)被時(shí)鐘驅(qū)動(dòng)一次:

NET “sclk” TNM_NET = BIT_CLK;
TIMESPEC TS_BIT_CLK = PERIOD BIT_CLK 270 MHz HIGH 50 %;
NET “OVRSAMPLE/period0>” TNM = DRU_IN_CE;
TIMESPEC TS_DRU_IN_CE = FROM DRU_IN_CE TO DRU_IN_CE BIT_CLK / 20;

串行時(shí)鐘的 PERIOD 約束是以頻率給定,從而使時(shí)鐘使能的 TIMESPEC 等于串行時(shí)鐘的TIMESPEC 除以 20。如果串行時(shí)鐘的 PERIOD 約束是以周期而非頻率給定,則時(shí)鐘使能的TIMESPEC 必須等于串行時(shí)鐘的 TIMESPEC 乘以 20。

另一個(gè)時(shí)鐘使能由 DRU 在其使能輸出端生成。DRU 有四個(gè)輸出端使能,每通道兩個(gè)。在每通道兩個(gè)輸出端使能中,一個(gè)對(duì)應(yīng)于 10 位的輸出,另一個(gè)對(duì)應(yīng)于 20 位的輸出。10 位的輸出端口使能(A_dout10bEn 或 B_dout10bEn)平均每 10 個(gè)串行時(shí)鐘周期被置位一次。不過,因?yàn)閷?shí)際數(shù)據(jù)比特率對(duì)于串行時(shí)鐘為異步,所以在 10 位輸出端使能的各次置位之間偶爾會(huì)有 9 或11 個(gè)時(shí)鐘周期。實(shí)際上,DRU 也可以在 10 位輸出端使能的各次置位之間生成短至 5 個(gè)時(shí)鐘周期的數(shù)據(jù)字。因此,對(duì)于由 DRU 時(shí)鐘使能輸出端驅(qū)動(dòng)的邏輯,應(yīng)該以所希望的最小時(shí)序編寫其多周期時(shí)序約束。如果使用 DRU 的 10 位時(shí)鐘使能輸出端,并且信號(hào)名為“rx_ce”,那么以下時(shí)序約束可以妥善約束由 rx_ce 信號(hào)啟用的 DRU 下游的任何邏輯。有必要在 Verilog 或VHDL 代碼中對(duì)來自 DRU 的時(shí)鐘使能信號(hào)應(yīng)用一個(gè) KEEP 約束,以使時(shí)鐘使能將源代碼保持為其給定的名稱,從而可以在用戶約束文件 (UCF) 中使用同樣的名稱。

NET “rx_ce” TNM = RXCE;
TIMESPEC TS_RXCE = FROM RXCE TO RXCE BIT_CLK / 5;

位置約束

要從過采樣器中獲得良好性能,重要的是應(yīng)將第一組的八個(gè)觸發(fā)器(即直接從 IDELAY 基元輸出端采集數(shù)據(jù)的觸發(fā)器)放置在盡量靠近 IDELAY 基元處,并且從兩個(gè) IDELAY 基元到八個(gè)觸發(fā)器的布線對(duì)于所有八個(gè)觸發(fā)器來說應(yīng)盡量相同。過采樣器模塊應(yīng)設(shè)計(jì)成允許在約束文件中放置一個(gè) RLOC 起點(diǎn),以約束這第一組的八個(gè)觸發(fā)器。應(yīng)將 RLOC 起點(diǎn)設(shè)置成使觸發(fā)器在 CLB中的位置盡可能緊靠 IDELAY 基元的左側(cè),因?yàn)檫@樣放置可提供最直接的信號(hào)布線。如果不可能將觸發(fā)器置于 IDELAY 基元的左側(cè),可以將其放在緊靠其右側(cè)的位置,只是性能會(huì)稍有降低。

圖7 所示為觸發(fā)器緊靠 IDELAY 基元左側(cè)的 Virtex-4 器件。圖中以紅色表示從兩個(gè) IDELAY 基元到觸發(fā)器的數(shù)據(jù)信號(hào)布線。



XAPP861 (v1.0) 2006 年 10 月 13 日www.xilinx.com/cn 11
R以下約束顯示如何將設(shè)計(jì)中的兩個(gè) oversample_8x 模塊分別指定給不同的 U_SET,以及如何對(duì)其指定 RLOC_ORIGIN 約束,以將其置于各自 IOB 的旁邊。在本示例中,兩個(gè)oversample_8x 模塊的實(shí)例名分別為 OVRSAMPLE1 和 OVRSAMPLE2。

INST “OVRSAMPLE1” U_SET=USET_OVR1;
INST “OVRSAMPLE1” RLOC_ORIGIN = X0Y24;
INST “OVRSAMPLE2” U_SET=USET_OVR2;
INST “OVRSAMPLE2” RLOC_ORIGIN = X50Y24;

結(jié)論

本文所述技術(shù)使用 Virtex-4 和 Virtex-5 器件中各 IOB 內(nèi)置的 IDELAY 資源來實(shí)現(xiàn)用于異步串行比特流的高效高性能 8 倍過采樣器。當(dāng)用多個(gè) DCM 生成時(shí)鐘相位時(shí),這種技術(shù)可以提供比多時(shí)鐘相位法更高的采樣精度。因?yàn)?IDELAY 資源可以為各比特流提供更多采樣點(diǎn),所以只需一個(gè) DCM 和兩個(gè)全局時(shí)鐘即可提供對(duì)以同樣比特率運(yùn)行的任意數(shù)量的異步比特流進(jìn)行 8 倍采樣所需的所有時(shí)鐘。

如欲了解更多賽靈思技術(shù)文檔,請(qǐng)?jiān)L問http://china.xilinx.com/china/documentation/


關(guān)鍵詞: 接收 定位 比特 周期

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉