时间序列分析是FPGA设计中永恒的话题,也是FPGA开发者推进设计的必由之路。慢慢来,介绍一些时间序列分析的基本概念。
时钟时序特性主要分为抖动、偏斜和占空比失真。对于低速设计,基本不考虑这些特性;对于高速设计来说,时钟本身引起的计时问题是很常见的,一定要注意。
时钟抖动(时钟抖动)
理想的时钟信号应该是理想的方波,但现实中时钟的边沿变化不能是瞬态的,它有一个从低到高/从高到低的变化过程,如下图所示。
有三种常见的抖动参数:
周期抖动(Period Jitter):周期抖动率(Period Jitter)测量时钟输出传输偏离其理想位置的最大偏离。Period Jitter代表周期差抖动的上下边界。 周期差抖动(cycle-to-cycle Jitter):周期差抖动率(cycle-to-cycle jitter)是两个相邻周期的时间偏差。它总是小于周期抖动(period jitter) 长期抖动(Long-term Jitter):长期抖动率如下图(Long-Term Jitter)定义为一个时钟沿相对于基准周期时钟沿经过一段时间的延时之后,与其理想位置的偏离。此测量可以捕获锁相环低频周期变化(缓慢的,频率很低的)。长期抖动对图形、串行连接通讯系统、打印机和任何光栅扫描操作非常重要。时钟抖动的原因是噪声。时钟抖动一直存在。当它大到可以与时钟周期相比时,就会影响设计。这种抖动是不可接受的。
时钟偏斜(时钟偏斜)
时钟信号要提供给整个电路的定时单元,所以时钟信号线很长,构成一个分布式的RC网络。它的延迟与时钟线的长度、负载电容和时序单元的数量有关,因此出现所谓的时钟偏移。时钟偏移(Clock offset)是指同一时钟信号到达时,两个不同寄存器之间的时间差,根据时间差可分为正偏移和负偏移。
计算时钟偏移的公式为Tskew = Tclk2-Tclk1
时钟偏移一直存在,大了会影响电路的时序。解决方法是在FPGA设计中让主时钟信号通过全局时钟网络。网络采用全铜工艺和树形结构,并设计了专用的时钟缓冲和驱动网络。所有输入输出单元、CLB和块内存的偏移量非常小,可以忽略。
空的占空比失真(DCD)
即时钟不对称,时钟的脉冲宽度发生变化。DCD将消耗大量的定时裕量,这将导致数字信号失真,并使过零间隔偏离理想位置。DCD通常是由信号上升沿和下降沿之间的不同时序引起的。
信号的扇入/扇出
扇出是一个术语,定义了单个逻辑门可以驱动的最大数字信号输入量。大多数TTL逻辑门可以为其他十个数字门或驱动器提供信号。因此,一个典型的TTL逻辑门有10个扇出信号。
在一些数字系统中,必须有一个TTL逻辑门来驱动10个以上的其他门或驱动器。在这种情况下,可以在TTL逻辑门和它必须驱动的多个驱动器之间使用一个称为缓冲区(buf)的驱动器。这种类型的缓冲器有25到30个扇出信号。在大多数数字电路中,逻辑反相器(也称为非门)可以辅助这一功能。
一个模块的扇出指的是该模块正下方的模块数量。一般认为,设计良好的系统的平均扇出是3或4。模块扇出数过大或过小,比过小更严重。一般认为扇出上限不超过7。扇出过多意味着管理模块过于复杂,需要控制和协调太多下属。解决办法是适当增加中层。一个模块的扇入是指有多少上级模块调用它。
风扇越大,共享模块的上级模块越多。这当然是我们想要的。但是我们不能为了得到高粉丝而不择手段。例如,不相关的功能放在一起形成一个模块。粉丝虽然多,但这样的模块凝聚力必然低,我们要避免。在设计良好的系统中,上部模块具有较高的扇出,而下部模块具有较高的扇出。它的结构形象是清真寺塔,顶部尖,中间宽,底部小。
时间序列分析的起点和终点
启动边沿:第一级寄存器数据变化的时钟边沿,也是静态时序分析的起点。
锁存器边沿:数据锁存器的时钟边沿,也是静态时序分析的终点。
数据输出延迟(Tco)
数据输出延迟(Tco):该时间是指时钟有效沿改变后,从输入端到输出端的最小时间间隔。
设置时间(设置时间)
建立时间是指在触发器时钟信号上升沿之前数据稳定的时间。输入信号应在时钟上升沿之前的芯片t时间到达(如果上升沿有效),该t是建立时间。简而言之,在时钟沿触发之前,数据必须存在一段时间,即器件所需的建立时间。如果不满足建立时间,数据不能通过该时钟输入触发器,只有在时钟的下一个上升沿,数据才能输入触发器。
保持时间(保持时间)
保持时间是指触发器时钟信号上升沿后数据稳定的时间。简而言之,时钟沿触发后,数据必须保持一段时间才能稳定读取,这是器件所需的保持时间。如果保持时间不够,数据就不能输入触发器。
如果不满足建立和保持时间,DFF (D型触发器/D型触发器)将无法正确采样数据,这将导致亚稳态。如果时钟沿触发前后的数据信号持续时间超过建立时间和保持时间,则超出部分分别称为建立时间裕量和保持时间裕量。
数据到达时间(数据到达时间)
输入数据在有效时钟沿后到达所需的时间。有三个部分:时钟到达时间(Tclk1)、寄存器输出延迟(Tco)和数据传输延迟(Tdata)。
数据到达时间的计算公式:
数据到达时间=启动边缘+Tclk 1+总拥有成本+ Tdata
时钟到达时间(时钟到达时间)
时钟从锁存边沿到达锁存寄存器的时钟输入所用的时间就是时钟到达时间。
时钟到达时间的计算公式:
时钟到达时间= Lacth边沿+ Tclk2
设置时差(设置时差)
当数据需求时间大于数据到达时间时,就说有时间余量。松弛是一个标题,表示设计是否符合时间顺序。
建立保证金的计算公式:
设置时差=数据所需时间-数据到达时间
正松弛表示数据需求时间比数据到达时间长,满足时序(时序余量),负松弛表示数据需求时间比数据到达时间短,不满足时序(缺少时序)。
最大时钟频率
最小时钟周期:系统时钟可以运行的最高频率。
当数据需求时间大于数据到达时间时,时钟具有余量当数据需求时间小于数据到达时间时,不满足时序要求,寄存器经历亚稳态或者不能正确获得数据当数据需求时间等于数据到达时间时,这是最小时钟运行频率,刚好满足时序最小时钟周期是数据到达时间等于数据需求时间。
时间序列
根据上图的分析,从上一个触发器到下一个触发器的数据传播路径的总数据延迟为TCL k1+TCO+tdata+t setup-slack+tsu。
两个寄存器之间的时钟间隔为Tclk+Tclk2。
根据建立时间要求(当时钟的下一个上升沿到来时,数据必须稳定并保持一定时间Tsu),可以列出一个不等式:数据延迟时间间隔,即TCL K1+TCO+TDATA+TSetup-slack+TSU = TCL K+TCL K2。
同理,根据保持时间要求(当寄存器在时钟上升沿后锁存数据时,数据应保持稳定一定时间th),可以列为Tco+Tdata = Th。
随着系统时钟fclk的增加,Tclk变小,Tco+Tdata也变小。当Tco+Tdata不满足第一个不等式时,它就不满足建立时间要求。然而,Tco+Tdata并不尽可能小。当太小,不满足第二个不等式时,触发器不能正常锁存数据,即不满足保持时间要求。从某种意义上说,Th限制了数据传输速率。
对于设计人员来说,最大的目的是提高时序裕量,使系统即使在信号完整性出现问题或者外部环境发生变化的情况下,仍然能够正常工作,这是一个设计良好的系统应该表现出来的超稳定性。
1.《dutycycle 时序分析的一些基本概念》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《dutycycle 时序分析的一些基本概念》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/junshi/1229816.html