1、建立保持余量公式总结:
建立余量公式setup slack= 数据锁存时间 - 数据抵达时间
数据抵达数据 data arrival time = 启动沿 + tclk1 +tco +tdata
数据获取时间 data required time = 锁存沿 + tclk2 -tsu=理想的建立关系 + tclk2-tsu
例图:
保持余量公式(复杂版)
保持余量hold slack = 数据保持时间 - 数据获取时间
数据保持时间data hold time = 启动沿 + tclk1 +tco +tdata +数据周期
数据获取时间data required time = 锁存沿 + tclk2 + th
例图:红色 — 绿色
保持余量公式(简单版)
保持余量hold time = 数据抵达时间 - 数据获取时间
数据抵达时间data arrival time = 启动沿 + tclk1 +tco +tdata
数据获取时间data required time = 锁存沿 + tclk2 +th= 理想的保持关系 + tclk2 +th
例图:红色 — 绿色
Tclk:clk到达reg的延时
Tco:寄存器内部将数据从D端发送到Q端所需要的最小持续时间。
Tdata:第一级寄存器的Q端到第二级寄存器的D端的物理总线的延时。
Tsu:建立时间。
Th:保持时间。
2、建立时间与保持时间
1)定义
建立时间Tsu:寄存器将数据从D端锁存数据前,数据需要准备好的最小准备时间。
保持时间Th,寄存器在D端锁存数据后,数据还需要保持的时间叫做最小确保时间。
如果这两个时间不满足的话,输入的数据不能打入寄存器。
2)Tsu和Th与建立余量和保持余量有关,因为这两个余量必须>=0,所以由建立余量公式和保持余量公式得到:
理想状态下(无时钟延迟):
Tsu <= 时钟周期 - Tco - Tdata (这两个Tco和Tdata是前一级寄存器的)
Th <= Tco - Tdata(这两个是所求哪一级寄存器的保持时间的寄存器的属性)
———————————————————————————————————————————
!!!以上括号里的均为个人理解,如有不对请指出,^-^。
———————————————————————————————————————————
参考链接: