时序就是时钟序列,给寄存器作为数据的传递
时钟和复位是属于异步的关系
LUT查找表,所以的组合逻辑都是靠它生成,时序逻辑是靠触发器生成
一个LAB(单元)里面有16个LE(根据器件不同应该不同吧)
RAM是FPGA里面的硬件资源
自分频的时钟是没法布到全局时钟网络
全局时钟网络可以降低时钟偏斜
reg1是源端寄存器,reg2是目标寄存器
Ts建立时间是指采样寄存器即目标寄存器用来采样,采样时钟上升沿到达数据的起始位置,描述了采样时钟上升沿和数据的相位关系
Tsetup建立时钟门限在采样时钟的上升沿到了之前,最小的数据保持稳定时间。
建立时间余量skew = 建立时间-建立时间门限 >= 0
Th保持时间,上升沿和数据的结束位置
Thold保持时间门限,数据采样结束后的最小保持时间
保持时间余量skew = 保持时间 - 保持时间门限 >= 0
保持时间违例:如果数据和数据传输时候延时都非常小
建立时间违例: 数据路径延迟大
建立时间门限和保持时间门限只能通过换器件进行改变
触发器的建立时间要求为:T_setup,保持时间要求为:T_hold
路径①延时为:T1 ; 路径②延时为:T2;路径③延时为:T3
时钟周期为T_cycle
Ts = (T_cycle + ΔT) - T1
Th =T1-ΔT
ΔT = T3 - T2,则
条件1.如果T_setup < Ts,即T_setup < (T_cycle + ΔT) - T1,这说明信号比时钟有效沿超过T_setup时间到达REG的D端,满足建立时间要求,反之则不满足。
条件2.如果T_hold < Th 即T_hold < T1 - ΔT,这说明在时钟有效沿到达之后,信号能维持足够长的事件,满足保持时间要求,反之则不满足。
从条件1和条件2可以看出,当ΔT > 0时,T_hold受影响;当ΔT < 0 ,T_setup受影响。
如果我们采用的是严格的同步设计电路,即一个设计职业一个clk。并且来自时钟PAD或者时钟BUFF(全局时钟) ,则ΔT对电路的影响很小,几乎为0,。如果采用的是异步电路,设计中时钟满天飞,无法保证每一个时钟都来自强大的驱动BUFF(非全局时钟)。所以一般建议采用同步电路。
来源:CSDN
作者:day day learn
链接:https://blog.csdn.net/weixin_43727437/article/details/103772378