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

LVDS系列14:Xilinx Ultrascale系可编程输入延迟(四)

本节讲解Ultrascale IDELAYE3的TIME模式仿真;

 TIME模式下参数和时序:
必须例化IDELAYCTRL,IDELAYCTRL时钟频率与REFCLK_FREQUEMCY参数相同;
有温度电压补偿,EN_VTC在修改抽头值时拉低,修改完毕后拉高;

FIXED延时模式:
DELAY_TYPE设置为FIXED,TIME模式下DELAY_VALUE参数设置的值为延时值,单位为ps,设置范围Ultrascale器件01250,Ultrascale+器件01100,且配置后不能更改;

VARIABLE延时模式:
DELAY_TYPE设置为VARIABLE,选择可变抽头延迟线, INC=1&CE=1递增,INC=0&CE=1递减;
执行步骤:
1 设置EN_VTC=0;
2 等待至少10个时钟周期;
3 使用CE和INC端口来递增或递减延迟线;
4 等待至少15个时钟周期;
5设置EN_VTC=1;

VAR_LOAD延时模式:
DELAY_TYPE设置为VAR_LOAD,可以使用INC和CE来更改延迟线,还可以通过CNTVALUEIN总线端口更改抽头延迟线,通过CNTVALUEOUT可以读取当前使用的抽头数量;
执行步骤:
1 等待IDELAYCTRL原语的RDY接口拉高;
2 设置EN_VTC=0;
3 等待至少10个时钟周期;
4 读取CNTVALUEOUT值并加载到寄存器中;
5 检查是否需要更新延迟线;
6 计算要写入延迟线的新延迟值,延迟线每次更新的范围在1~8;
7 将新的延迟值放在CNTVALUEIN总线上;
8 等待1个时钟周期,将LOAD置1保持1个周期, 更新值稳定1个周期后再拉高LOAD;
9 若要多项更新执行该项,等待5个时钟周期;
10 若要多项更新执行该项,将新的延迟值放在CNTVALUEIN总线上;
11 若要多项更新执行该项,等待1个时钟周期,将LOAD置1保持1个周期;
12 若要多项更新执行该项,跳转至步骤9继续执行;
13 等待至少10个时钟周期;
14 设置EN_VTC=1;
在这里插入图片描述
 TIME模式仿真:
FIXED模式:
IDELAYE3在仿真时,只有在EN_VTC拉低,也就是原语补偿功能关闭时,输出的CNTVALUEOUT值才是一个正常值,当EN_VTC拉高,补偿功能开启时,CNTVALUEOUT输出为红色的不定态的值,出现这种情况的原因大概是因为原语的仿真没有实现补偿功能,所以仿真时补偿功能开启就无法给出一个确定值,所以显示不定态;
但是IDELAYE3在实际板子上运行时,无论是否开启补偿功能,CNTVALUEOUT都能输出正常值;

DELAY_VALUE设置延时0ps:
在这里插入图片描述
延时0.144ns;

DELAY_VALUE设置延时1100ps:
在这里插入图片描述
延时1.244ns=1100ps+0.144ns;

想要查看两者此刻的抽头值,尝试拉低EN_VTC:
此时原语没有连接除en_vtc外的控制管脚;
0ps:
在这里插入图片描述
1100ps:
在这里插入图片描述
可以看到,0ps时抽头为0,延时0.144ns,1100ps时抽头为275,延时1.244ns;
可以看到在设置为0ps时,有一个固有的延时0.144ns,
仿真时每个抽头延时 (1.244ns-0.144ns)/(275-0)=4ps,
但是仿真不能实现TIME模式下的补偿功能,也没有实现前述的TIME模式下的时钟/数据对齐延迟Align_Dealy,而且单抽头值也不会受到工艺电压温度的影响变化,所以仿真仅作为时序的参考,仿真的延时数值不能作为具体参考;

VARIABLE模式:
递增:
在这里插入图片描述
递减:
在这里插入图片描述
单次:
在这里插入图片描述
可以看到单次递减这里,EN_VTC拉低,CNTVALUEOUT才输出正常值;

VAR_LOAD模式:
从初始延时0ps开始,抽头值每次设置增加50,
在这里插入图片描述
在这里插入图片描述
下一节讲解TIME模式的延时细节;

本文章由威三学社出品
对课程感兴趣可以私信联系

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

相关文章:

  • HTML5 Canvas 星空战机游戏开发全解析
  • ASP.NET MVC添加视图示例
  • JAVA:Kafka 消息可靠性详解与实践样例
  • Android第十一次面试多线程篇
  • nginx源码下载和测试
  • mkdir: cannot create directory ‘gitlab-stu’: No space left on device
  • Vue 技术文档
  • 静态资源js,css免费CDN服务比较
  • 哈工大编译原理 | 7.运行时存储分配
  • 能源领域新兴技术论坛:EMQ 实时数据引擎构建工业智能中枢
  • EC800X QuecDuino开发板介绍
  • 删除链表的倒数第N个节点的方法
  • JavaWeb
  • k8s中kubeSphere的安装使用+阿里云私有镜像仓库配置完整步骤
  • CI/CD 持续集成、持续交付、持续部署
  • [Dify] Chatflow 与 工作流的差异解析:多轮对话与流程编排的真正区别
  • TEASER-plusplu Windows Mingw编译
  • RestTemplate完全使用指南:从入门到实战
  • 从零实现基于BERT的中文文本情感分析的任务
  • Vue项目打包常见问题
  • 纯html,js创建一个类似excel的表格
  • netTAP 100:在机器人技术中将 POWERLINK 转换为 EtherNet/IP
  • ADB识别手机系统弹授权框包含某段文字-并自动点击确定按钮
  • Photoshop2025(PS2025)软件及安装教程
  • c#基础09(类与对象)
  • HTML实战项目:高考加油和中考加油
  • Git 教程 | 如何将指定文件夹回滚到上一次或某次提交状态(命令详解)
  • 免费开源批量图片格式转换工具
  • 再见Notepad++,你好Notepad--
  • ADB推送文件到指定路径解析