建立保持时间的基本概念
1. 建立时间
建立时间,也就是数据在时钟达到之前需要维持稳定的时间。以时序逻辑中常见的D触发器为例,数据从D端口开始,当时钟边沿到达,数据电平开始影响输出,直至输出等于输入。这个过程中,数据电平需要提前于时钟,以确保数据不会由于触发器内部延时导致数据丢失。
2. 保持时间
保持时间,也就是数据在时钟到达后需要维持稳定的时间。时钟不可能在边沿一结束就将触发器稳定关闭,如果此时数据过早变化,则数据可能会被二次修改。
3. 延时
建立时间和保持时间不是实际的延时,只是一个可以接受的范围。延时是存在于物理硬件上的,建立保持时间是基于延时得到的。建立保持时间和延时的加和构成了时序收敛的条件。收敛的特征简单理解就是一个周期内,数据能够跨过所有的延时完成数据的延时。
建立保持时间的作用
1. 时序分析
建立时间和保持时间是静态时序分析的两个主要方向。通过解析建立时间余量和保持时间余量可以有效得到数据的传输稳定与否。(大部分情况下是理论上的稳定)
2. 性能优化
根据时间余量,可以了解那个部分的设计速度较快,哪个部分的速度慢。用速度快得替换速度慢的,即可得到更高性能的设计。
建立保持时间的理解
建立时间等于本时钟发送数据的时间减去本时钟到达的时间;
保持时间等于上一个时钟到达的时间减去本时钟发送数据的时间;
建立时间就是能否按时在下一个周期接受到数据;
保持时间就是能否稳住上一个周期的数据;
具体设计内容可以从时序分析报告中查看。