Constraints_Editor学习记录
Constraints Editor 概述
约束设定放置位置、实现资源类型、名称、信号方向以及针对时序分析和设计实现的时序考虑;Xilinx逻辑约束保存在UCF文件中
- 指定全局时序约束
- 指定端口时序约束
- 创建资源子集和时序检测点以进行时序约束
- 利用子集和时序检测点实现时序约束的远期优化
- 可进行多维约束,包括内存、FIFO、锁存器等的初始化
1. 相关文件
l UCF:用户约束文件,由用户定义/软件保存在一个或多个文件中
l NGD:本地设计文件,作为映射的操作对象(生成NCD和PCF文件)
2. 全局/端口右键快捷操作
Period: 设定时钟周期
Pad to Setup: 输入数据建立时间
Clock to Pad: 输出时钟到达时间
3. 其它右键快捷操作
Delete: 删除约束
Enable/Disable Constraint: 开启/禁用约束
Create Constraint: 创建约束
Edit Constraint: 编辑约束
4. 约束界面操作
l 全局约束(针对每个时钟网进行周期、输入传输时间、时钟输出延迟等约束设置)
l 端口约束(创建端口集合,端口方向、位置、输入传输时间/时钟输出延迟等约束设置)
l 集合约束(输入传输时间、时钟输出延迟、慢/块路径例外、多时钟路径、失败路径[可忽略路径]、通过连线定义的失败路径)
l 多方约束(创建区域集合、网线的低偏斜应用、标记异步寄存器、指定寄存器到IOBs、初始化BRAM/ROM/移位寄存/FIFO/锁存器、限制电压/温度/DCM分析用反馈延迟)
主要进行约束创建、设置、删除、使能和禁用等操作。
5. 约束文本编辑:直接进行文本的编辑实现相关约束设置
6. 集合约束构建
l 创建集合(根据网线/实例名称/层次结构/单元类型/时钟边沿/DCM输出引脚等)
l 创建端口集合(实现一次对多端口的配置)
l 创建TNM/FROM-THRU-TO/TIMEGRP/TIMESPEC约束;从时序集合来创建区域集合
7. 约束参数设置
l 异步寄存器设定(指定资源为异步的)
l 独立时钟周期/关联时钟周期设置,详细设置见弹出对话框
l 端口到端口设置(最大传输时间)
l 端口到同步输入建立时间(可创建寄存器组,定义上升/下降沿、单/双速率等)
l 时钟到输出端口传输时间(可定义上升/下降沿、单/双速率等)
推荐学习
文档程序:Xilinx ISE Help/Software Help/Constraints Editor Help
Constraints Guide 10.1