- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
XilinxUCF文件中时序约束的语法ISE约束文件的基本操作约束
Xilinx UCF文件中时序约束的语法ISE 约束文件的基本操作
1.约束文件的概念FPGA设计中的约束文件有3类:用户设计文件(.UCF文件)、网表约束文件(.NCF文件)以及物理约束文件(.PCF文件),可以完成时序约束、管脚约束以及区域约束。3类约束文件的关系为:用户在设计输入阶段编写UCF文件,然后UCF文件和设计综合后生成NCF文件,最后再经过实现后生成PCF文件。本节主要介绍UCF文件的使用方法。UCF文件是ASC 2码文件,描述了逻辑设计的约束,可以用文本编辑器和Xilinx约束文件编辑器进行编辑。NCF约束文件的语法和UCF文件相同,二者的区别在于:UCF文件由用户输入,NCF文件由综合工具自动生成,当二者发生冲突时,以UCF文件为准,这是因为UCF的优先级最高。PCF文件可以分为两个部分:一部分是映射产生的物理约束,另一部分是用户输入的约束,同样用户约束输入的优先级最高。一般情况下,用户约束都应在UCF文件中完成,不建议直接修改NCF文件和PCF文件。2.创建约束文件约束文件的后缀是.ucf,所以一般也被称为UCF文件。创建约束文件有两种方法,一种是通过新建方式,另一种则是利用过程管理器来完成。第一种方法:新建一个源文件,在代码类型中选取“Implementation Constrains File”,在“File Name”中输入“one2two_ucf”。单击“Next”按键进入模块选择对话框,选择模块“one2two”,然后单击“Next”进入下一页,再单击“Finish”按键完成约束文件的创建。第二种方法:在工程管理区中,将“Source for”设置为“Synthesis/Implementation”。“Constrains Editor”是一个专用的约束文件编辑器,双击过程管理区中“User Constrains”下的“Create Timing Constrains”就可以打开“Constrains Editor”,其界面如图所示:
图 启动Constrains Editor引脚约束编辑
在“Ports”选项卡中可以看到,所有的端口都已经罗列出来了,如果要修改端口和FPGA管脚的对应关系,只需要在每个端口的“Location”列中填入管脚的编号即可。例如在UCF文件中描述管脚分配的语法为:NET “端口名称” LOC = 引脚编号;需要注意的是,UCF文件是大小敏感的,端口名称必须和源代码中的名字一致,且端口名字不能和关键字一样。但是关键字NET是不区分大小写的。3.编辑约束文件在工程管理区中,将“Source for”设置为“Synthesis/Implementation”,然后双击过程管理区中“User Constrains”下的“Edit Constraints (Text)”就可以打开约束文件编辑器,如下图所示,就会新建当前工程的约束文件。
图 用户约束管理窗口
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所要求的各个
您可能关注的文档
最近下载
- 国家电网无计划作业整改措施.docx VIP
- 中医养生:情志养生.pptx VIP
- pets口语历年真题大全.doc VIP
- 2024新生儿病室建设与管理指南试行卫医政发.docx VIP
- 2025年江苏卫生系统招聘考试(医学检验技术)历年参考题库含答案详解(5卷).docx VIP
- 在新时代继承和弘扬伟大的抗战精神PPT课件模板.pptx VIP
- XX风电场风险分级管控与隐患排查治理双重预防体系建设指导手册精品完整版.docx
- 中建《房屋建筑工程创建精品导则》宣贯培训会、学习资料(1).pdf VIP
- 数据确权授权的流程与技术规范.pdf VIP
- 金蝶云星空考试认证题库(精华版).pdf VIP
文档评论(0)