Xilinx中ISERDESE2串并转换模块的使用

        ISERDESE2是一种专用的串行到并行转换器,具有特定的时钟和逻辑功能,旨在促进高速源同步应用的实现。ISERDESE2避免了在FPGA结构中设计反序列化器时遇到的额外时序复杂性。

1、iserdes2原语概述

        1.1 串-并转换功能

       iserdes2支持SDR与DDR两种模式,在SDR模式下可以完成1bit到2-8bit的数据转换,在DDR模式下可以完成1bit到4bit、6bit、8bit以及通过两个iserdes2原语可以完成1ibt到10bit、14bit的串并转换(如图二)。

 图1:iserdes2位宽

                                                         图2:iserdes2的10位与14位级联

        注意:Slave模块中的Q1与Q2不可以作为级联的输出,在1bit转10bit的过程中使用Q3与Q4进行扩展、在1bit转10bit的过程中使用Q3-Q8这6位进行扩展。

  1.2 slipbit模块的概述

        在串并转换过程中很难避免的会出现传输错位导致采集到的数据出现错误,这是就需要用到slipbit模块进行数据校准。

        slipbit是iserdes2原语中的一个输入,通过判断输出Q中的数据与校验和是否相同来判断数据是否相同,如果不同通过拉高一个时钟的slipbit进行移位操作,直到检测到数据校验和正确表明采集到的正确。

                                                      图3:slip_bit信号的变化情况

备注:图3中的q[7:0]数值移位不正确,是随机添加上去的数据,具体可以看vivado仿真情况。    

        SRD模式下8:1 输出每次有一个时钟的slipbit会对校验不正确的数据Q[7:0]进行循环左移,例如:1001_0011——>0010_0111。DDR模式下8:1输出每次有一个时钟的slipbit会对校验不正确的数据Q[7:0]进行循环右移1bit,然后左移3bit依次循环,例如0010_0111把最高移的1移到最低位变成了0010_0111——>1001_0011(右移1bit)——>1001_1110(左移3bit)

                                                图4:SDR与DDR 8:1模式移位方式

2、iserdes原语引脚介

    iserdes2原语包含引脚

                                                                   图5:iserdes2引脚框图

具体引脚说明 :

2.1 BITSLIP(input)

        通过拉高BITSLIP重新排序输出信号,BITSLIP只需要拉高一个时钟(CLK_DIV),完成移位操作后,如果校验和与输入还是不通,再次拉高,直到校验和正确,来保证采集到的数据正确

                                                   图6:DDR Bitslip 时序图

        DDR 模式Bitslip信号变高后有三个CLK_DIV的延时,SDR 模式Bitslip号变高后有两个CLK_DIV的延时。

2.2 CE1、CE2(input)

                                                           图7:  时钟使能引脚                                                              

         CE1和CE2引脚用来作为时钟使能的时钟源,通过属性 NUM_CE来选择。当 NUM_CE=1时使用CE1作为时钟使能信号;当 NUM_CE=2时,在CLKDIV=0时使用CE2R,在CLKDIV=1时使用CE1R作为时钟使能信号。

2.3 时钟引脚

 2.3.1、clk(input)与clkdiv(input)

      clk串行数据输入时钟,clkdiv并行输出数据时钟,保证clk与clkdiv没有相位差,即可以通过PLL生成它们。

      SDR模式8:1传输clk=400M,clkdiv=50M ,  DDR模式8:1传输clk=400M,clkdiv=100M

      

                                                      图8:  时钟使能引脚   

2.3.2、CLKB(input)

        在MEMORY_QDR以外的任何模式下,将CLKB连接到CLK的反转,在MEMORY_QDR模式下,CLKB应该连接到一个唯一的相移时钟。

2.3.3、OCLK(input)、OCLKB(input)

         在iserdes模式MEMORY, MEMORY_DDR3, MEMORY_QDR, NETWORKING, OVERSAMPLE中只用MEMORY使用,其他模式接地就可以。

2.2.4、OCLKDIVP(input)

        在MEMORY_DDR3模式使用,其他模式接地。

2.4  DYNCLKSEL (input)and DYNCLKDIVSEL(input)

      在MEMORY、MEMORY_DDR3模式使用。

2.5 D(input)与DDLYA(input)

                                                         图9:输入模式设置

        D与DDLYA都是iserdes2的输入引脚,通过配置IOBDELAY Value的模式来选择输入的引脚。

2.6 OFB(input)

           在oserdes2的信号输入到iserdes2下使用,使用是需要将ISERDES2中的OFB_USED设置为TURE

     

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FPGA一只小白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值