请选择 进入手机版 | 继续访问电脑版

fpga论坛|fpga设计论坛

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 593|回复: 3

UCF文件的语法说明

[复制链接]
小舍YZ 发表于 2017-7-1 11:12:57 | 显示全部楼层 |阅读模式
UCF文件的语法说明

1.语法

        UCF文件的语法为:

{NET|INST|PIN} "signal_name" Attribute;

其中,“signal_name”是指所约束对象的名字,包含了对象所在层次的描述;“Attribute”为约束的具体描述;语句必须以分号“;”结束。可以用“#”或“/* */”添加注释。需要注意的是:UCF文件是大小写敏感的,信号名必须和设计中保持大小写一致,但约束的关键字可以是大写、小写甚至大小写混合。例如:

NET "CLK" LOC = P30;

“CLK”就是所约束信号名,LOC = P30;是约束具体的含义,将CLK信号分配到FPGA的P30管脚上。

对于所有的约束文件,使用与约束关键字或设计环境保留字相同的信号名会产生错误信息,除非将其用" "括起来,因此在输入约束文件时,最好用" "将所有的信号名括起来。

2.通配符

在UCF文件中,通配符指的是“*”和“?”。“*”可以代表任何字符串以及空,“?”则代表一个字符。在编辑约束文件时,使用通配符可以快速选择一组信号,当然这些信号都要包含部分共有的字符串。例如:

NET "*CLK?" FAST;

将包含“CLK”字符并以一个字符结尾的所有信号,并提高了其速率。

在位置约束中,可以在行号和列号中使用通配符。例如:

INST "/CLK_logic/*" LOC = CLB_r*c7;

把CLK_logic层次中所有的实例放在第7列的CLB中。

3.定义设计层次

       在UCF文件中,通过通配符*可以指定信号的设计层次。其语法规则为:

* 遍历所有层次

Level1/* 遍历level1及以下层次中的模块
Level1/*/ 遍历level1种的模块,但不遍历更低层的模块

例4-5 根据图4-75所示的结构,使用通配符遍历表4-3所要求的各个模块。
图4-75 层次模块示意图

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?我要注册

x
 楼主| 小舍YZ 发表于 2017-7-1 11:13:32 | 显示全部楼层
表4-3 要求遍历的符号列表

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?我要注册

x
zxopenljx 发表于 2021-1-13 10:43:15 | 显示全部楼层
UCF文件的语法说明
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|FPGA论坛 ( 京ICP备20003123号-1  

GMT+8, 2021-1-28 20:17 , Processed in 0.072457 second(s), 24 queries .

至芯科技 Powered by Discuz X3.2

© 2001-2014 Comsenz Inc.

快速回复 返回顶部 返回列表