时序约束(二)

时序约束(二)
上一篇对时序约束原理做了概述,网上也有讲的比较清楚的,或者网上小梅哥和尤凯元老师得视频都讲的很不错,这里主要是讲一下原理概述,重点是做一些实例演练,或者自己目前手头的项目遇到的情况。
目前手头的项目是高速的AD数据采集,300M的采样时钟,DDR的数据传输模式,也就是说时钟周期3.33ns,上下沿采样,相当于时钟周期只有1.667ns,这里不进行正确的时序约束,很可能无法正常的采集数据。这里我们先看看没有正确的约束,或者没有约束情况下数据采集的情况。如下图:
1.时序未约束或错误约束情况下,输入信号5M正弦波和方波如下:
在这里插入图片描述
在这里插入图片描述
FPGA采样后保存到ram中,由DSP采集后做显示得到的结果如下:
在这里插入图片描述
在这里插入图片描述
我们可以看到输入信号没有毛刺,而采集到的信号却有了明显的毛刺,直接原因就是时序没有正确约束,时钟上升下降沿采集数据时,不能够满足建立保持时间,也就是说,时钟采样时,数据不稳定,正在进行交变。示意图如下:
在这里插入图片描述
由图可以直观的看到,时序约束所要做的就是使时钟的采样沿落在数据的稳定区域。如何能让时钟采样沿落在数据稳定区域呢?实际情况是时钟与数据在电路中传播都有延时,如果建立时间不满足可以让时钟延时大一些,也可以让数据延时小一些,如果保持时间不满足,可以让时钟延时小一些,也可以让数据延时大一些,具体情况具体分析,例如修改逻辑,增加流水,加锁相环移相,input/output delay中还可以改变外部器件的时钟数据相位关系等方法。所有的这些方法都是为了让时钟采样沿落在数据稳定区。实际例子和操作我们后面再具体分析。
2.时序约束情况下,输入信号10M正弦波和方波如下:
在这里插入图片描述
在这里插入图片描述
FPGA采样后保存到ram中,由DSP采集后做显示得到的结果如下:
在这里插入图片描述
在这里插入图片描述
FPGA采样后ila直接抓取数据做显示得到的结果如下:
在这里插入图片描述
在这里插入图片描述
可以看到正确的时序约束后波形的毛刺消失了,采集的信号与输入的信号一致,基本还原了原始输入信号,这是后续信号处理的前提,如果采集数据都不正确,后面也就谈不上数据的计算处理。
这一篇主要通过一个时序约束实例显示了时序约束的重要性,后面会通过vivado工程实例的操作来具体了解一下vivado工具是如何进行时序约束的。

  • 6
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值