OSERDESE3与ODELAYE3原语

news2024/11/18 21:34:19

SelectIO 接口

UltraScale 架构的器件 包括三种I/O:高性能(HP), 高密度 (HD),和高量程(HR) I/O banks 。

  • HP I/O banks满足高速存储和片到片接口性能要求,电压最高1.8V。
  • HR I/O banks支持更大范围电压,电压最高3.3V。
  • HD I/O banks支持低速接口。

其中HP I/O bank中使用OSERDES传输速率可以达到1250Mb/s,ODELAYE经常与OSERDES联合使用,实现皮秒级延时。

OSERDESE3

​ OSERDESE3有两种模式:SDR和DDR。SDR模式下将2或4位并行数据串行输出,DDR模式下将4或8位并行数据串行输出。DDR模式下8位并行数据输出时序如下:

时序

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FBrsGnWc-1674905867324)(./pic/1.png)]

​ 其中CLK时钟频率是CLKDIV的4倍。

例化代码

OSERDESE3 #(
      .DATA_WIDTH(8),                 // 当输入是8bit并行数据是输入8
      .INIT(1'b0),                    // Initialization value of the OSERDES flip-flops
      .IS_CLKDIV_INVERTED(1'b0),      // 设置为1是CLKDIV时钟反向
      .IS_CLK_INVERTED(1'b0),         // 设置为1是CLK时钟反向
      .IS_RST_INVERTED(1'b0),         // 0为高复位,1为低复位
      .SIM_DEVICE("ULTRASCALE_PLUS")  // Set the device version for simulation functionality 
   )
   OSERDESE3_inst2 (
      .OQ(dataout),         // 输出1bit串行数据
      .T_OUT(t_out),   // 输出到IOB的三态控制端
      .CLK(clk),       // 高速时钟,8bit输入时,该时钟频率为CLKDIV的4倍
      .CLKDIV(clkdiv), // 低速时钟
      .D(data),           // 8bit并行数据输入
      .RST(rst),       //异步高复位
      .T(t_en)            //t_en控制t_out            
   ); 

ODELAYE3

ODELAYE3 原语可以对任意输出信号进行延迟。ODELAYE3原语包含512tap的延迟线。

COUNT 模式

该模式不使用IDELAYCTRL模块。延迟tap未标定,不进行温度和电压补偿。

在DELAY_VALUE 中设置taps,范围0-511。

TIME 模式

必须使用IDELAYCTRL模块。对延迟线进行标定,补偿温度和电压。IDELAYCTRL模式使用时钟与ODELAYE3时钟要一致。

属性

DELAY_FORMAT 属性

ODELAYE3原语中tap延迟有UltraScale器件手册中定义。

当DELAY_FORMAT 时TIME时。

  • 通过ODELAYCTRL模块针对电压和温度,对延迟线进行标定。
  • 当使用DELAY_TYPE使用VARIABLE或VAR_LOAD模式时,EN_VTC需要进行控制。当使用FIXED模式时,EN_VTC置1。

当DELAY_FORMAT 时COUNT时。

  • 不进行标定。不需要IDELAYCTRL模块
  • EN_VTC置0。

DELAY_VALUE属性

当DELAY_FORMAT设置成TIME模式时,DELAY_VALUE设置的值单位为ps。该模式下,写入CNTVALUEIN[8:0] 和从CNTVALUEOUT[8:0] 读取的值仍然为tap的数值。所以调整延迟线延迟时需要进行计算。

延迟类型

FIXED 模式

该模式设置固定延迟,不能动态调整。

当DELAY_FORMAT 为TIME时,EN_VTC 拉至高电平 ,进行温度电压补偿。此时DELAY_FORMAT设置值单位为ps。

当DELAY_FORMAT 为COUNT时,EN_VTC 接低电平 ,不进行温度电压补偿。此时DELAY_FORMAT设置值为tap数。

VARIABLE 模式

该模式可以通过CE和INC调整延迟。

当DELAY_FORMAT 为TIME时,调试延迟过程如下:

1、EN_VTC 置0

2、等待至少10个时钟周期

3、CE置1同时INC置1,增加延迟。CE置1同时INC置0,减少延迟。该过程可重复。

4、等待至少10个周期

5、EN_VTC 置1

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wupBuKLs-1674905867325)(./pic/2.png)]

当DELAY_FORMAT 为COUNT时,EN_VTC 一直置0,调试延迟过程执行TIME模式1-4。

VAR_LOAD 模式

该模式下可以使用CNTVALUEIN写入tap置,在至少一个周期后将LOAD置1,将CNTVALUEIN写入DELAYE模块,通过CNTVALUEOUT 读取写入置是否正常。每次增加CNTVALUEIN值不要大于8,否则延迟线会发生抖动。该模式下依然可以使用INC增加或减少延迟。

设置流程如下:

1、EN_VTC 置0

2、等待至少10个时钟周期

3、CE置1同时INC置1,增加延迟。CE置1同时INC置0,减少延迟。该过程可重复。

4、设置CNTVALUEIN,至少一个周期后将LOAD置1,读取CNTVALUEOUT,判断设置是否正常。

5、等待至少10个周期

6、EN_VTC 置1

例化代码

  IDELAYCTRL #(
      .SIM_DEVICE("ULTRASCALE") 
   )
   IDELAYCTRL_inst (
      .RDY(ready1),       // 1-bit output: Ready output
      .REFCLK(clk3), // 1-bit input: Reference clock input
      .RST(sys_rst)        // 1-bit input: Active-High reset input.

   );

ODELAYE3 #(
      .CASCADE("NONE"),               // 不适用级联模式
      .DELAY_FORMAT("TIME"),          // (COUNT, TIME)选择TIME模式
      .DELAY_TYPE("VAR_LOAD"),        // (FIXED, VARIABLE, VAR_LOAD)选择VAR_LOAD
      .DELAY_VALUE(10),                // Output delay tap setting
      .IS_CLK_INVERTED(1'b0),         // 设置为1时CLK时钟反向
      .IS_RST_INVERTED(1'b0),         // 设置为1时RST高复位
      .REFCLK_FREQUENCY(200),       //(200.0-800.0)设置参考时钟频率
      .SIM_DEVICE("ULTRASCALE_PLUS"), // 
      .UPDATE_MODE("ASYNC")           // 
   )
   ODELAYE3_inst2 (
      .CASC_OUT(),       // 不使用
      .CNTVALUEOUT(cnt_value_out_test), // 9-bit output: Counter value output
      .DATAOUT(dataout),         // 延迟模块输出
      .CASC_IN(1'b0),         // 
      .CASC_RETURN(1'b0),   //
      .CE(ce),              // 高有效,与INC一起使用
      .CLK(clk),                 // 1-bit input: Clock input
      .CNTVALUEIN(cnt_value),   // 设置tap值
      .EN_VTC(en_vtc),           //TIME模式时变化,COUNT模式时置0
      .INC(inc),                 // 1时增加tap,0减少tap
      .LOAD(load),               // 1有效,导入CNTVALUEIN
      .ODATAIN(dataout),         // 信号输入
      .RST(rst)                  //高复位
   );

双向信号

当对IO进行双向操作时,除了使用OSERDESE3和ODELAYE3原语,还会用到ISERDESE3和IDELAYE3原语,ISERDESE3使用方法与OSERDESE3类似,IDELAYE3使用方法与ODELAYE3类似。如下图所示:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-s0e6P0Aa-1674905867326)(./pic/3.png)]

工程代码

关注公众号硬码农二毛哥,回复6,回去双向操作代码,代码中使用OSERDESE3、IDELAYE3、ISERDESE3和ODELAYE3原语。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/183867.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Day872.事务间是否需要隔离 -MySQL实战

事务间是否需要隔离 Hi,我是阿昌,今天学习记录的是关于事务间是否需要隔离的内容。 创建的视图是静态视图,当前视图对应的数据由字段的当前值加上回滚段计算得到。 事务隔离级别 的时候提到过,如果是可重复读隔离级别&#xff…

1457. 二叉树中的伪回文路径

1457. 二叉树中的伪回文路径题目算法设计:深度优先搜索题目 传送门:https://leetcode.cn/problems/pseudo-palindromic-paths-in-a-binary-tree/ 算法设计:深度优先搜索 如何判断一组数字是否存在一个回文串组合? 如 [1, 2, 1]…

css元素显示模式(行内、块级、行内块)

1.块级元素 显示特点&#xff1a; 1、独占一行&#xff08;一行只能显示一个&#xff09; 2、宽度默认是父元素的宽度&#xff0c;高度默认由内容撑开 3、可以设置宽高 代表标签&#xff1a; div、p、h系列、ul、li、dl、dt、dd、form、header、anv、footer <style>div…

电脑数据怎么迁移?6种旧电脑数据传输到新电脑方法分享

如今&#xff0c;我们拥有如此多的设备&#xff0c;从一个设备跳到另一个设备似乎是一项艰巨的任务。平均而言&#xff0c;一个人可能拥有一台电脑、一部智能手机和一台平板电脑。但是&#xff0c;如果您有多台计算机或要换一台新计算机怎么办&#xff1f;您可能在互联网上问过…

电脑录像软件推荐?分享3款,简单好用且方便

​在日常生活中&#xff0c;我们经常会遇到临时有事情需要外出处理的时候&#xff0c;但在如果正好在上网课或者开会议、听讲座的时候&#xff0c;这时候外出很容易会错过一些重要的内容。这个时候&#xff0c;就需要借助电脑录像软件了。电脑录像软件推荐什么&#xff1f;今天…

Docker consul

目录 一、Docker consul简介 二、Consul优势 三、Consul中的概念 四、部署 1、consul服务器配置 2、查看集群信息 3、在浏览器上进到consul的界面进行管理 4、容器服务自动注册到consul集群 5、consul节点配置nginx 6、配置模板信息 7、配置并启动consul-template …

Java创建pdf的代码

一、概述 以下代码可以在指定文件夹内创建一个简历pdf。 以下代码生成pdf&#xff0c;主要是设置cell所占的行、列、内容。 二、代码 1.需要的jar包 itext-asian-5.2.0.jar itextpdf-5.5.5.jar2.个人信息类MsgUtil.java 这个类里面放了个人信息&#xff1b;也可以放多个人…

Python量化投资——股票择时到底能否赚钱?TA-Lib中33种技术指标有效性回测研究

TA-Lib中33种技术指标回测研究Python量化投资——TA-Lib中33种股票择时技术指标的有效性研究为什么要做这个评测技术指标清单评测方法评测工具期待你的意见Python量化投资——TA-Lib中33种股票择时技术指标的有效性研究 为什么要做这个评测 技术指标是股票交易中最常用的技术…

CSS 常见布局

文章目录CSS 常见布局单列布局单列布局&#xff08;不通栏&#xff09;单列布局&#xff08;通栏&#xff09;双列布局floatoverflow:hiddenflexgridCSS 常见布局 单列布局 单列布局&#xff08;不通栏&#xff09; <!DOCTYPE html> <html><head><meta …

推荐系统之推荐中心逻辑

5.5 推荐中心逻辑 学习目标 目标 无应用 无 5.5.1 推荐中心作用 推荐中一般作为整体召回结果读取与排序模型进行排序过程的作用&#xff0c;主要是产生推荐结果的部分。 5.5.2 推荐目录 server目录为整个推荐中心建立的目录 recall_service.:召回数据读取目录reco_centor:推…

如何利用 Selenium 对已打开的浏览器进行爬虫!

大家好&#xff0c;我是安果&#xff01;在对某些网站进行爬虫时&#xff0c;如果该网站做了限制&#xff0c;必须完成登录才能展示数据&#xff0c;而且只能通过短信验证码才能登录这时候&#xff0c;我们可以通过一个已经开启的浏览器完成登录&#xff0c;然后利用程序继续操…

STM32—超声波测距

超声波简介 超声波测距模块是用来测量距离的一种产品&#xff0c;通过发送和收超声波&#xff0c;利用时间差和声音传播速度&#xff0c; 计算出模块到前方障碍物的距离。 型号&#xff1a;HC-SR04 时序图 怎么让它发送波 Trig触发信号&#xff0c;给Trig端口至少10us的高电平…

“华为杯”研究生数学建模竞赛2005年-【华为杯】A题:城市交通管理中的出租车规划(附获奖论文)

赛题描述 A: Highway Traveling time Estimate and Optimal Routing Ⅰ Highway traveling time estimate is crucial to travelers. Hence, detectors are mounted on some of the US highways. For instance, detectors are mounted on every two-way six-lane highways o…

Postman使用详解

一、常见类型的接口请求查询参数接口接口地址中&#xff0c;&#xff1f;问号后面的部分&#xff0c;即查询参数&#xff1b;该部分内容由键值对组成&#xff0c;有多个时&#xff0c;用&符号分隔。请求方法&#xff1a;GET表单类型接口1&#xff09;HTTP请求&#xff0c;一…

电脑如何重装系统?Win10系统安装只需这两招!

电脑在日常生活和工作中是使用的比较多的。随着时间的推移&#xff0c;电脑越来越卡&#xff0c;系统越来越慢&#xff0c;或者是由于其他情况&#xff0c;有些人会选择对电脑进行重新安装。 但是很多人不知道系统安装前要注意什么&#xff0c;以及安装有哪些方法&#xff0c;…

论文笔记:Modeling Kinect Sensor Noise for Improved 3D Reconstruction and Tracking

文章目录概述效果如何&#xff1f;take home messagelateral noise 模型axial noise 模型实验实验设定lateral noise与axial noise的定义axial noise与lateral noise的提取噪声分布的结果和建模最终拟合得到的lateral noise模型最终拟合得到的axial noise模型应用噪声模型至Kin…

【Spring源码】插播一个创建代理对象的wrapIfNecessary()方法

在文章【分析向】没有三级缓存会导致什么&#xff1f; 中&#xff0c;提到过一个方法——wrapIfNecessary()&#xff0c;就是在这个方法中为Bean创建的代理对象&#xff0c;介于篇幅原因&#xff0c;当时并咩有详细&#x1f50e;分析这个方法&#xff0c;这篇文章我们进去wrapI…

第三章 ArcGIS坐标系与投影变换

文章目录第一节 坐标系的概念1.1 坐标1.2 坐标系2 基准面介绍2.1 基准面概念2.2几种基准面的说明2.3 椭球体参数的区别3 坐标系的分类3.1 两种坐标系3.2 区别3.3 度&#xff08;分、秒&#xff09;和米的转换&#xff08;高级&#xff09;4 投影坐标系4.1 两种投影方法介绍4.2 …

5、判定法

定义 判定表法&#xff1a; 分析和表述若干输入条件下&#xff0c;被测对象针对这些输入做出响应的一种工具在遇到逻辑复杂的业务时&#xff0c;可以利用判定表理清期间的逻辑关系。 重要概念 条件&#xff1a; 条件桩&#xff1a;需求规格说明书定义的被测对象的所有输入条…

图解Attention

深度学习知识点总结 专栏链接: https://blog.csdn.net/qq_39707285/article/details/124005405 此专栏主要总结深度学习中的知识点&#xff0c;从各大数据集比赛开始&#xff0c;介绍历年冠军算法&#xff1b;同时总结深度学习中重要的知识点&#xff0c;包括损失函数、优化器…