您的位置:首页 > 其它

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中的模块,但不遍历以下层次中的模块
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: