1. 基本时钟约束:creat_clock
2. 生成时钟约束:creat_generated_clock
3. I/O输入输出约束:(1)纯组合逻辑:set_max_delay & set_min_delay(2)时序逻辑:同步I/O接口:set_input_delay & set_output_delay;源同步接口:数据和时钟来自同一个主设备,可以简化(2)中的公式。
双向口时序约束:set_input_delay & set_output_delay_add_delay。
4.时序例外:(1)False Paths:测试逻辑、静态寄存器和使用同步电路连接异步时钟域(跨时钟域),set_false_path;(2)多周期路径Multicycle Paths:数据不需要在下一个时钟稳定或者经过路径延时太长,不可能在下一个时钟稳定;不同时钟域,但有确定相位关系,set_false_path。多周期例外调整时序要求以允许Filtter优化布局布线,与电路功能无关。
下面总结下使用TQ步骤:
1. 综合
2. 创建时序网表(post_map),创建SDC文件,更新网表
3. 验证setup、hold时序(慢速时钟模型不满足hold不是大问题,只要满足快速时序模型即可,可通过物理综合解决,优化布局布线,后面使用post_fit netlist)
4. 利用SDC指导Quartus II适配(fitter),重新编译
5. 利用TQ验证时序,这次创建post_fit网表
SDC文件:1.基本时钟和生成时钟 2.I/O约束 3.约束异步信号和时序例外
增加SDC命令,选择reset design可观察变化(一直是post_map)