浅析OSERDESE3

原文链接:浅析OSERDESE3
在高速接口的应用场景下,我们会经常听说SerDes(Serializer-Deserializer)这个词,也就是串行器和解串器,更为通俗的讲就是进行串并转换的。在Xilinx的FPGA中提供了ISERDES(提供串行数据到并行数据的转换)和OSERDES(提供并行数据到串行数据的转换)。在7系列的FPGA里面提供了ISERDESE2和OSERDESE2这两个原语供我们使用。而在UltraScale架构中提供了ISERDESE3和OSERDESE3这两个原语。OSERDESE3的结构如下图所示,支持SDR模式和DDR模式。

在这里插入图片描述

其可供配置的参数如下图所示:
在这里插入图片描述

从上表可以看出与OSERDESE2使用有差异的DATA_WIDTH,在OSERDESE3中只支持8bit和4bit两种模式,相对于OSERDESE2来说变少了。另外还有一点,对于熟悉OSERDESE2的人来说可以看出这里并没有配置是SDR模式还是DDR模式的参数,在OSERDESE2中可以通过DATA_RATE_OQ参数进行配置SDR或DDR。这个具体配置还请接着往下看。
那么先看一下DDR模式下的时序图:
!](https://img-blog.csdnimg.cn/1946a237dd124f61b3c9f12ee052d5a4.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6aOe5aSp5Zyf6LGG,size_20,color_FFFFFF,t_70,g_se,x_16)

可以看出当DATA_WIDTH是8时,CLK和CLK_DIV是4倍关系,当DATA_WIDTH是4时,CLK和CLK_DIV是2倍关系。
再看一下SDR模式下的端口连线和时序图:
在这里插入图片描述

相信看到这里应该就能看出来SDR和DDR模式的不同了,在SDR模式下需要将相邻的两个输入端口接同一个数据,这样实现的SDR功能。
下面就看一下SDR和DDR模式的所有连接情况吧
在这里插入图片描述

最后呢来看一下OSERDESE3具体要怎么使用吧。

OSERDESE3 #(
      .DATA_WIDTH(8),            // Parallel Data Width (4-8)
      .INIT(1'b0),               // Initialization value of the OSERDES flip-flops
      .IS_CLKDIV_INVERTED(1'b0), // Optional inversion for CLKDIV
      .IS_CLK_INVERTED(1'b0),    // Optional inversion for CLK
      .IS_RST_INVERTED(1'b0),    // Optional inversion for RST
      .SIM_DEVICE("ULTRASCALE")  // Set the device version for simulation functionality (ULTRASCALE)
   )
   OSERDESE3_inst (
      .OQ(OQ),         // 1-bit output: Serial Output Data
      .T_OUT(T_OUT),   // 1-bit output: 3-state control output to IOB
      .CLK(CLK),       // 1-bit input: High-speed clock
      .CLKDIV(CLKDIV), // 1-bit input: Divided Clock
      .D(D),           // 8-bit input: Parallel Data Input
      .RST(RST),       // 1-bit input: Asynchronous Reset
      .T(T)            // 1-bit input: Tristate input from fabric
   );

一个小Tip,CLKDIV端口的时钟可以走BUFGCE_DIV哦,这样会有更小的Clock Skew,当TPWS违例的时候可以考虑这个方法进行解决。

欢迎关注我的微信公众号:FPGA开源工坊
在这里插入图片描述

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值