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

LVDS系列13:Xilinx Ultrascale系可编程输入延迟(三)

本节讲解Ultrascale IDELAYE3的参数详细使用;

 COUNT模式下使用:
不例化IDELAYCTRL,没有温度电压补偿,EN_VTC保持为低电平;

FIXED延时模式:
DELAY_TYPE设置为FIXED,该模式下DELAY_VALUE参数设置的值为抽头值,范围0~511,且配置后不能更改;

VARIABLE延时模式:
DELAY_TYPE设置为VARIABLE,该模式下选择可变抽头延迟线,用户可以通过INC和CE端口控制抽头延迟线递增或递减一个抽头,INC=1&CE=1递增,INC=0&CE=1递减;
执行步骤,确认EN_VTC=0:
1 等待至少10个时钟周期;
2 使用CE和INC端口来递增或递减延迟线;
3 等待至少5个时钟周期;
在这里插入图片描述
VAR_LOAD延时模式:
DELAY_TYPE设置为VAR_LOAD,该模式下可以使用INC和CE来更改延迟线,还可以通过CNTVALUEIN总线端口更改抽头延迟线,通过CNTVALUEOUT可以读取当前使用的抽头数量;
执行步骤,确认EN_VTC=0:
1 读取CNTVALUEOUT值并加载到寄存器中;
2 检查是否需要更新延迟线,也就是要更新的值是否与旧值相同,如相同就不更新;
3 计算要写入延迟线的新延迟值,延迟线每次更新的范围在1~8,如果超过8要限制到8;
4 将新的延迟值放在CNTVALUEIN总线上;
5 等待1个时钟周期,将LD置1保持1个周期, 更新值稳定1个周期后再拉高LD;
6 若要多项更新执行该项,等待5个时钟周期;
7若要多项更新执行该项,将新的延迟值放在CNTVALUEIN总线上;
8若要多项更新执行该项,等待1个时钟周期,将LD置1保持1个周期;
9若要多项更新执行该项,跳转至步骤6继续执行;
注意再COUNT模式下,初始的DELAY_VALUE以抽头数位单位;
不使用内置校准BISC,实际延迟值完全不可知,延迟线没有温度电压补偿;
延迟线最多有512个抽头,抽头总线值范围0~511;
测量和调整都以抽头数为单位来计算;
在这里插入图片描述
 COUNT模式仿真:
 FIXED模式仿真:
设置位FIXED模式,CE、INC、LOAD管脚必须置0;

COUNT模式,FIXED模式下,数据源DATAIN,DELAY_VALUE可以设置为0~511;
DELAY_VALUE设置为0:
在这里插入图片描述
DELAY_VALUE设置为100:
在这里插入图片描述
DELAY_VALUE设置为511:
在这里插入图片描述
其中抽头为0时,延时0.2ns,抽头为100时,延时0.7ns,抽头为511时,延时2.755ns,这里仿真中单个抽头延时为5ps,
不过这里只是仿真的结果,只是为了验证抽头生效与否,在实际运行时,整个COUNT模式下,延时是不可知的,只能知道单个抽头的延时符合之前所述的单个抽头的延时范围;

 VARIABLE模式仿真:
COUNT模式,VARIABLE模式下,数据源DATAIN,DELAY_VALUE设置为0;
从抽头值0开始递增:
在这里插入图片描述
从抽头值0开始递减:在这里插入图片描述
单次更新逻辑:
在这里插入图片描述
 VAR_LOAD模式仿真:
COUNT模式,VAR_LOAD模式下,数据源DATAIN,DELAY_VALUE设置为0;
从抽头值0开始,每次抽头值增加100,每次抽头值更新超过8需要拆分;
在这里插入图片描述
单次更新100tap,拆分为多次更新8个tap:
在这里插入图片描述
单次更新不超过8个tap:
在这里插入图片描述
 UPDATE_MODE参数验证:
异步和同步使用一个递减操作,从抽头0变化到抽头511进行对比查看;
手动模式与之前7系VAR_LOAD_PIPE模式功能基本相同;
ASYNC异步模式:
在这里插入图片描述
可以看到异步模式下,在抽头0变化到抽头511,变化前的数据沿延时0.2ns,变化后的数据沿延时2.755ns,延时在ce和inc输入有效的下一个clk时钟周期生效;

SYNC同步模式:
在这里插入图片描述
可以看到同步模式下,在抽头0变化到抽头511,变化前的数据沿延时0.2ns,变化后的第一个数据沿延时0.2ns,变化后的第二个数据沿延时2.755ns,延时在inc和ce属于有效后,再等到datain信号一个跳变沿才生效,所以变化后第二个沿延时生效;

下一节讲解TIME模式下的使用;

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

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

相关文章:

  • STM32之串口通信WIFI上云
  • Centos8安装 python3并保留系统的python2
  • C语言求1到n的和(附带源码和解析)
  • 华为云Flexus+DeepSeek征文|零基础搭建Dify-LLM应用开发平台 - 从部署到应用的完整指南
  • 关于光谱相机的灵敏度
  • C++学习之类和对象_2
  • 【web全栈】若依框架B站学习视频
  • 面向高温工业场景的EtherCAT/CANopen协议转换系统设计与应用
  • 互联网大厂Java求职面试:Spring Cloud微服务架构与AI集成挑战
  • Redis从入门到实战 - 高级篇(下)
  • Linux锁和互斥锁
  • 机器学习之随机森林(五)
  • Unity ​​MeshCollider 无法被射线检测到
  • TCP网络编程学习
  • PCB设计实践(二十三)什么是阻抗匹配,需要做啥
  • Backwards对自动路由的影响
  • ​​AirtestIDE-win-1.2.9 使用教程:从安装到脚本录制(Windows版)
  • YOLOv11旋转目标检测Hrsc2016
  • day25- 系统编程之 标准IO(II) 及 文件IO
  • 网络编程概述
  • 搭载1000nits激光显示技术,海信电视探索X1系列发布
  • 【18. 四数之和 】
  • 【Linux系统】第七节—git+cgdb(详解)
  • MySQL 中 information_schema.processlist 使用原理
  • RT_Thread——内存管理
  • golang库源码学习——Pond,小而精的工作池库
  • git仓库代码操作
  • springboot+vue实现鲜花商城系统源码(带用户协同过滤个性化推荐算法)
  • 【WebRTC】源码更改麦克风权限
  • Redis 8.0 GA,重回开源