FPGA约束设置
2016-02-27 21:01
197 查看
0.引言
在使用FPGA进行设计时,当电路频率较低(小于50Mhz)时,可以不用进行时序约束,而当频率较高时,不进行约束无法让时序满足要求。目前主流的FPGA厂家有Xilinx和Altera,不同厂家的FPGA使用的软件不一样,约束设置也不同,目前,altera的Quartus II软件已经能够支持Synposys的TCL语法格式的约束,其约束设置的命令与语法与ASIC几乎一致;Xilinx的ISE软件使用UCF(user constraint file)文件进行约束,下文的约束设置介绍以ISE为主。
1.约束介绍
和ASIC设计类似,Xilinx的UCF进行约束也包括时钟约束、输入延时、输出延时、多周期路径以及异步电路的虚假路径。
时钟约束:
输入输出延时:
输入输出延时使用OFFSET进行偏移命令设置,有OFFSET = IN 和OFFSET = OUT两种情况
多周期路径以及虚假路径需人工对设计电路进行判断并进行约束。
在使用FPGA进行设计时,当电路频率较低(小于50Mhz)时,可以不用进行时序约束,而当频率较高时,不进行约束无法让时序满足要求。目前主流的FPGA厂家有Xilinx和Altera,不同厂家的FPGA使用的软件不一样,约束设置也不同,目前,altera的Quartus II软件已经能够支持Synposys的TCL语法格式的约束,其约束设置的命令与语法与ASIC几乎一致;Xilinx的ISE软件使用UCF(user constraint file)文件进行约束,下文的约束设置介绍以ISE为主。
1.约束介绍
和ASIC设计类似,Xilinx的UCF进行约束也包括时钟约束、输入延时、输出延时、多周期路径以及异步电路的虚假路径。
时钟约束:
NET “ClockName" TNM_NET = "TNM_NET_Name"; TIMESPEC "TS_name" = PERIOD "TNM_NET_Name" PeriodValue HIGH HighValue% eg: NET "Clkin" TNM_NET = "Clkin"; TIMESPEC "TS_Clkin" = PERIOD "Clkin" 5ns HIGH 50%;
输入输出延时:
输入输出延时使用OFFSET进行偏移命令设置,有OFFSET = IN 和OFFSET = OUT两种情况
多周期路径以及虚假路径需人工对设计电路进行判断并进行约束。
相关文章推荐
- Struts2的ModelDriven机制
- 订阅者方法超时的处理
- BZOJ_P1013 [JSOI2008]球形空间产生器sphere(数论+高斯消元)
- hexo 添加disqus评论系统
- Android Studio 导入so库
- Android 高级UI设计笔记09:Android如何实现无限滚动列表
- powerdesigner oracle导入注释
- spoj:QTREE3
- python lambda表达式
- android 学习记录 xml 序列化与解析
- [国嵌攻略][079][多进程程序设计]
- Python的StringIO模块和cStringIO模块
- Digital Roots
- Android开发中可能遇到的坑
- [BZOJ 4196][Noi2015]软件包管理器
- 修改Ubuntu的默认启动项
- C语言实现双向非循环链表的逆序打印
- 安装clustalw-2.1
- Jquery对Cookie的操作
- delphi的TThread.CreateAnonymousThread导致界面卡死