时序分析未完待续
一、建立时间
建立时间要求,指的就是要想寄存器能够如期地工作,在有效的时钟边沿信号到来之前,D端口上的数据至少需要持续保持稳定不变的时间,也就是寄存器能够正常工作所允许的最小 tsut_{su}tsu。注意,建立时间要求也可能为零甚至负数,它跟寄存器的类型和具体实现结构有关。
建立时间余量
建立时间余量 = $t_{su} $- 建立时间要求。如果建立时间余量大于或等于0,则表示寄存器能够正常工作;否则,表示寄存器无法实现预期功能。
二、保持时间
保持时间,英文全称 hold time。与建立时间相对应,保持时间是指在有效的时钟边沿信号到来之后,端口D上数据持续稳定不变的时间。
保持时间要求
保持时间要求,指的就是要想寄存器能够如期地工作,在有效的时钟边沿信号到来之后,D端口上的数据至少仍需要持续保持稳定不变的时间,也就是寄存器能够正常工作所允许的最小tₕ。注意,建立时间要求也可能为零甚至负数,它跟寄存器的类型和具体实现结构有关。
保持时间余量
保持时间余量 = t h t_h th- 保持时间要求。如果保持时间余量大于等于0,则表示寄存器能够正常工作;否则表示寄存器无法实现预期功能。
- tco
时钟至输出延迟,英文全称 clock to output delay。当寄存器clk端口的时钟信号与D端口的数据信号的时序关系满足建立时间和保持时间要求时,tco指的就是从时钟有效边沿到达寄存器时开始,到端口Q上稳定得到D端口采样时的时间, - Maximum frequency (or Minimum period)
最大时钟频率(或最小时钟周期),指的是在确保FPGA设计能够正确实现其功能的前提下,时钟信号所能允许的最大频率(或最小时钟周期)
三、影响延迟的因素
温度和电压
温度越高,各类延迟越大
电压越高,各类延迟越小。但是电压越高,功耗越大,从而也会引起温度的升高,并且电压过高会让期间承担过重,减少器件的寿命
四、时钟信号的偏差
1. 时钟偏斜(Clock Skew)
定义:
- 时钟偏斜是指:同一个时钟信号,在不同位置(比如同一芯片不同寄存器/触发器)到达的时刻不一样,产生了“提前/滞后”的现象。
举个例子:
- 理想情况下,时钟在所有地方都应该同时到达。但由于线路长短、电路负载不同、驱动能力不同,A点的时钟信号可能比B点早到,或者晚到,这个时间差就是时钟偏斜。
直观比喻:
- 一群人听到同一个哨声起跑,理想中大家同时出发。实际有人先听到,有人慢半拍,这就是偏斜。
时钟偏斜的影响
- 正偏斜(positive skew): 下游触发器比上游晚收到时钟,有时能缓解setup压力,但恶化hold。
- 负偏斜(negative skew): 下游比上游更早收到时钟,会导致setup更难满足,容易setup violation。
- 极端情况下: 偏斜太大,会导致数据采样错误(setup/hold不满足),电路功能异常。
2. 时钟抖动(Clock Jitter)
定义:
- 时钟抖动是指:同一个位置的时钟信号,每一次到达的时刻都有微小的不可控变化(有点像钟表“时快时慢”),是“时间不稳定性”。
来源:
- 电源噪声、温度漂移、信号串扰、PLL/振荡器自身误差等。
比喻:
- 比如钟表本应每秒一响,但有时候提前一丁点,有时延后一点点,就是抖动。
影响:
- 抖动过大会让时序裕量变小,增加setup/hold违例风险,尤其影响高速数据传输和精准同步系统。