0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

介紹一種OSERDES級(jí)聯(lián)使用的方法

冬至配餃子 ? 來(lái)源:Bug記錄 ? 作者:woodfan ? 2022-08-20 11:33 ? 次閱讀

使用ISERDES接收高速串行數(shù)據(jù) 已經(jīng)講完了ISERDES,那么這一篇繼續(xù)講解OSERDES相關(guān)內(nèi)容;

OSERDES實(shí)現(xiàn)并串轉(zhuǎn)換,只需要管發(fā)送并不需要管接收到的數(shù)據(jù)如何,所以它的操作相對(duì)于ISERDES來(lái)說(shuō)簡(jiǎn)單;

本文將介紹OSERDES的IP核生成,OSERDES原語(yǔ)介紹,OSERDES級(jí)聯(lián)使用以及ISERDES,Idelay接收串行數(shù)據(jù)的幾種方法。

與上一篇文章的結(jié)構(gòu)對(duì)應(yīng),這篇也將從可視化的SelectIO的設(shè)置講起,從簡(jiǎn)單到復(fù)雜;

在IP Catalog里面找到"SelectIO",接下來(lái)跟著這般操作:

pYYBAGMAVQGAOK3JAADfvmDU8co747.png

數(shù)據(jù)總線設(shè)置

參數(shù)的意義如下:

Interface Template:接口模板,本次數(shù)據(jù)傳輸并不符合預(yù)設(shè)的協(xié)議,所以選擇Custom

Data BUS Direction:這一次需要發(fā)送數(shù)據(jù),選擇Output

Data Rate: 數(shù)據(jù)總線是SDR還是DDR,DDR內(nèi)容可以看(LVDS差分信號(hào)簡(jiǎn)單處理)2. DDR信號(hào)的處理

Serialization Factor: 串化因子,也就是IP核的輸入并行數(shù)據(jù)位寬;SDR Rate:可設(shè)為2,3,4,5,6,7,8;DDR Rate:可設(shè)為4,6,8,10,14;

External Data Width: 外部輸出數(shù)據(jù)的位寬,默認(rèn)設(shè)1

I/O signaling:設(shè)置差分還是單端以及IO電壓標(biāo)準(zhǔn)

pYYBAGMAVRWAI87-AADeOFi6pvM768.png

時(shí)鐘設(shè)置

這一部分的內(nèi)容可以參考使用ISERDES接收高速串行數(shù)據(jù),內(nèi)容一樣;

pYYBAGMAVSiAOCipAADwJ5u9Y-0168.png

數(shù)據(jù)和延時(shí)設(shè)置

這個(gè)地方不做設(shè)置的原因是因?yàn)椋覀冊(cè)跍y(cè)試ISERDES和OSERDES,需要排除使用Idelay的影響,因此這個(gè)地方不做任何延時(shí);

最后一鍵OK,OSERDES的相關(guān)IP核就生成好了。從IP核最底層的verilog文件可以看到,它的實(shí)現(xiàn)跟OSERDES2原語(yǔ)有關(guān),從UG471我們可以知道OSERDES2的相關(guān)內(nèi)容;

首先關(guān)注OSEDES2的屬性內(nèi)容,它的重要屬性決定的因素如下:

DATA_RATE_OQ:決定OQ端口輸出的數(shù)據(jù)速率,可選SDR或DDR;

DATA_RATE_TQ:決定TQ端口輸出的數(shù)據(jù)速率,可選BUF, SDR或DDR;

DATA_WIDTH: 根據(jù)"DATA_RATE_OQ"確定具體數(shù)值;SDR Rate:可設(shè)為2,3,4,5,6,7,8;DDR Rate:可設(shè)為4,6,8,10,14;

SERDES_MODE:確定OSERDES是主模塊還是從模塊,這跟OSERDES級(jí)聯(lián)使用有關(guān),具體內(nèi)容請(qǐng)看下面的內(nèi)容;

TRISTATE_WIDTH:這跟"DATA_RATE_TQ"有關(guān),大多情況都設(shè)為1,它的具體設(shè)置關(guān)系如下:

poYBAGMAVTuAL4vFAABql-Lig_8862.png

TRISTATE_WIDTH設(shè)置參數(shù)表 UG471 Table 3-8

poYBAGMAVU2AZRaFAACtwTKtLMo172.png

OSERDES原語(yǔ)圖 UG471 Figure 3-14

OSERDES原語(yǔ)的端口定義如上圖所示,其中重要的端口設(shè)置如下:

OQ:串行數(shù)據(jù)輸出,直接到IOB,也就是直接連接到IOBUF,ODELAY等特殊結(jié)構(gòu)

SHIFTOUT1/2:級(jí)聯(lián)時(shí)使用,詳見(jiàn)下文

CLK:高速時(shí)鐘,串行數(shù)據(jù)時(shí)鐘輸入

CLKDIV:慢速時(shí)鐘,并行數(shù)據(jù)時(shí)鐘輸入

D1 to D8:并行數(shù)據(jù)輸入,當(dāng)并行數(shù)據(jù)多于8bit不超過(guò)14bit,可以使用OSERDES級(jí)聯(lián),級(jí)聯(lián)的使用方法詳見(jiàn)下文

OCE:串行數(shù)據(jù)時(shí)鐘使能信號(hào)輸出

RST:高復(fù)位信號(hào)輸入

SHIFTIN1/2: 級(jí)聯(lián)時(shí)使用,詳見(jiàn)下文

其他沒(méi)有提到的輸入信號(hào)可以設(shè)為0,輸出信號(hào)可以不用連接;

CLKDIV與CLK的聯(lián)系:

假設(shè)接收的串行數(shù)據(jù)時(shí)鐘為256MHz,串化因子為8,則CLKDIV為32MHz;

SDR:CLKDIV = CLK/DATA_WIDTH

DDR: CLKDIV = 2 * CLK/DATA_WIDTH

注意CLK和CLKDIV不一定是相位對(duì)齊的;

OSERDES2數(shù)據(jù)時(shí)延:

雖然與ISERDES2相比,沒(méi)有"Mode"屬性設(shè)置,但CLK和CLKDIV不一定是相位對(duì)齊的,它的輸出數(shù)據(jù)相對(duì)于輸入數(shù)據(jù)也有相應(yīng)的時(shí)延,具體的延時(shí)與DATA_WIDTH,DATA_RATE_OQ,DATA_RATE_TQ有關(guān);關(guān)系如下:

poYBAGMAVWCAfNNfAADq9WscqEI679.png

OSERDES時(shí)延參數(shù)對(duì)照表 UG471 Table 3-11

以最簡(jiǎn)單的2:1 SDR串化為例:

poYBAGMAVXOAKsE8AAChP4342tQ535.png

2:1 SDR UG471 Figure 3-16

Event1時(shí),數(shù)據(jù)從FPGA其他部分邏輯傳到OSERDES2的D1-2端口

Event2時(shí),數(shù)據(jù)在CLKDIV上升沿被OSERDES2采樣

Event3時(shí),OQ端口產(chǎn)生相應(yīng)的輸出串行數(shù)據(jù)

所以,是不是也可以推出下圖Event所發(fā)生的事情呢?條件為8:1 DDR。

pYYBAGMAVYeAX5TnAAFHGB1UWXk889.png

8:1 DDR UG471 Figure 3-17

OSERDES級(jí)聯(lián)使用:

當(dāng)并行數(shù)據(jù)多于8bit不超過(guò)14bit時(shí),可以采用兩個(gè)OSERDES2級(jí)聯(lián)的使用方法,示意圖如下,

poYBAGMAVZmAbOY-AAC5LN0dlVk242.png

擴(kuò)展并行輸入數(shù)據(jù)位寬 UG471 Figure 3-15

上圖已經(jīng)示意的比較清楚,操作步驟可分為三步。

兩個(gè)OSERDES2的"SERDES_MODE"設(shè)置,一個(gè)需要設(shè)為"MASTER",另一個(gè)設(shè)為"SLAVE";

將"SLAVE"的"SHIFTOUT1/2"連接至"MASTER"的"SHIFTIN1/2";

"MASTER"的D1-D8輸入并行數(shù)據(jù)的低8位,"SLAVE"的D3-D8可以連接輸入并行數(shù)據(jù)的高6位;

我在調(diào)試一款AD的過(guò)程中接觸到了SelectIO中的相關(guān)知識(shí),由表及里,看過(guò)一些I/OSERDES接收數(shù)據(jù)的調(diào)節(jié)方法:

首先讓發(fā)送方發(fā)送特殊字符,接收方接收數(shù)據(jù)轉(zhuǎn)為并行數(shù)據(jù),調(diào)節(jié)Idelay的參數(shù),直到出現(xiàn)穩(wěn)定的結(jié)果(不一定是發(fā)送的特殊字符),Idelay參數(shù)記為C1;

繼續(xù)調(diào)節(jié)Idelay的參數(shù),直到結(jié)果不再穩(wěn)定,Idelay參數(shù)記為C2;

Idelay參數(shù)設(shè)為(C1+C2)/2 ,此時(shí)接收的并行數(shù)據(jù)穩(wěn)定為一個(gè)定值;

如果穩(wěn)定的輸出結(jié)果不是約定的特殊字符,調(diào)節(jié)Bitslip移動(dòng)字符的邊界,直至輸出結(jié)果為約定的特殊字符;

利用其他的通信方式或方法,告知發(fā)送方可以正常發(fā)送數(shù)據(jù);

更有甚者直接使用ISERDES,Idelay調(diào)節(jié)CLK,

將CLK作為串行數(shù)據(jù),使用ISERDES轉(zhuǎn)為并行數(shù)據(jù)后,調(diào)節(jié)Idelay;

記錄最后一次并行數(shù)據(jù)全為0的時(shí)候的Idelay參數(shù)C1;

繼續(xù)調(diào)節(jié),記錄第一次并行數(shù)據(jù)全為1的時(shí)候的Idelay參數(shù)C2;

Idelay參數(shù)設(shè)為(C1+C2)/2 ,此時(shí)CLK的時(shí)鐘對(duì)應(yīng)數(shù)據(jù)的位置裕量充足;

仿真結(jié)果可以參看使用ISERDES接收高速串行數(shù)據(jù)

總結(jié):

OSERDES2可以使用SelectIO IP核設(shè)置簡(jiǎn)化原語(yǔ)設(shè)置流程;但OSERDES2原語(yǔ)設(shè)置會(huì)更加精細(xì)。

OSERDES的數(shù)據(jù)時(shí)延以及級(jí)聯(lián)使用方面見(jiàn)上面的內(nèi)容。

補(bǔ)充了ISERDES,Idelay調(diào)節(jié)接收的串行數(shù)據(jù)的方法,詳細(xì)內(nèi)容以后有機(jī)會(huì)再展開(kāi)。


審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • DDR
    DDR
    +關(guān)注

    關(guān)注

    11

    文章

    706

    瀏覽量

    65176
  • SDR
    SDR
    +關(guān)注

    關(guān)注

    7

    文章

    233

    瀏覽量

    50390
  • 串行數(shù)據(jù)
    +關(guān)注

    關(guān)注

    0

    文章

    52

    瀏覽量

    16521
  • 數(shù)據(jù)總線
    +關(guān)注

    關(guān)注

    2

    文章

    57

    瀏覽量

    17539
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    請(qǐng)問(wèn)怎么設(shè)計(jì)一種級(jí)聯(lián)型多電平變流器?

    怎么設(shè)計(jì)一種級(jí)聯(lián)型多電平變流器?級(jí)聯(lián)型多電平變流器具有哪些特點(diǎn)?基于STS—SVM的三相級(jí)聯(lián)型多電平變流器有什么技術(shù)特點(diǎn)?
    發(fā)表于 04-14 06:48

    介紹一種防止相位假信號(hào)的具體算法

    什么是S參數(shù)測(cè)量?S參數(shù)插補(bǔ)算法是什么?介紹一種防止級(jí)聯(lián)的S參數(shù)出現(xiàn)相位假信號(hào)的具體算法
    發(fā)表于 04-30 07:00

    求大神分享一種基于FPGA的級(jí)聯(lián)結(jié)構(gòu)FFT處理器的優(yōu)化設(shè)計(jì)

    求大神分享一種基于FPGA的級(jí)聯(lián)結(jié)構(gòu)FFT處理器的優(yōu)化設(shè)計(jì)
    發(fā)表于 05-06 07:34

    給大家介紹一種PCB設(shè)計(jì)復(fù)用方法

    本文介紹一種PCB設(shè)計(jì)復(fù)用方法,它是基于Mentor Graphics的印制電路板設(shè)計(jì)工具Board Station進(jìn)行的。
    發(fā)表于 05-06 07:10

    給大家介紹一種軟件修正方法

    本文介紹一種三軸正交型傳感器正交性的軟件修正方法。
    發(fā)表于 05-07 06:53

    介紹一種可以高精度的測(cè)量電阻的方法

    本文介紹一種可以高精度的測(cè)量電阻的方法。
    發(fā)表于 05-10 06:38

    分享一種數(shù)字秒表設(shè)計(jì)方法

    本文介紹一種基于FPGA利用VHDL硬件描述語(yǔ)言的數(shù)字秒表設(shè)計(jì)方法
    發(fā)表于 05-11 06:37

    介紹一種基于分級(jí)的RFID隱私保護(hù)方法

    介紹一種基于分級(jí)的RFID隱私保護(hù)方法
    發(fā)表于 05-26 06:17

    介紹一種嵌入式系統(tǒng)仿真方法

    /計(jì)數(shù)器等功能。本文介紹一種嵌入式系統(tǒng)仿真方法,通過(guò)一種特殊設(shè)計(jì)的指令集仿真器ISS將軟件調(diào)試器軟件Keil uVision2和硬件語(yǔ)言仿真器軟件Modelsim連接起來(lái),實(shí)現(xiàn)了軟件和
    發(fā)表于 11-08 06:16

    介紹一種使用WSL來(lái)編譯nodemcu固件的方法

    本文將介紹一種使用WSL來(lái)編譯nodemcu固件的方法。
    發(fā)表于 02-15 07:34

    一種新型的級(jí)聯(lián)型多電平逆變器研究

    摘??? 要:本文提出一種新的級(jí)聯(lián)型多電平逆變器拓?fù)浣Y(jié)構(gòu),通過(guò)負(fù)載將兩個(gè)電壓型三相逆變器級(jí)聯(lián)在一起,該逆變器能作為個(gè)三電平或四電平逆變器運(yùn)行。本文對(duì)這
    發(fā)表于 03-11 12:57 ?4855次閱讀
    <b class='flag-5'>一種</b>新型的<b class='flag-5'>級(jí)聯(lián)</b>型多電平逆變器研究

    一種改進(jìn)的級(jí)聯(lián)型多電平變換器拓?fù)?/a>

    一種改進(jìn)的級(jí)聯(lián)型多電平變換器拓?fù)?
    發(fā)表于 04-21 00:06 ?1236次閱讀

    一種實(shí)用級(jí)聯(lián)式多電平逆變器SVPWM方法研究

    一種實(shí)用級(jí)聯(lián)式多電平逆變器SVPWM方法研究
    發(fā)表于 03-30 14:40 ?8次下載

    一種直流側(cè)電容電壓檢測(cè)與控制方法

    針對(duì)級(jí)聯(lián)多電平靜止同步補(bǔ)償器( STATCOM)各獨(dú)立直流側(cè)電容電壓易失衡的問(wèn)題,為保證STATCOM中各級(jí)聯(lián)單元電容電壓的穩(wěn)定性,提出了一種直流側(cè)電容電壓檢測(cè)與控制方法。首先,分析了
    發(fā)表于 03-15 11:41 ?0次下載
    <b class='flag-5'>一種</b>直流側(cè)電容電壓檢測(cè)與控制<b class='flag-5'>方法</b>

    AN27A--級(jí)聯(lián)二階段設(shè)計(jì)階數(shù)全極點(diǎn)帶通濾波器的一種簡(jiǎn)單方法

    AN27A--級(jí)聯(lián)二階段設(shè)計(jì)階數(shù)全極點(diǎn)帶通濾波器的一種簡(jiǎn)單方法
    發(fā)表于 04-29 18:34 ?10次下載
    AN27A--<b class='flag-5'>級(jí)聯(lián)</b>二階段設(shè)計(jì)階數(shù)全極點(diǎn)帶通濾波器的<b class='flag-5'>一種</b>簡(jiǎn)單<b class='flag-5'>方法</b>