FPGA时序分析与约束(3)——时钟不确定性

一、前言

在之前的文章中,我们介绍了组合电路的时序和时序电路的时序问题,在阅读本文章之前,强烈推荐先阅读完本系列之前的文章,因为这是我们继续学习的理论的理论基础,前文链接:

FPGA时序分析与约束(2)------时序电路时序

本文我们将介绍时钟相关的时序问题

二、时钟定义

大家对于时钟肯定并不陌生,没有了时钟信号,时序电路就无法运行。时钟信号如果不规律,或伴随噪声,就有可能打乱电路的运行秩序,使得设计无法正常实现。FPGA设计最基本的时钟通常来源于时钟外部时钟晶振,它能够提供相对稳定的周期性波形,FPGA内部也集成了PLL,MMCM等时钟管理模块,能够对于基准时钟做分频和倍频。FPGA的时序分析中,数据路径的起始和结束都是时钟边沿,时钟周期作为一个标准的时钟基准,它的准确性尤为重要。

理想的时钟模型是一个占空比为50%且周期固定的方波。

如上图所示,Tclk为一个时钟周期,时钟周期的倒数1/Tclk就是时钟频率。T1为高脉冲时间宽度,T2为低脉冲时间宽度, Tclk = T1+T2 。时钟信号的高脉冲宽度与周期之比T1/Tclk即为这个时钟信号的占空比。

三、时钟抖动Clock Jitter

理想的时钟是一个完全稳定的方波,但是实际的方波是存在一定波动的。时钟抖动(clock jitter)指的在某一个给定的点上时钟周期发生短暂性变化,使得时钟周期在不同的周期上可能加长或者缩短。(两个时钟周期存在差值,是时钟发生器内部产生的,和晶振或者PLL内部电路有关,一般可能是晶振源固有的噪声和干扰,布线对其没有影响);它是频率上的不确定。

  时钟边沿的变化不可能总是理想的瞬变,它总会有一个从高到低或者从低到高的变化过程;这就导致某一个给定的点上时钟周期发生短暂性变化,使得时钟周期在不同的周期上可能加长或者缩短,产生时钟抖动。时钟抖动可以通过改进时钟信号源和减少电磁干扰来减少。一般来说,高精度的时钟信号源可以减少时钟抖动。

虽然时钟抖动一般都是(ps)级别的,但是对于几百MHZ的时钟频率来说,时钟抖动的占比还是不能忽视的。所以FPGA时序分析中,也会把时钟抖动作为时钟不确定性的一部分加以约束。

四、时钟偏移Clock Skew

我们之前讨论过组合电路和时序电路的时序问题,但是其实时钟本身在传播过程中也是存在时延的,刚刚讨论的时钟抖动是时钟自身产生的,而这里的时钟偏移,是由于时钟在传播过程中无法保证同时到达芯片上每一个部分造成的。

考虑到时偏移的存在,针对之前文章中的建立时间和保持时间时序要求就要进一步优化

对于建立时间来说,我们考虑最差的时钟偏移情况:时钟先到达了R2

对于保持时间来说, 同样考虑最差的时钟偏移情况:时钟先到达R1

五、时钟不确定性Clock Uncertainty

Clock Uncertainty,即时钟的不确定性。时钟的不确定性主要是由时钟偏移Clock Skew和时钟抖动Clock Jitter构成。所以Clock Uncertainty = Clock Skew + Clock Jitter。大家搞明白什么是Skew和Jitter,那么也就明白什么是Clock Uncertainty。

一般来说,由FPGA内部集成的PLL产生的时钟信号,FPGA编译工具在做时序分析的时候可以直接套用既有的模型给出时钟的时序参数,作为一部分需要预留的时序余量计算在内。而外部晶振所提供的时钟信号,设计者需要指定相关的时钟时序参数,以时序约束的方式告知FPGA编译工具。

六、总结

本文主要介绍了FPGA中时钟的不确定性问题,FPGA中的时钟不确定性由2部分组成,时钟抖动和时钟偏移,时钟抖动由时钟内部产生,是时钟的固有参数,时钟偏移是由于时钟到达不同部分的时间不一致导致的,与FPGA的设计结构,布局布线等有关。

相关推荐
Terasic友晶科技4 小时前
【教程】Agilex 5 SOC FPGA的HPS端如何响应FPGA端中断(二)——修改Quartus工程(GHRD工程)
fpga开发·terasic·agilex 5 soc·ghrd工程
sramdram5 小时前
FPGA系统SRAM外扩芯片选型与工程应用要点
fpga开发·sram·fpga系统·外扩芯片·sram外扩芯片
明德扬7 小时前
FPGA下载成功但上电不运行怎么查?配置Flash、启动模式与电源时序
fpga开发·fpga
努力搬砖的小H8 小时前
FPGA应用技巧之DDR3读写自检方案设计与IP仿真总结
经验分享·功能测试·fpga开发·modelsim·ddr3
bingcheby9 小时前
PS通过AXI总线控制PL的LED灯实验之四---编程下载调试
驱动开发·fpga开发·iar
国科安芯9 小时前
小卫星综合电子系统中RISC-V抗辐射MCU的功能安全与多接口集成架构分析
单片机·嵌入式硬件·安全·fpga开发·架构·risc-v
HUSTCH20211 天前
FPGA中的LUT和DSP
fpga开发
Riwuarua1 天前
从近似0基础开始FPGA开发 -- part.4 FPGA-PS(MicroBlaze)
fpga开发
zlinear数据采集卡1 天前
FRAM铁电存储器原理深度解析:D223校准参数的“永久保险箱“
arm开发·人工智能·stm32·单片机·fpga开发·开源
明德扬2 天前
Quartus Prime Pro 26.1 更新了什么?Arria 10 FPGA 工程升级与迁移注意事项
fpga开发