首页 > 其他分享 >浅析OSERDESE3

浅析OSERDESE3

时间:2024-05-12 14:54:53浏览次数:22  
标签:OSERDESE3 SDR CLK DDR input bit 浅析

在高速接口的应用场景下,我们会经常听说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模式下的时序图:

可以看出当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违例的时候可以考虑这个方法进行解决。

标签:OSERDESE3,SDR,CLK,DDR,input,bit,浅析
From: https://www.cnblogs.com/A1112day/p/18187812

相关文章

  • 国际化业务、全球化团队沟通难?浅析跨文化沟通的挑战和应对措施
    在全球化背景下,发展出海业务相比以往更具有巨大的前景和潜力,是企业寻找“第二增长点”和提升综合实力的优先选择。近几年“中企出海”大热,中国企业在世界各地开展业务拓展国际市场,获得更加国际化的营商经验与客户资源。与此同时,用全球化团队来开展业务是不二之选,团队汇集不同文化......
  • 线程池核心原理浅析
    前言由于系统资源是有限的,为了降低资源消耗,提高系统的性能和稳定性,引入了线程池对线程进行统一的管理和监控,本文将详细讲解线程池的使用、原理。为什么使用线程池池化思想线程池主要用到了池化思想,池化思想在计算机领域十分常见,主要用于减少资源浪费、提高性能等。池化思想......
  • AI智能分析视频监控系统现状与应用场景浅析
    随着人工智能技术的快速发展,智能视频监控系统在安全监管工作中发挥着越来越重要的作用,为企业的安全生产管理提供了强有力的支持,也为企业在安全生产管理上大大提高了安全指数。那么目前安防视频分析的现状与应用场景有哪些呢?一、行业现状当前,智能视频分析技术通过利用计算机视觉......
  • AI智能分析视频监控行业的发展趋势和市场发展浅析
    监控视频AI智能分析技术的现状呈现出蓬勃发展的态势,这一技术源于计算机视觉和人工智能的研究,旨在将图像与事件描述之间建立映射关系,使计算机能够从视频图像中分辨出目标信息。在技术上,监控视频AI智能分析技术已经实现了对视频内容的自动分析、识别和理解。其中包括目标跟踪、监控......
  • 线程池核心原理浅析
    前言由于系统资源是有限的,为了降低资源消耗,提高系统的性能和稳定性,引入了线程池对线程进行统一的管理和监控,本文将详细讲解线程池的使用、原理。为什么使用线程池池化思想线程池主要用到了池化思想,池化思想在计算机领域十分常见,主要用于减少资源浪费、提高性能等。池化思想......
  • 浅析OpenCV分水岭变换watershed函数的markers参数[C++]
    0.前言本文是笔者在学习C++OpenCV库时学习心得,在学习分水岭变换函数时,由于缺少相关学习资料,导致笔者理解吃力,故写此文章阐述一下对该函数的理解,希望对其他学习人士提供帮助。本文主要介绍了watershed函数参数以及参数实际表示。请您按文章次序阅读。您需要提前了解的相关知......
  • 23.pg_wal浅析01
    1.PG_WAL?WAL是一套保证数据完整性的标准。简要地说,WAL中心概念是数据文件(这里涉及到表和索引)修改必须在这些动作被记录之后,即描述这些修改操作的日志记录被刷到永久存储中。如果我们遵循这个过程,我们不需要在每次事务提交时刷数据页到磁盘,因我我们知道一旦发生崩溃,我们可以......
  • cls_oracle_logs.sh脚本遭遇TNS-12508错误浅析
    cls_oracle_logs.sh脚本的输出日志中有TNS-12508错误,具体如下所示........................................................................LSNRCTL> Current Listener is gspLSNRCTL> Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=gsp)))TNS-12508: TNS:......
  • 浅析网络库
    1.C10Kproblem最初的服务器都是基于进程/线程模型的,新到来一个TCP连接,就需要分配1个进程(或者线程),但当连接数来到10K时,就需要不停地买服务器了.DanKegel在1999年提出了著名的世界难题:“c10kproblem”。那时的服务器还只是32位系统,运行着Linux2.2版本(后来又升级到了......
  • 三维模型调色技术浅析
    三维模型调色技术浅析 摘要:三维模型调色是对模型进行材质和纹理等属性调整的过程,可以提高模型的视觉效果和真实感。本文将介绍几种常见的三维模型调色技术,包括材质编辑、纹理贴图和光照调整,并分析它们的特点和适用场景。 引言三维模型调色是三维模型处理中的重要环......