5.1.6 SelectIO模塊
Virtex-6每個(gè)I/O片(I/O Tile)包含兩個(gè)IOB、兩個(gè)ILOGIC、兩個(gè)OLOGIC 和兩個(gè)IODELAY,如圖5-24 所示。
?
圖5-24 I/O 片結(jié)構(gòu)圖
本小節(jié)就以下幾個(gè)方面介紹Virtex-6 的SelectIO 資源。
(1) SelectIO 的電氣特性。
(2) SelectIO 的邏輯資源——ILOGIC 資源和OLOGIC 資源。
(3) SelectIO 的高級(jí)邏輯資源——ISERDES 資源、OSERDES 資源和Bitslip。
一、 SelectIO IO 的電氣特性
所有的Virtex-6 FPGA 有高性能的可配置SelectIO 驅(qū)動(dòng)器與接收器,支持非常廣泛的接口標(biāo)準(zhǔn)。強(qiáng)大的功能SelectIO 包括輸出強(qiáng)度和斜率的可編程控制以及使用數(shù)控阻抗(DCI)的片上終端。
IOB 包含輸入、輸出和三態(tài)SelectIO 驅(qū)動(dòng)器。支持單端I/O 標(biāo)準(zhǔn)(LVCMOS、HSTL、SSTL)和差分I/O 標(biāo)準(zhǔn)(LVDS、HT、LVPECL、BLVDS、差分HSTL 和SSTL)。
注意:差分輸入和VREF 相關(guān)輸入由VCCAUX 供電。
IOB、引腳及內(nèi)部邏輯的連接如圖5-25 所示。
圖5-25 IOB、引腳及內(nèi)部邏輯連接圖
IOB 直接連接ILOGIC/OLOGIC 對(duì),該邏輯對(duì)包含輸入和輸出邏輯資源,可實(shí)現(xiàn)數(shù)據(jù)和三態(tài)控制。ILOGIC和OLOGIC可分別配置為ISERDES和OSERDES。
Xilinx軟件庫(kù)提供了大量與I/O相關(guān)的原語(yǔ),在例化這些原語(yǔ)時(shí),可以指定I/O標(biāo)準(zhǔn)。與單端I/O相關(guān)的原語(yǔ)包括IBUF(輸入緩沖器)、IBUFG(時(shí)鐘輸入緩沖器)、OBUF(輸出緩沖器)、OBUFT(三態(tài)輸出緩沖器)和IOBUF(輸入/輸出緩沖器)。與差分I/O相關(guān)的原語(yǔ)包括IBUFDS(輸入緩沖器)、IBUFGDS(時(shí)鐘輸入緩沖器)、OBUFDS(輸出緩沖器)、OBUFTDS(三態(tài)輸出緩沖器)、IOBUFDS(輸入/輸出緩沖器)、IBUFDS_DIFF_OUT(輸入緩沖器)和IOBUFDS_DIFF_OUT(輸入/輸出緩沖器)。
二、 SelectIO的邏輯資源
SelectIO的邏輯資源主要是指ILOGIC和OLOGIC資源,它們完成了FPGA引腳到內(nèi)部邏輯的連接功能,包括組合輸入/輸出、三態(tài)輸出控制、寄存器輸入/輸出、寄存器三態(tài)輸出控制、DDR輸入/輸出、DDR輸出三態(tài)控制、IODELAYE1高分辨率可調(diào)整延遲單元及其控制模塊。
下面簡(jiǎn)要介紹ILOGIC和OLOGIC功能。
(1) ILOGIC。
圖5-26 ILOGIC內(nèi)部邏輯
ILOGIC的內(nèi)部邏輯如圖5-26所示,可以實(shí)現(xiàn)的操作包括:異步/組合邏輯、DDR模式(OPPOSITE_EDGE、SAME_EDGE或SAME_EDGE_PIPELINED)、電平敏感型鎖存器和邊沿觸發(fā)D型觸發(fā)器。
異步/組合邏輯。
用來(lái)創(chuàng)建輸入驅(qū)動(dòng)器與FPGA內(nèi)部資源之間的直接連接。當(dāng)輸入數(shù)據(jù)與FPGA內(nèi)部邏輯之間存在直接(非寄存)連接,或者當(dāng)“將I/O寄存器/鎖存器合并到IOB中”的設(shè)置為OFF時(shí),此通路被自動(dòng)使用。
輸入DDR(IDDR)。
Virtex-6器件的ILOGIC中有專用寄存器來(lái)實(shí)現(xiàn)輸入雙倍數(shù)據(jù)速率(DDR)??梢酝ㄟ^(guò)例化IDDR的原語(yǔ)來(lái)使用此功能。IDDR只有一個(gè)時(shí)鐘輸入,下降沿?cái)?shù)據(jù)由輸入時(shí)鐘的反相版本(在ILOGIC內(nèi)完成反相)進(jìn)行時(shí)鐘控制。所有輸入I/O模塊的時(shí)鐘均為完全多路復(fù)用,即ILOGIC或OLOGIC模塊之間不共用時(shí)鐘。IDDR支持以下三種操作模式:
OPPOSITE_EDGE模式、SAME_EDGE模式和SAME_EDGE_PIPELINED模式。
SAME_EDGE和SAME_EDGE_PIPELINED與Virtex-5一樣。這些模式允許設(shè)計(jì)人員在ILOGIC模塊內(nèi)部將下降沿?cái)?shù)據(jù)轉(zhuǎn)移到上升沿時(shí)鐘域,以節(jié)省CLB和時(shí)鐘資源并提高性能。這些模式是用DDR_CLK_EDGE屬性實(shí)現(xiàn)的。
各模式下時(shí)序圖請(qǐng)參考圖5-27、圖5-28和圖5-29。
圖5-27 OPPOSITE_EDGE模式下的輸入雙倍數(shù)據(jù)速率
圖5-28 SAME_EDGE模式下的輸入雙倍數(shù)據(jù)速率
圖5-29 SAME_EDGE_PIPELINED模式下的輸入雙倍數(shù)據(jù)速率
可編程絕對(duì)延遲單元IODELAYE1。
每個(gè)I/O模塊包含一個(gè)可編程絕對(duì)延遲單元,稱為IODELAYE1。IODELAYE1可以連接到ILOGIC/ISERDES或OLOGIC/OSERDES模塊,也可同時(shí)連接到這兩個(gè)模塊。
IODELAYE1是具有32個(gè)tap的環(huán)繞延遲單元,具有標(biāo)定的tap分辨率。請(qǐng)參考附帶光盤中的《Virtex-6 IO用戶手冊(cè)》。IODELAYE1可用于組合輸入通路、寄存輸入通路、組合輸出通路或寄存輸出通路,還可以在內(nèi)部資源中直接使用。IODELAYE1允許各輸入信號(hào)有獨(dú)立的延遲。通過(guò)在《Virtex-6用戶手冊(cè)》中規(guī)定的范圍內(nèi)選擇IDELAYCTRL參考時(shí)鐘,可以改變tap延遲分辨率。IODELAYE1資源可用作IDELAY、ODELAY或組合延遲。
.IDELAYE1允許各輸入信號(hào)有獨(dú)立的延遲。延遲單元可以被校驗(yàn)到一個(gè)絕對(duì)延時(shí)固定值(TIDELAYRESOLUTION),這個(gè)值不隨工藝,電壓和溫度的變化而改變。
IODELAYE1有四種操作模式:分別是零保持時(shí)間延遲模式(IDELAY_TYPE=DEFAULT)、固定延遲模式(IDELAY_TYPE=FIXED)、可變延遲模式(IDELAY_TYPE=VARIABLE)和可裝載的可變延時(shí)模式(IDELAY_TYPE=VAR_LOADABLE)。零保持時(shí)間延遲模式允許向后兼容,以使用Virtex-5器件中的零保持時(shí)間延遲功能的設(shè)計(jì),在這種模式下使用時(shí),不需要例化IDELAYCTRL的原語(yǔ)。在固定延遲模式,延遲值由屬性IDELAY_VALUE確定的tap數(shù)決定,此值配置后不可更改,此模式必須例化IDELAYCTRL的原語(yǔ)。在可變延遲模式,配置后通過(guò)控制信號(hào)CE和INC來(lái)改變延遲值,此模式必須例化IDELAYCTRL的原語(yǔ)。在可裝載的可變延時(shí)模式下,IDELAY TAP可以通過(guò)FPGA邏輯相連的5位CNTVALUEIN<4:0>裝載。當(dāng)配置為此模式時(shí),也必須例化IDELAYCTRL原語(yǔ)。
IDELAYCTRL延時(shí)控制模塊。
當(dāng)IDELAYE1或ISERDES的原語(yǔ)中的IOBDELAY_TYPE屬性設(shè)置為FIXED、VARIABLE或者VAR_LOADABLE時(shí),都必須例化IDELAYCTRL。IDELAYCTRL模塊連續(xù)校驗(yàn)IODELAYE1的延時(shí)環(huán)節(jié),以減少工藝、電壓和溫度的影響。
(2) OLOGIC資源。
OLOGIC由兩個(gè)主要模塊組成,分別是輸出數(shù)據(jù)通路和三態(tài)控制通路。這兩個(gè)模塊具有共同的時(shí)鐘(CLK),但具有不同的使能信號(hào)OCE和TCE。
輸出通路和三態(tài)通路可獨(dú)立配置為邊沿觸發(fā)的D型觸發(fā)器、電平敏感鎖存器、異步/組合邏輯或者DDR模式。
?
組合數(shù)據(jù)輸出和三態(tài)控制路徑。
組合輸出通路用來(lái)實(shí)現(xiàn)從FPGA內(nèi)部邏輯到輸出驅(qū)動(dòng)器或輸出驅(qū)動(dòng)器控制端的直接連接。當(dāng)FPGA的內(nèi)部邏輯與輸出數(shù)據(jù)或三態(tài)控制之間存在直接(不寄存)連接,或者當(dāng)“將I/O寄存器/鎖存器合并到IOB中”的設(shè)置為OFF時(shí),此路徑被使用。
?
輸出DDR(ODDR)。
Virtex-6器件的OLOGIC中具有專用寄存器,用來(lái)實(shí)現(xiàn)DDR功能。要使用此功能,只需要例化ODDR。ODDR只有一個(gè)時(shí)鐘輸入,下降沿?cái)?shù)據(jù)由輸入時(shí)鐘的反相時(shí)鐘控制。ODDR支持兩種操作模式:OPPOSITE_EDGE模式和SAME_EDGE模式。SAME_EDGE模式允許在ODDR時(shí)鐘的上升沿將兩個(gè)數(shù)據(jù)送至ODDR,以節(jié)省CLB和時(shí)鐘資源并提高性能。OPPOSITE_EDGE模式使用時(shí)鐘的兩個(gè)沿以兩倍吞吐量從FPGA內(nèi)部采集數(shù)據(jù),兩個(gè)輸出都送至IOB的數(shù)據(jù)輸入或三態(tài)控制輸入。圖5-30所示為使用OPPPOSITE_EDGE模式時(shí)輸出DDR的時(shí)序圖。圖5-31所示為使用SAME_EDGE模式時(shí)輸出DDR的時(shí)序圖。
?
圖5-30 OPPPOSITE_EDGE模式時(shí)輸出DDR
圖5-31 SAME_EDGE模式時(shí)輸出DDR
輸出ODDR可以將時(shí)鐘的一個(gè)副本傳送到輸出。將ODDR原語(yǔ)的D1固定為High,D2固定為L(zhǎng)ow,時(shí)鐘與數(shù)據(jù)ODDR的時(shí)鐘一樣。這個(gè)方案可以確保輸出數(shù)據(jù)與輸出時(shí)鐘延時(shí)的一致性。
三、 SelectIO的高級(jí)特性
除了SelectIO的電器特性和專用于收發(fā)SDR或DDR數(shù)據(jù)的寄存器結(jié)構(gòu)之外,Virtex-6還提供了更高級(jí)的邏輯特性。其中包含串并轉(zhuǎn)換器ISERDES、并串轉(zhuǎn)換器OSERDES和Bitslip。
(1) ISERDES。
Virtex-6 ISERDES是專用的串并轉(zhuǎn)換器,具有專門實(shí)現(xiàn)高速源同步應(yīng)用的時(shí)鐘控制與邏輯功能。圖5-32為ISERDES的結(jié)構(gòu)圖,其中包括串并轉(zhuǎn)換器(ISERDES)、Bitslip子模塊,以及對(duì)選通存儲(chǔ)器接口的支持,如網(wǎng)絡(luò)接口、DDR3接口和QDR接口。
圖5-32 ISERDES結(jié)構(gòu)圖
輸入串并轉(zhuǎn)換器。
ISERDES解串器可以實(shí)現(xiàn)高速數(shù)據(jù)傳輸,不要求FPGA內(nèi)部資源與輸入數(shù)據(jù)頻率匹配。此轉(zhuǎn)換器支持SDR和DDR。在SDR模式下,串并轉(zhuǎn)換器可以實(shí)現(xiàn)2、3、4、5、6、7或8bit寬的并行字。在DDR模式下,串并轉(zhuǎn)換器可以實(shí)現(xiàn)4、6、8或10位寬的并行字。
ISERDES的原語(yǔ)ISERDES1如圖5-33所示。
圖5-33 ISERDES的原語(yǔ)ISERDES1
Bitslip模塊。
Virtex-6器件中的所有ISERDES模塊都包含一個(gè)Bitslip子模塊。這個(gè)子模塊可在源同步網(wǎng)絡(luò)型應(yīng)用中實(shí)現(xiàn)字對(duì)齊。Bitslip對(duì)ISERDES模塊中的并行數(shù)據(jù)重新排序,以便將解串器所接收重復(fù)串行模式的每種組合都送至FPGA內(nèi)部邏輯。這種重復(fù)串行模式通常稱為培訓(xùn)模式(許多網(wǎng)絡(luò)和電信標(biāo)準(zhǔn)都支持培訓(xùn)模式)。
Bitslip操作通過(guò)將ISERDES模塊的Bitslip引腳置為有效,可以在并行側(cè)對(duì)輸入串行數(shù)據(jù)流重新排序。此操作重復(fù)進(jìn)行,直到找到訓(xùn)練模型。圖5-34 中所示為SDR 和DDR 模式下Bitslip 操作的效果。為了便于說(shuō)明,采用了八位數(shù)據(jù)寬度。Bitslip 操作與CLKDIV 同步。在SDR 模式下,每次Bitslip 操作使輸出模式左移一位。在DDR 模式下,每次Bitslip
操作使輸出模式在右移一位和左移三位之間交替變化。在此示例中,輸出模式在第八次Bitslip 操作時(shí)還原到初始模式。這里假定串行數(shù)據(jù)是八位重復(fù)模式。
?
圖5-34 Bitslip 操作
使用Bitslip 子模塊的指導(dǎo)原則如下。
只有在NETWORKING 模式下,Bitslip 才有效。其他模式下,不支持Bitslip。
要啟動(dòng)Bitslip 操作,BITSLIP 端口置為High 有效的時(shí)間必須持續(xù)在一個(gè)CLKDIV 周期。在SDR 模式下,Bitslip 的置位時(shí)間不能長(zhǎng)達(dá)兩個(gè)連續(xù)的CLKDIV 周期;在兩次Bitslip有效置位之間,Bitslip 的無(wú)效時(shí)間至少有一個(gè)CLKDIV 周期。在SDR 和DDR 兩種模式下,從ISERDES 采樣到Bitslip 有效的宣稱輸入到“bit-slipped”ISERDES 的輸出Q1-Q6 被
采樣到FPGA 內(nèi)部邏輯,總延遲是兩個(gè)CLKDIV 周期。
對(duì)選通存儲(chǔ)器接口的支持。
ISERDES 包含專用電路(包括OCLK 輸入引腳),可以完全在ISERDES 模塊內(nèi)部處理選通門到FPGA 跨時(shí)鐘域的功能。該功能可以極大方便選通存儲(chǔ)器的支持,如網(wǎng)絡(luò)接口、DDR3 接口和QDR 接口。
(2) 輸出并串轉(zhuǎn)換器(OSERDES)。
Virtex-6 OSERDES 是專用的并串轉(zhuǎn)換器,用來(lái)實(shí)現(xiàn)高速源同步接口設(shè)計(jì)。每個(gè)OSERDES 模塊包括一個(gè)數(shù)據(jù)串行器和一個(gè)實(shí)現(xiàn)三態(tài)控制的串行器。此轉(zhuǎn)換器支持SDR 和DDR。數(shù)據(jù)串行化可達(dá)6:1(如果使用“OSERDES 寬度擴(kuò)展”可達(dá)10:1)。三態(tài)串行化可達(dá)4:1。OSERDES 的框圖如圖5-35 所示。
數(shù)據(jù)并串轉(zhuǎn)換器。
一個(gè)OSERDES 模塊中的數(shù)據(jù)并串轉(zhuǎn)換器接收來(lái)自內(nèi)部邏輯的二到六位并行數(shù)據(jù),將數(shù)據(jù)串行化,然后通過(guò)OQ 輸出將數(shù)據(jù)送至IOB。并行數(shù)據(jù)串行化是按照從數(shù)據(jù)輸入引腳的最低位到最高的順序進(jìn)行的(即D1 輸入引腳上的數(shù)據(jù)傳輸?shù)絆Q 引腳的首位)。
OSERDES 使用CLK 和CLKDIV 兩個(gè)時(shí)鐘進(jìn)行數(shù)據(jù)速率轉(zhuǎn)換。CLK 是高速串行時(shí)鐘;CLKDIV 是分頻并行時(shí)鐘。
?
圖5-35 OSERDES的結(jié)構(gòu)框圖
三態(tài)并串轉(zhuǎn)換。
除了數(shù)據(jù)的并串轉(zhuǎn)換,OSERDES模塊還包含一個(gè)三態(tài)并串轉(zhuǎn)換器,三態(tài)并串轉(zhuǎn)換器最多只能串行化四位并行三態(tài)信號(hào)。三態(tài)轉(zhuǎn)換器不能級(jí)聯(lián)。
OSERDES的原語(yǔ)如圖5-36所示。
圖5-36 OSERDES的原語(yǔ)
評(píng)論
查看更多