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