当前位置: 首页 > web >正文

LVDS系列26:Xilinx 7系 OSERDESE2原语(二)

这一讲讲解OSERDESE2的参数和组件用法;

 OSERDESE2参数:
参数DATA_RATE_OQ:
设置数据路径并行数据转串行的速率,可选单倍数据速率(SDR)、双倍数据速率(DDR),默认设置为DDR双倍;

参数DATA_RATE_TQ:
设置三态路径数据转换的速率,可选单倍数据速率(SDR)、双倍数据速率(DDR)、旁路不处理(BUF)。在SDR和DDR模式下,并行数据的输入使用四个T端口输入,可以通过TRISTATE_WIDTH参数控制并行数据有效位宽;在BUF模式下,SDR和DDR模式下的寄存器被绕过,只使用T1端口输入数据,且T1端口的数据可以与其他所有信号都异步,因为此时T1数据只是经过OSERDESE2传递,不会被进行处理;

参数DATA_WIDTH:
定义和并串转换器的并行数据的输入位宽;当DATA_RATE_OQ为SDR模式时,参数值可选2/3/4/5/6/7/8;当DATA_RATE_OQ为DDR模式时,参数值可选4/6/8/10/14,其中10和14需要一对OSERDESE2级联才可实现;

参数INIT_OQ:
OQ端口上电初始化设置值,0或1,默认0即可;

参数INIT_TQ:
TQ端口上电初始化设置值,0或1,默认0即可;

参数SERDES_MODE:
要使用宽度扩展级联OSERDESE2时,主OSERDESE2设置为MASTER,从OSERDESE2设置为SLAVE;

参数SRVAL_OQ:
OQ端口复位值,0或1,默认0即可;

参数SRVAL_TQ:
TQ端口复位值,0或1,默认0即可;

参数TBYTE_CTL:
通过MIG工具使用,三态路径的使能控制,可选FALSE、TRUE,默认设置为FALSE;

参数TBYTE_SRC:
通过MIG工具使用,三态路径源选择,可选FALSE、TRUE,默认设置为FALSE;

参数TRISTATE_WIDTH:
定义三态路径并转串的并行输入数据位宽,需与DATA_RATE_TQ参数配合使用,
在这里插入图片描述
当DATA_RATE_TQ设置为SDR或是BUF时,TRISTATE_WIDTH只能设置为1;
当DATA_RATE_TQ设置为DDR时,TRISTATE_WIDTH可以设置为1或4,
TRISTATE_WIDTH不能设置为大于4的值,当DATA_WIDTH大于4时,TRISTATE_WIDTH置1;

 OSERDESE2时钟使用:
CLK和CLKDIV需要相位对齐,CLK和CLKDIV的频率关系由并转串的输入并行位宽和速率模式决定;
时钟的驱动:
由BUFIO驱动CLK,由BUFR驱动CLKDIV;
由同一个MMCM或是PLL的输出端口驱动CLK和CLKDIV;
且使用MMCM驱动时,两个时钟的缓冲器类型不能混用,两者须一致;

 OSERDESE2宽度扩展:
与ISERDESE2类似,OSERDESE2也可以通过主从级联扩展位宽,将并转串比例提高到10:1和14:1;
连接结构如下图:
在这里插入图片描述
主OSERDESE2的SERDES_MODE设置为MASTER,从OSERDESE2的SERDES_MODE设置为SLAVE,主OSERDESE2的SHIFTIN1、SHIFTIN2端口连接到从OSERDESE2的SHIFTOUT1、SHIFTOUT2端口,两个OSERDESE2必须是相邻的主从对;
扩展位宽时:
10bit:bit7-bit0输入到主OSERDESE2的D8-D1,bit9-bit8输入到从OSERDESE2的D4-D3;
14bit:bit7-bit0输入到主OSERDESE2的D8-D1,bit13-bit8输入到从OSERDESE2的D8-D3;

 OSERDESE2延迟:
OSERDESE2模块的输入到输出延迟取决于DATA_RATE和DATA_WIDTH属性。
延迟定义为为当CLKDIV的上升沿将输入D1–D8的数据时钟输入到OSERDESE2时到串行流的第一个位出现在OQ时刻之间的间隔时间;
各种延迟值如下表所示:
在这里插入图片描述
当CLK和CLKDIV的时钟边沿没有相位对齐时,延迟可能会变化一个周期;

 OSERDESE2数据时序:
下图为2:1比例SDR模式下的时序介绍:
在这里插入图片描述
可以看到上图,
在clock event 1处,AB输入被CLKDIV驱动到原语输入口D1D2,上升沿后经过一定的传播延时才数据稳定,
在clock event 2处,CLKDIV上升沿时,AB输入被从D1D2线上采样到OSERDESE2中,
在clock event 3处,也就是clock event 2时刻CLKDIV上升沿相邻的CLKDIV下降沿处,A和B依次在CLK上升沿时刻被输出到OQ线上,

下图为8:1比例DDR模式下的时序介绍:
在这里插入图片描述
可以看到上图,
在clock event 1处,ABCDEFGH输入被CLKDIV驱动到原语输入口D1-D8,
在clock event 2处,CLKDIV上升沿时,A-H输入被从D1-D8线上采样到OSERDESE2中,
在clock event 3处,也就是clock event 2时刻CLKDIV上升沿靠后相邻的CLKDIV上升沿处,A-H依次在CLK上升沿和下降沿时刻被输出到OQ线上,一个CLKDIV周期里,CLK共8个边沿,将A-H这8个输入数据全部输出;

 OSERDESE2三态控制时序:
OSERDESE2带有数据路径和三态控制器这两个数据控制路径,且这个两个OQ和TQ的输入不是独立使用,不是说这次使用OQ数据串行化,下次又单独使用TQ三态串行化,而是如果要单独使用OQ数据串行化功能,那么就可以单独使用OQ即可,就如同上面两个时序特性图,就只有OQ信号,没有TQ,
但是如果想要使用三态功能,那么OQ和TQ就必须协同工作,其中TQ是不能独立使用的,必须依附于OQ,前面讲过TQ是连接到三态控制器的输入控制管脚,OQ和TQ协同工作,一起连接到IOB上,然后如果想要输出驱动有效数据,那么此时TQ输出三态关闭,此时IOB就将会输出OQ管脚送过来的值,如果想要输出高阻态,那么此时TQ输出的值将开启IOB的三态功能,IOB此时忽略OQ值,输出高阻态;

下图为4:1比例DDR模式下的三态控制器串行化时序介绍:
在这里插入图片描述
可以看到上图,
在clock event 1处,T1、T2、T4为0,为释放三态的状态,T3为1使能三态,且这一排数据处,T1-T4和D1-D4串行化路径和延时是相同的,所以在OQ、TQ输出时,EFGH这4bit数据和0010这4bit三态控制数据流,两者是位对齐的,
在clock event 2处,在clock event 1处数据被采样后的4bit数据开始从CLK时钟边沿输出到OQ和TQ上,可以看到两个路径数据对齐,且OBUFT.O输出的数据为EFZH,其中缺少的G则是因为该位置时TQ置1,IOB输出高阻态;
本文章由威三学社出品
对课程感兴趣可以私信联系

http://www.xdnf.cn/news/19102.html

相关文章:

  • Cubemx+Vscode安装与环境配置
  • Shell 脚本编程规范与变量
  • Spring Boot + KingbaseES 连接池实战
  • 【C#/Cpp】CLR项目搭建的内联和托管两选项
  • 基于uni-app的iOS应用上架,从打包到分发的全流程
  • 大模型推荐系统新标杆!EGA-V2端到端大模型驱动推荐系统
  • Ansys Electronics Desktop 2025 R2 软件界面介绍
  • Java线程池深度解析:从原理到实战的完整指南
  • orbslam2语义分割
  • 工业级TF卡NAND+北京君正+Rk瑞芯微的应用
  • 人工智能-python-深度学习-过拟合与欠拟合:概念、判断与解决方法
  • 【Bluedroid】A2DP Source设备音频数据读取机制分析(btif_a2dp_source_read_callback)
  • Solidity合约编程基础知识
  • Java 多线程环境下的全局变量缓存实践指南
  • jwt原理及Java中实现
  • Ckman部署clickhouse
  • 5.2 I/O软件
  • 横扫SQL面试——流量与转化率分类
  • C++《哈希表》
  • Unity游戏打包——iOS打包pod的重装和使用
  • Servlet 注解:简化配置的完整指南
  • 大模型微调示例四之Llama-Factory-DPO
  • 若依cloud集训总结
  • 汉字这颗穿越时空的智慧之光,在未来绽放出更加耀眼的光芒
  • 深入解析Java并发编程与单例模式
  • 文件系统挂载详细分析(《图解Linux内核》虚拟文件系统篇笔记三)
  • 神经网络为何能 “学习”?从神经元到深度学习模型的层级结构解析
  • 打破存储局限:CS 创世 SD NAND 如何优化瑞芯微(RK)与北京君正平台的贴片式 SD 卡性能
  • 【C++成长之旅】C++入门基础:从 Hello World 到命名空间与函数重载的系统学习
  • Bscan Bonding Chain