**记录学习,记录成长
静态时序分析,即是对数据在传输路径所花费时间的分析。
其目的是为了在单个时钟的时间内,电路能够完成逻辑功能并将数据正确存储到寄存器中。
这篇博文主要介绍传输模型的一些概念。
目录
1.数据传输模型
静态时序分析一般是对以两个寄存器之间的数据传输路径进行分析。
【问题来了:为什么是两个寄存器,而不是三个、四个寄存器呢 ?
因为在单个时钟周期内只要求数据能够在两个连续的寄存器完成转移即可】
一般来说使用的静态时序分析模型如下图:
时序分析的主要目标是检查电路时序是否收敛,也就是在单个时钟周期内:
①触发器能够正确存储数据 ②组合逻辑功能能够正确实现
下面分别对触发器和组合逻辑进行分析,说明时间是如何被用掉的。
2.触发器
触发器主要完成两个工作:①数据正确存储 ②数据稳定输出
也就是说,触发器上耗费的时间主要完成这两项工作。
如下图所示,在有效时钟沿前,触发器需要将此次到来的数据进行存储;而在时钟沿到来后,则需要将上次存储的数据进行输出。
而达到稳定的存储的状态和输出状态都需要一定时间,如果时间不够,则触发器可能会进入亚稳态。
关于触发器内部的详细结构,后面会再出篇博文详细讲一下。
3.组合逻辑
组合逻辑是实现逻辑运算的主体,也就是花费在组合逻辑上的时间主要用来实现逻辑运算。
当时序不满足时,人们通常会对组合逻辑路径中插入寄存器进行截断,来实现时序收敛。
注:一般来说,触发器性能由制作工艺和制作材料材料决定,在出厂时其时序性能就已经确定无法更改。所以在出现时序不收敛时,一般会在组合逻辑路径中插入寄存器或者优化算法来获得更好的时序。
4.时间分配
为方便对时序进行分析,定义下面几个时间段:
Tsu:触发器的数据建立时间。也就是触发器对到来的数据进行正确存储所需的时间。【su = setup】
Tco:在时钟沿到来后,触发器的输出达到稳定状态所需时间。【co = clk-->output】
Tdata:数据在两个寄存器之间传输所需时间。包括组合逻辑延迟和线延迟。
5.FPGA实现
传输模型与FPGA结构对应如下: