FPGA开发之约束的简介
2014-08-01 21:19
295 查看
约束是对指定设计的一些要求:
引脚位置约束:将模块的端口和FPGA的引脚对应起来;
时序约束:保证在高速时钟下设计的可靠性;
还有电平约束(低功耗设计)。
为了实现约束,需要约束文件。约束文件有用户设计文件(.UCF,这是用户在设计的时候自己写的),网表约束文件(.NCF,设计综合的时候生成,这是自动生成的,和UCF都是一样的,当两者冲突的时候,UCF具有最高的优先级)以及物理约束文件(.PCF,一部分是映射生成的物理约束,还有一部分是用户输入的约束)。
接下来说一下怎么写UCF文件。
1、语法:
{NET | INST | PIN}
“signal_name” Attribute
信号名 属性
信号名:要用引号,防止与保留字和关键字重名。
注释:使用#或者/**/。
2、通配符:使用“*”表示任何字符串以及空;“?”代表一个字符。在编辑约束文件时,在编辑约束文件时,使用通配符可以快速选择一组信号。
举个栗子:NET “*CLK?” FAST; #提高其速率。
INST “/CLK_logic/*” LOC = CLB_r*c7;
/*把CLK_logic层次中所有的实例放到第七列的CLB中*/
3、定义设计层次:使用通配符“*”指定信号的设计层次。具体实现如下:
* #遍历所有层次
Level1/* #遍历Level1及以下层次中的模块
Level1/*/ #遍历Level1中的模块,但不遍历以下层次中的模块
引脚位置约束:将模块的端口和FPGA的引脚对应起来;
时序约束:保证在高速时钟下设计的可靠性;
还有电平约束(低功耗设计)。
为了实现约束,需要约束文件。约束文件有用户设计文件(.UCF,这是用户在设计的时候自己写的),网表约束文件(.NCF,设计综合的时候生成,这是自动生成的,和UCF都是一样的,当两者冲突的时候,UCF具有最高的优先级)以及物理约束文件(.PCF,一部分是映射生成的物理约束,还有一部分是用户输入的约束)。
接下来说一下怎么写UCF文件。
1、语法:
{NET | INST | PIN}
“signal_name” Attribute
信号名 属性
信号名:要用引号,防止与保留字和关键字重名。
注释:使用#或者/**/。
2、通配符:使用“*”表示任何字符串以及空;“?”代表一个字符。在编辑约束文件时,在编辑约束文件时,使用通配符可以快速选择一组信号。
举个栗子:NET “*CLK?” FAST; #提高其速率。
INST “/CLK_logic/*” LOC = CLB_r*c7;
/*把CLK_logic层次中所有的实例放到第七列的CLB中*/
3、定义设计层次:使用通配符“*”指定信号的设计层次。具体实现如下:
* #遍历所有层次
Level1/* #遍历Level1及以下层次中的模块
Level1/*/ #遍历Level1中的模块,但不遍历以下层次中的模块
相关文章推荐
- SystemVerilog语言简介(三) 分类: 硬件开发_FPGA 2013-10-09 16:52 540人阅读 评论(0) 收藏
- FPGA开发之时序约束(周期约束)
- SystemVerilog语言简介(一) 分类: 硬件开发_FPGA 2013-10-09 16:49 468人阅读 评论(0) 收藏
- FPGA开发之FPGA开发流程简介
- FPGA开发之引脚和区域约束语法
- Intel FPGA SDK for OpenCL 简介和开发流程
- 阿里云FPGA云服务器F1简介及开发与部署
- SystemVerilog语言简介(二) 分类: 硬件开发_FPGA 2013-10-09 16:51 438人阅读 评论(0) 收藏
- Xilinx FPGA用户约束文件(转自xilinx ISE 开发指南
- 微软公司软件开发模式简介
- 基于 Windows Mobile 的 Pocket PC 和 Smartphone 的开发工具简介
- Eclipse简介和插件开发
- RIA开发环境--Laszlo简介
- 使用.net开发手机管理软件 (九) 短信部分——PDU简介及其格式
- 嵌入式 Linux 开发简介
- Spring Framework 开发参考手册 之一 简介
- 嵌入式Linux开发简介
- jboss下开发部署ejb简介
- FPGA 简介
- 微软公司软件开发模式简介