威三电子  

               威三电子

LVDS系列20:Xilinx 7系ISERDESE2原语(一)

2026-08-12 09:15:22

浏览:

Xilinx 7系FPGA bank的io单元如下:Hr bank比hp bank少odelaye2组件,两者的idelaye2组件后面,都有iserdese2


Xilinx 7FPGA bankio单元如下:

Hr bankhp bankodelaye2组件,两者的idelaye2组件后面,都有iserdese2组件;

iserdese2组件是一种专用的串并转换器或称解串器,用于高速源同步应用,如大部分LVDS信号解析就属于高速源同步应用;

组件是专用的解串器,避免了fpga逻辑实现,支持单数据数率SDR和双数据速率DDR模式;

SDR模式下,支持2/3/4/5/6/7/8位宽并行转换;

DDR模式下,支持4/6/8位宽并行转换;

使用两个级联的iserdese2时,还可以生成10/14位宽的并行转换;

组件还包含Bitslip子模块,bitslip可以让用户重新排序拼接并行数据流,方便接收数据的训练和检测调整;

 

l  原语框图:

左侧输入管脚,右侧输出,

 

 

l  原语例化:

ISERDESE2 #(

  .DATA_RATE('DDR'),           // DDR, SDR

  .DATA_WIDTH(4),              // Parallel data width (2-8,10,14)

  .DYN_CLKDIV_INV_EN('FALSE'), // Enable DYNCLKDIVINVSEL inversion (FALSE, TRUE)

  .DYN_CLK_INV_EN('FALSE'),    // Enable DYNCLKINVSEL inversion (FALSE, TRUE)

  // INIT_Q1 - INIT_Q4: Initial value on the Q outputs (0/1)

  .INIT_Q1(1'b0),

  .INIT_Q2(1'b0),

  .INIT_Q3(1'b0),

  .INIT_Q4(1'b0),

  .INTERFACE_TYPE('MEMORY'),   // MEMORY, MEMORY_DDR3, MEMORY_QDR, NETWORKING, OVERSAMPLE

  .IOBDELAY('NONE'),           // NONE, BOTH, IBUF, IFD

  .NUM_CE(2),                  // Number of clock enables (1,2)

  .OFB_USED('FALSE'),          // Select OFB path (FALSE, TRUE)

  .SERDES_MODE('MASTER'),      // MASTER, SLAVE

  // SRVAL_Q1 - SRVAL_Q4: Q output values when SR is used (0/1)

  .SRVAL_Q1(1'b0),

  .SRVAL_Q2(1'b0),

  .SRVAL_Q3(1'b0),

  .SRVAL_Q4(1'b0)

)

ISERDESE2_inst (

  .O(O),                       // 1-bit output: Combinatorial output

  // Q1 - Q8: 1-bit (each) output: Registered data outputs

  .Q1(Q1),

  .Q2(Q2),

  .Q3(Q3),

  .Q4(Q4),

  .Q5(Q5),

  .Q6(Q6),

  .Q7(Q7),

  .Q8(Q8),

  // SHIFTOUT1, SHIFTOUT2: 1-bit (each) output: Data width expansion output ports

  .SHIFTOUT1(SHIFTOUT1),

  .SHIFTOUT2(SHIFTOUT2),

  .BITSLIP(BITSLIP),           // 1-bit input: The BITSLIP pin performs a Bitslip operation synchronous to

                               // CLKDIV when asserted (active High). Subsequently, the data seen on the Q1

                               // to Q8 output ports will shift, as in a barrel-shifter operation, one

                               // position every time Bitslip is invoked (DDR operation is different from

                               // SDR).

 

  // CE1, CE2: 1-bit (each) input: Data register clock enable inputs

  .CE1(CE1),

  .CE2(CE2),

  .CLKDIVP(CLKDIVP),           // 1-bit input: TBD

  // Clocks: 1-bit (each) input: ISERDESE2 clock input ports

  .CLK(CLK),                   // 1-bit input: High-speed clock

  .CLKB(CLKB),                 // 1-bit input: High-speed secondary clock

  .CLKDIV(CLKDIV),             // 1-bit input: Divided clock

  .OCLK(OCLK),                 // 1-bit input: High speed output clock used when INTERFACE_TYPE='MEMORY'

  // Dynamic Clock Inversions: 1-bit (each) input: Dynamic clock inversion pins to switch clock polarity

  .DYNCLKDIVSEL(DYNCLKDIVSEL), // 1-bit input: Dynamic CLKDIV inversion

  .DYNCLKSEL(DYNCLKSEL),       // 1-bit input: Dynamic CLK/CLKB inversion

  // Input Data: 1-bit (each) input: ISERDESE2 data input ports

  .D(D),                       // 1-bit input: Data input

  .DDLY(DDLY),                 // 1-bit input: Serial data from IDELAYE2

  .OFB(OFB),                   // 1-bit input: Data feedback from OSERDESE2

  .OCLKB(OCLKB),               // 1-bit input: High speed negative edge output clock

  .RST(RST),                   // 1-bit input: Active high asynchronous reset

  // SHIFTIN1, SHIFTIN2: 1-bit (each) input: Data width expansion input ports

  .SHIFTIN1(SHIFTIN1),

  .SHIFTIN2(SHIFTIN2)

);

 

l  ISERDESE2端口介绍:

端口O

1bit,组合输出,该端口为组件未经过寄存器的输出,可以直接来自输入D端口或DDLY端口,从组件的框图可以看出O端口的产生结构,来自一个由OFBDDLYD端口输入的IOB多路复用器的输出,没有经过ISERDESE2的组件;

 

端口Q1~Q8

iserdese2组件的8bit寄存器输出,1个组件***多支持1:8的串转并,大于8位仅在DDR模式下支持,且***14bit

一个并行数据的***输入的1bit数据,将会出现在***位的Q8上;

上图是OSERDESE2ISERDESE2组件的输入输出顺序,

可以看到,OSERDESE2输出端位序与ISERDESE2输入端的位序相反,OSERDESE2输入一个D1~D8,对应ABCDEFGH的数据,输出时,按D1D8,也就是AH的并行数据种低位先发的顺序发送数据,

而在ISERDESE2中,先接收到的A放入了***位Q8,***接收到的H放入了Q1

 

端口SHIFTOUT1SHIFTOUT2SHIFTIN1SHIFTIN2

想要实现大于8bit的并行转换,需要两个ISERDESE2级联,shift接口用于宽度扩展时ISERDESE2级联,后续仿真时详细讲解位宽扩展结构;

 

端口BITSLIP

1bit,高电平有效时执行位滑动操作,与CLKDIV同步;执行后Q1~Q8的输出接口上数据将移动一个bit数据,后续仿真时详细讲解位滑动操作;

 

端口RST

         高电平有效复位,复位有效时,大部分组件内部触发器将被异步驱动为低,除了Q1~Q44个接口,因为这4个输出接口复位时驱动的值由参数INIT_Q1~ INIT_Q4设置;当把复位信号与CLKDIV同步取消置位,内部逻辑会把取消置位重新定为***个CLK上升沿,多个ISERDESE2组件的复位信号应该使用同一个复位信号,复位信号需至少保持两个CLKDIV时钟周期,且复位取消后两个CLKDIV时钟周期后输出数据才有效;

 

端口CLK

         高速时钟输入,该时钟应该与高速串行输入数据同步;

 

端口CLKB

         高速次级时钟对输入串行数据流进行同步;当INTERFACE_TYPE设置为除MEMORY_QDR的模式下,CLKBCLK反相,在MEMORY_QDR模式下,CLKB连接到特定相位偏移的时钟;

 

端口CLKDIV

         分频时钟输入,通常是CLK的分频版本,该时钟与组件输出的并行数据Q1~Q8同步,还与CE模块,Bitslip子模块同步,其频率取决于解串行化的宽度;

 

端口CLKDIVP

         只在使用MIG工具,也就是DDR控制器时使用该端口,其他模式将其置0

 

端口CE1CE2

         都是时钟使能输入端口,内部有一个输入时钟使能模块:

可以看到模块中,有CE1CE2时钟使能输入,

NUM_CE=1NUM_CE为组件例化参数)时,不使用CE2输入,CE1输入是直接连接到ISERDESE2中输入寄存器的高有效时钟使能信号;

NUM_CE=2时,同时使用CE1CE2输入,CE1CLKDIV周期的一半启用ISERDESE2CE2在另一半启用ISERDESE2

 

端口OCLKOCLKB

         高速时钟输入,用于基于选通的存储器接口和过采样模式,当INTERFACE_TYPE设置为为NETWORKING时不使用OCLKOCLK可用于将基于选通的存储器数据传输到自由运行的时钟域,不适用存储器模式时,端口不使用,OCLKBOCLK反相时钟;

 

端口D

         高速串行数据输入端口,仅与IOB配合使用,数据来自IOB

 

端口DDLY

         高速串行数据输入端口,仅与IDELAYE2配合使用,输入的数据来自IDLEAYE2延时后的输出;

 

端口OFB

         OFB端口用于将OSERDESE2上传输的数据反馈回ISERDESE2,且同时需要将参数OFB_USED设置为TRUE,且OSERDESE2ISERDESE2DATA_RATEDATA_WIDTH需要设置相同;

 

端口DYNCLKDIVSELDYNCLKSEL

         DYNCLKDIVSEL1DYN_CLKDIV_INV_EN设置TRUE时,CLKDIV反转相位;DYNCLKSEL1DYN_CLK_INV_EN设置为TRUE时,CLKCLKB反转相位;且该操作仅在MEMORY_DDR3MEMORY_QDR模式下受支持;

 

例化参数和其他细节下一节讲解;

 

本文章由威三学院出品

对课程感兴趣可以私信联系

0
LVDS系列20:Xilinx 7系ISERDESE2原语(一)
Xilinx 7系FPGA bank的io单元如下:Hr bank比hp bank少odelaye2组件,两者的idelaye2组件后面,都有iserdese2
长按图片保存/分享

北京威三电子科技有限公司

突破技术壁垒,芯创智联领航未来

 


北京威三电子科技有限公司 版权所有
京ICP备2026012969号
 

热线:

159-2199-9232

 

图片展示

淘宝店铺:

威三科教

地址:

北京市延庆区辰龙国际6号楼406室

微信公众号:

北京威三电子科技有限公司 

热线:159-2199-9232

淘宝店铺:威三科教

地址:北京市延庆区辰龙国际6号楼406


微信公众号

图片展示
北京威三电子科技有限公司 版权所有| 京ICP备2026012969号
微信公众号
客服中心
热线电话
15921999232
上班时间
周一到周五
二维码
扫码关注
客服中心
热线电话
15921999232
上班时间
周一到周五
二维码
扫码关注
添加微信好友,详细了解产品
使用企业微信
“扫一扫”加入群聊
复制成功!
添加微信好友,详细了解产品
我知道了