数字IC设计学习笔记
多时钟Timing分析 (Multiple clocks)
1. 多时钟之间是整数倍关系
2. 多时钟之间是非整数倍关系
3. 有相位移动的
1. 多时钟之间是整数倍关系
- 静态时序分析计算时钟之间公共的周期。前提:只能算有data path相联系的的两个时钟之间的公共周期
时序图
脚本:
- Create_clock -name CLM \ -period 20 -waveform {0 10} [get_ports CLKM]
- Create_clock -name CLM \ -period 10 -waveform {0 5} [get_ports CLKM]
- Create_clock -name CLM \ -period 5 -waveform {0 2.5} [get_ports CLKM]
时序报告:
Setup检查
- Launch path
- Capture path
Hold 检查
- Launch path
- Capture path
2. 多时钟之间是非整数倍关系
- 取相关时钟的最小公倍数(存在数据交互的相关同步时钟)对静态时序分析进行处理
脚本:
- Create_clock -name CLKM\ -period 8 -waveform {0 4} [get_ports CLKM]
- Create_clock -name CLKQ\ -period 10 -waveform {0 5} [get_ports CLKQ]
- Create_clock -name CLKP\ -period 5-waveform {0 2.5} [get_ports CLKP]
时序图
Case1:从CLKM发数据到CLKP
- 从CLKM的24到CLKP的25,最严苛;
时序报告
Setup检查
- Launch path
- Capture path
Hold检查
-
Launch path
-
Capture path
Case2:从CLKP发数据到CLKM
时序报告
Setup检查
- Launch path
- Capture path
Hold检查
- Launch path
- Capture path
3. 有相位移动的
脚本:
- Create_clock -period 2.0 -waveform {0 1.0} [get_ports CLM]
- Create_clock -period 2.0 -waveform {0.5 1.5} [get_ports CL90]
时序图
时序报告
Setup检查
- Launch path
- Capture path
Hold 检查
- Launch path
- Capture path
总结:
- 相位移动的情况,类似于半周期路径,对hold time很松,对setup很紧
[参考资料]
- 邸志雄老师的课件
- 集成电路静态时序分析与建模
【注】:个人学习笔记,如有错误,望不吝赐教,这厢有礼了~~~