引言
雷達(dá)信號(hào)處理離不開高速ADC/DAC的使用,而高速ADC/DAC的信號(hào)處理對(duì)時(shí)序的要求非常苛刻。Xilinx SelectIO IP的出現(xiàn)滿足了大多數(shù)芯片對(duì)于時(shí)序的處理需求,開發(fā)者可以高效的完成ADC/DAC驅(qū)動(dòng)設(shè)計(jì)。
本文主要針對(duì)Xilinx SelectIO IP的GUI(圖形用戶界面),對(duì)每個(gè)參數(shù)進(jìn)行詳細(xì)解釋,理解其中的內(nèi)涵,快速完成驅(qū)動(dòng)設(shè)計(jì)。下文詳細(xì)講述各個(gè)參數(shù)含義,內(nèi)容上有些枯燥,后續(xù)進(jìn)行FPGA設(shè)計(jì)實(shí)戰(zhàn),理論與實(shí)際相結(jié)合。
介紹
Xilinx SelectI IP是一個(gè)VHDL/Veilog封裝文件,根據(jù)用戶配置生成實(shí)例化的I/O邏輯,滿足了輸入SERDES、輸出SERDES和延遲模塊的應(yīng)用要求。另外,它也可以例化生成所需的I/O時(shí)鐘原語(yǔ),將它連接到I/O引腳。
特色
支持輸入、輸出或雙向總線,數(shù)據(jù)總線寬達(dá)16位,滿足絕大多數(shù)器件的設(shè)計(jì)要求;
創(chuàng)建驅(qū)動(dòng)I/O所需的時(shí)鐘電路邏輯,分為內(nèi)部時(shí)鐘或外部時(shí)鐘電路邏輯;
可選數(shù)據(jù)或時(shí)鐘延遲插入,對(duì)數(shù)據(jù)信號(hào)進(jìn)行同步或數(shù)據(jù)信號(hào)與時(shí)鐘信號(hào)之間進(jìn)行同步;
支持單、雙數(shù)據(jù)速率,實(shí)現(xiàn)信號(hào)與數(shù)據(jù)的相互轉(zhuǎn)換;
支持多種數(shù)據(jù)總線標(biāo)準(zhǔn):芯片對(duì)芯片、相機(jī)接收器、相機(jī)發(fā)射器、數(shù)字視覺接口(DVI)接收接口、發(fā)送接口和串行千兆媒體獨(dú)立接口(SGMII);
產(chǎn)品說(shuō)明書
SelectIO接口提供了源代碼HDL,包括輸入、輸出或雙向總線I/O電路,緩沖區(qū),任何所需的延遲元件,ISERDES和OSERDES、寄存器和I/O時(shí)鐘驅(qū)動(dòng)的實(shí)現(xiàn)。電路設(shè)計(jì)包含兩個(gè)主要組件:時(shí)鐘緩沖和處理,以及數(shù)據(jù)路徑。
SelectIO內(nèi)部框圖
時(shí)鐘緩沖和處理
SelectIO向?qū)еС謱?duì)時(shí)鐘I/O邏輯使用BUFG或BUFIO2。一個(gè)帶有BUFIO2原語(yǔ)的輸入數(shù)據(jù)如下圖所示。可以為輸入時(shí)鐘添加插入延遲。
I/O網(wǎng)絡(luò)時(shí)鐘連接
數(shù)據(jù)路徑
SelectIO向?qū)椭贗/O中實(shí)例化和配置組件互連。你可以選擇:
使用或繞過(guò)延遲功能。
通過(guò)使用輸入SERDES或輸出SERDES來(lái)使用串并轉(zhuǎn)換/并串轉(zhuǎn)換功能。
支持雙數(shù)據(jù)速率(DDR)數(shù)據(jù)。
為單速率數(shù)據(jù)使用I/O寄存器。
數(shù)據(jù)流細(xì)節(jié)
標(biāo)準(zhǔn)
該接口支持下列I/O標(biāo)準(zhǔn)。
單端信號(hào):??HSTL_I, HSTL_II, HSTL_III, HSTL_I_18, HSTL_II_18, HSTL_III_18, HSTL_I_12, LVCMOS33, LVCMOS25, LVCMOS18, LVCMOS15, LVCMOS12, SSTL15SSTL18_I, SSTL18_II
差分信號(hào):??DIFF HSTL I, DIFF HSTL I 18, DIFF HSTL II, DIFF HSTL II 18, DIFFSSTL15, DIFF SSTL18 I, DIFF SSTL18 II, LVDS25, TMDS_33, MINI_LVDS_25, PPDS_25,BLVDS_25、LVDS RSDS_25
SelectIO單端輸入輸出電平
SelectIO差分輸入輸出電平
更多關(guān)于Select IO邏輯資源的詳細(xì)介紹(比如LOGIC、DELAY、DELAYCTRL、SERDES等),請(qǐng)閱讀ug471_7Series_SelectIO.pdf
設(shè)計(jì)流程
本章描述了定制和生成核、約束核和的仿真、合成和實(shí)現(xiàn)步驟。
Data Bus Setup
Data Bus Setup界面
Interface Template
選擇向?qū)еС諷GMII, DVI接收器,DVI發(fā)射器,Camera link接收器數(shù)據(jù)總線格式,攝像頭連接發(fā)射器和芯片對(duì)芯片接口。SelectIO接口向?qū)H為上面提到的所有接口配置數(shù)據(jù)引腳。一般選擇Custom或者Chip to Chip來(lái)完成高速ADC、DAC芯片或者AD/DA芯片的時(shí)序設(shè)計(jì)。
Data Bus Direction
總線的方向可以選擇。選擇向?qū)еС州斎耄敵觯p向和單獨(dú)的I/O總線。單獨(dú)的輸入和輸出選項(xiàng)創(chuàng)建獨(dú)立的輸入和輸出引腳。開發(fā)者根據(jù)所用芯片的引腳實(shí)際方向進(jìn)行選擇。
Data Rate
如果數(shù)據(jù)在上升沿觸發(fā)時(shí),請(qǐng)選擇SDR。如果上升沿與下降沿都觸發(fā),選擇DDR。數(shù)據(jù)速率的選擇影響序列化因子限制。
Serialization Factor
如果選擇了序列化因子,將實(shí)例化ISERDESE2(串并轉(zhuǎn)換器)和/或OSERDESE2(并串轉(zhuǎn)換器)。所有數(shù)據(jù)由時(shí)間片,然后從右到左連接。例如,假設(shè)輸出數(shù)據(jù)總線是8位寬的,序列化因子為4。如果數(shù)據(jù)在引腳上顯示為:00,01、02、03時(shí),呈現(xiàn)給設(shè)備的數(shù)據(jù)將為03020100。如果選擇了10或14的序列化因子,那么每個(gè)I/O將實(shí)例化兩個(gè)SERDES塊因?yàn)槊總€(gè)SERDES的最大序列化能力是8:1。當(dāng)數(shù)據(jù)速率為SDR時(shí),序列化因子的可能值為2-8。當(dāng)數(shù)據(jù)速率為DDR時(shí),序列化因子可設(shè)置為4、6、8、10或14。Bitslip對(duì)于網(wǎng)絡(luò)模式總是啟用功能。如果不是,則將此引腳綁定到邏輯0。
如果所用ADC/DAC芯片為串行數(shù)據(jù)輸入輸出,選擇序列化因子,可以方便的實(shí)現(xiàn)串并、并串?dāng)?shù)據(jù)之間的轉(zhuǎn)換。
串行數(shù)據(jù)時(shí)序
如果選擇了序列化因子,IP自動(dòng)生成ISERDESE2或者OSERDESE2,IP引腳會(huì)多出Bitslip,其用來(lái)實(shí)現(xiàn)并行數(shù)據(jù)的邊界對(duì)齊。比如串行輸入的8bit的數(shù)據(jù),經(jīng)過(guò)ISERDESE2后,得到8bit的并行數(shù)據(jù),但這并行數(shù)據(jù)可能存在前后8bit數(shù)據(jù)之間的錯(cuò)位,也即無(wú)法正確判斷最高位、最低位, Bitslip就是用來(lái)找到并行數(shù)據(jù)的邊界。
下圖展示了Bitslip是如何確定并行數(shù)據(jù)的邊界:對(duì)于SDR模式,Bitslip使能1次,則數(shù)據(jù)會(huì)左移1次,對(duì)于8bit并行數(shù)據(jù),移動(dòng)8次完成一個(gè)循環(huán),可以這樣無(wú)止境的循環(huán)。對(duì)于DDR模式,Bitslip工作方式不同,Bitslip使能1次,數(shù)據(jù)會(huì)右移1次或者左移3次,兩者交替進(jìn)行,同樣移動(dòng)8次完成一個(gè)循環(huán)。
不同模式Bitslip操作
External Data Width
芯片的并行輸入、輸出引腳的數(shù)目,比如:并行16位ADC芯片,數(shù)據(jù)寬度填寫16。
I/O Signaling
所有的I/O信號(hào)標(biāo)準(zhǔn)都顯示為所選擇的I/O信號(hào)類型。根據(jù)實(shí)際外部芯片ADC/DAC引腳的實(shí)際信號(hào)類型進(jìn)行設(shè)置。
Input DDR Data Alignment
OPPOSITE_EDGE
上升沿觸發(fā)的數(shù)據(jù)通過(guò)輸出端Q1呈現(xiàn),下降沿觸發(fā)的數(shù)據(jù)通過(guò)輸出端Q2呈現(xiàn)。
OPPOSITE_EDGE模式
SAME_EDGE
在時(shí)序圖中,同一時(shí)刻輸出對(duì)Q1和Q2不再是D0A和D1A,而是第一對(duì)呈現(xiàn)的是一對(duì)D0A和(不關(guān)心),然后下一個(gè)時(shí)鐘輸出一對(duì)D2A和D1A。
SAME_EDGE模式
SAME_EDGE_PIPELINED
輸出對(duì)Q1和Q2在同一時(shí)刻輸出。
SAME_EDGE_PIPELINED模式
Clock Setup
Clock Setup界面
External Clock
如果在輸出數(shù)據(jù)路徑上設(shè)置了任何延遲,則將同樣的延遲分配給時(shí)鐘,使數(shù)據(jù)和時(shí)鐘保持同步。
Internal Clock
如果你的時(shí)鐘來(lái)自時(shí)鐘輸出模塊,你會(huì)想要選擇內(nèi)部時(shí)鐘,但是需要確保實(shí)例化一個(gè)MMCM來(lái)驅(qū)動(dòng)時(shí)鐘。
Clocking Signaling
您可以為輸入時(shí)鐘指定信令類型和標(biāo)準(zhǔn)。I / O信號(hào)標(biāo)準(zhǔn)將嵌入所提供的HDL源代碼。
Data And Clock Delay
Data And Clock Delay界面
Delay Type
FIXED
在固定延遲模式下,延遲值由屬性IDELAY_VALUE確定。一旦設(shè)置,該值不能為改變了。在此模式下使用時(shí),必須實(shí)例化IDELAYCTRL原語(yǔ)。
VARIABLE
在可變延遲模式下,延遲值可以通過(guò)控制信號(hào)CE和INC配置。在此模式下使用,IDELAYCTRL原語(yǔ)必須實(shí)例化。
VARIABLE模式延時(shí)控制
VAR_LOAD
IDELAY tap可以通過(guò)5輸入位CNTVALUEIN[4:0]設(shè)置。當(dāng)LD脈沖時(shí),CNTVALUEIN[4:0]的值將是新值。作為這個(gè)功能的結(jié)果,IDELAY_VALUE屬性是忽略了。在此模式下使用時(shí),必須實(shí)例化IDELAYCTRL原語(yǔ)。
VAR_LOAD模式延時(shí)控制
Include DELAYCTRL
只適用于固定/可變的延遲。如果選中,則包含IODELAYCTRL在設(shè)計(jì)中實(shí)例化。
Include Global Buffer
如果選中,則在設(shè)計(jì)中實(shí)例化BUFG。當(dāng)未選擇包含DELAYCTRL時(shí),沒有啟用BUFG以供選擇。
如果啟用,則設(shè)置IDELAY塊的HIGH_PERFORMANCE_MODE屬性為true,否則設(shè)置值為false。
文章出處:【微信公眾號(hào):FPGA之家】
責(zé)任編輯:gt
-
adc
+關(guān)注
關(guān)注
98文章
6498瀏覽量
544661 -
Xilinx
+關(guān)注
關(guān)注
71文章
2167瀏覽量
121430 -
dac
+關(guān)注
關(guān)注
43文章
2294瀏覽量
191066
原文標(biāo)題:Xilinx SelectIO IP使用說(shuō)明(一)
文章出處:【微信號(hào):zhuyandz,微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論