电路的时序

  • 延时路径:3条通道.
    1. 从输入端口到寄存器,in2reg.
    2. 从寄存器到寄存器,reg2reg.
    3. 从寄存器到输出端口,reg2out.
  • 路径2不仅包括从寄存器AA到寄存器BB的走线,还包括寄存器内部从clk到Q端的延时,即一个信号从被采样到被输出,中间的延迟。
  • 分析时序(Timing),就是3种路径上的延时是否满足寄存器的要求,因此分析工具会先辨认出一个设计中有哪些路径,然后将每条路径进行时序分析。路径的端点只有寄存器和端口,没有组合逻辑,因此,分析时序时,不能从组合逻辑开始,也不能以组合逻辑结束。从复位信号rst_n到q端输出,也是时序分析的一部分。
  • 时序分析的本质就是分析从寄存器到寄存器的延时,即使是输入端口、输出端口,也被想象为在设计的外面存在两个寄存器。因此,数字设计师所写的代码才被称为RTL,即在设计师眼中,看到的只是一个个的寄存器,其它组合逻辑是依附和伴随寄存器而生的。
  • eg. 研究一条路径的时序问题就是考量信号b从寄存器AA出来后,经过组合逻辑,变为信号c后,再到达下一个寄存器BB的输入端口的时间,是否满足寄存器BB对输入信号c到达时机的一些要求。如果满足这些要求,就称为时序满足(Meet),否则称为时序不满足或违规(Violate)。一个数字设计在时序分析方面追求的目标是整体谁急中的全部寄存器的时序都满足,只有这样,功能才不会出错。
  • 寄存器DFF在采样其D端上的输入信号时主要有两个要求:建立时间(Setup Timing)和保持时间(Hold Timing),输入信号必须在时间窗口内保持不变(setup and hold)
  • 当时序不满足时,会导致寄存器的输出信号d变为不定态(亚稳态),即x态,随着d将错误的x态信号向下传播,整个电路功能将发生紊乱。

你可能感兴趣的:(SoC/ASIC设计原理,fpga开发)