《同步电路时序分析》

内容:

1. 了解时序,并掌握时序的本质;

2. 分析时序;

3. 时序约束;

一:时序基础

所谓时序就是信号之间随着时间的变化,所谓表现出一种固定的逻辑关系(与或非…),以及相位关系(延迟)。

设计数字电路本质上就是满足所有信号的时序关系,时序是数字电路设计的灵魂。

1.1时序检查

检查时序是我们设计数字电路的基本技能,逻辑关系通过仿真工具(modelsim )通过软件算法模拟信号之间关系,以及理想情况下的相位关系,即使假如延迟,模拟真实的相位关系,也可以局部查看信号之间相位关系,不能够全面的排查相位关系变化情况,此时就采用静态算法分析时序。

forum.jpg

示意图

1.2同步电路与异步电路

静态时序分析只能针对同步电路,对于异步电路无法进行分析,因为异步信号之间的相关不确定。


1.2.1同步电路

所谓同步电路本质上指的是信号之间的相位关系是可预测的;

forum.jpg

相位关系

1.2.1.1时序逻辑

时序逻辑信号之间逻辑值变化都发生在时钟沿,如果沿是确定的则为时序逻辑。

1. 同一时钟

同一时钟,信号逻辑值变化可预测;

2. 不同时钟

不同时钟下,信号逻辑值变化是否可预测取决于时钟沿之间关系是否确定,时钟沿是否确定取决于时钟之间因果关系;


1.2.2异步电路

异步电路是相位关系不可预测。

1.2.2.1组合逻辑

纯组合逻辑由于信号逻辑值变化不可预测,所以收它属于异步电路,对于时序电路,如果是多个时钟的情况下,时钟之间没有因果关系;


1.2.3同步电路设计原则

通过以上分析可以看出,在设计数字电路的时候采用同步电路设计原则。


1.2时序与FPGA

FPFGA是设计数字电路的工具,数字电路又必须满足相位时序要求,信号经过任何电子电子器件都会存在延迟,延迟必然会改变信号之间相位关系,一旦相位关系被改变有可能会给电路带来不稳定因素。

forum.jpg

不确定因素

1.2.1建立保持时间

在数字电路同步电路中,相位变化对电路影响就是对触发器的影响。因此时序分析的本质就是分析信号是否满足所有的触发器的建立时间和保持时间。

1.2.2亚稳态

一旦触发器出现建立时间或者保持时间不满足,触发器内部电压不稳定,输出的值也不确定,我们把这种状态叫做亚稳态。

forum.jpg

亚稳态

always @(posedge clk )begin

S2<=s1;

S3<s2;

end

1.3延迟

在数字电路设计中延迟是改变信号相位关系的根本因素,在FPGA中延迟有以下2种:

forum.jpg

延迟

时序分析工具

过穷尽的算法提取所有节点的路径,根据布局布线自动计算延迟,通过经典时序分析模型计算余度,从而判断是否存在亚稳态。

forum.jpg

分析方法

三,时序约束


通过工具进行时序分析,在分析前我们先要和工具进行握手,通过约束告诉时序分析工具你的要求。

forum.jpg

时序约束

3.1 vivado最大时钟频率计算

Fmax= 1/(T-WNS)


3.2时序解决


always @(posedge clk)

y<=(a*b) + (a-b) ;

Reg a1,12;


always @(posedge clk)begin

a1<=a*b;

a2<=a-b;

y<=a1+a2;

end