约束

FPGA Design Flow 学习笔记(2)--参加年度达人

因为是笔记了,所以概括的比较简要:

5 时序约束的效果

•使用全局时钟约束之前:逻辑是随机被布线的

•使用全局时钟约束之后With global timing constraints (OFFSET):逻辑按照时序要求有序布线,可以实现更高的性能

6 创建时序约束的简要叙述

Step 1: 创建路径终点的组(group

221

1 同步元件

Step 2: 在组之间定义时序要求

Xilinx FPGA用户约束文件(转自xilinx ISE 开发指南)

FPGA设计中的约束文件有3类:用户设计文件(.UCF文件)、网表约束文件(.NCF文件)以及物理约束文件(.PCF文件),可以完成时序约束、管 脚约束以及区域约束。3类约束文件的关系为:用户在设计输入阶段编写UCF文件,然后UCF文件和设计综合后生成NCF文件,最后再经过实现后生成PCF 文件。UCF文件是ASC 2码文件,描述了逻辑设计的约束,可以用文本编辑器和Xilinx约束文件编辑器进行编辑。NCF约束文件的语法和UCF文件相同,二者的区别在于: UCF文件由用户输入,NCF文件由综合工具自动生成,当二者发生冲突时,以UCF文件为准,这是因为UCF的优先级最高。PCF文件可以分为两个部分: 一部分是映射产生的物理约束,另一部分是用户输入的约束,同样用户约束输入的优先级最高。一般情况下,用户约束都应在UCF文件中完成,不建议直接修改 NCF文件和PCF文件。
约束文件的后缀是.ucf,所以一般也被称为UCF文件。创建约束文件有两种方法,一种是通过新建方式,另一种则是利用过程管理器来完成。

赛灵思(Xilinx )FPGA设计约束的分类

本文主要通过一个实例具体介绍ISE中通过编辑UCF文件来对FPGA设计进行约束,主要涉及到的约束包括时钟约束、群组约束、逻辑管脚约束以及物理属性约束。

约束、时序分析的概念

很多人询问关于约束、时序分析的问题,比如:如何设置setup,hold时间?如何使用全局时钟和第二全局时钟(长线资源)?如何进行分组约束?如何约束某部分组合逻辑?如何通过约束保证异步时钟域之间的数据交换可靠?如何使用I/O逻辑单元内部的寄存器资源?如何进行物理区域约束,完成物理综合和物理实现?为了解决大家的疑难,我们将逐一讨论这些问题。(注:以下主要设计时序约束)

Vitex5的约束----------------“安富利杯”赛灵思FPGA设计技巧与应用创新博文大赛

Net fpga_0_Hard_Ethernet_MAC_PHY_MII_INT LOC=H20;
##为fpga_0_Hard_Ethernet_MAC_PHY_MII_INT指定一个电平标准LVCMOS25
Net fpga_0_Hard_Ethernet_MAC_PHY_MII_INT IOSTANDARD = LVCMOS25;
#TIG(Timing IGnore)是忽略fpga_0_Hard_Ethernet_MAC_PHY_MII_INT上的时序问题
Net fpga_0_Hard_Ethernet_MAC_PHY_MII_INT TIG;

##定义sys_clk_pin驱动的所有同步元件为sys_clk_pin的分组
Net sys_clk_pin TNM_NET = sys_clk_pin;
##将sys_clk_pin信号分配到FPGA的AH15管脚上
Net sys_clk_pin LOC = AH15;
##为sys_clk_pin指定一个电平标准LVCMOS33
Net sys_clk_pin IOSTANDARD=LVCMOS33;
Net sys_rst_pin LOC = E9;
Net sys_rst_pin IOSTANDARD=LVCMOS33;
#在芯片内部,通过配置完成sys_rst_pin上拉

FPGA约束与时序分析问题汇总

很多人询问关于约束、时序分析的问题,比如:如何设置setup,hold时间?如何使用全局时钟和第二全局时钟(长线资源)?如何进行分组约束?如何约束某部分组合逻辑?如何通过约束保证异步时钟域之间的数据交换可靠?如何使用I/O逻辑单元内部的寄存器资源?如何进行物理区域约束,完成物理综合和物理实现?等等。。。为了解决大家的疑难,我们将逐一讨论这些问题。

转贴:FPGA开发的十点经验

1、FPGA器件选型的7个原则:器件供货渠道和开发工具的支持、器件的硬件资源、器件的电气接口标准、器件的速度等级、器件的稳定等级、器件的封装和器件的价格。

FPGA 设计的四种常用思想与技巧(三)--数据接口的同步方法

数据接口的同步方法
数据接口的同步是 FPGA/CPLD 设计的一个常见问题,也是一个重点和难点,很多设计不稳定都是源于数据接口的同步有问题。 在电路图设计阶段,一些工程师手工加入 BUFT 或者非门调整数据延迟,从而保证本级模块的时钟对上级模块数据的建立、保持时间要求。

FPGA开发经验小结--流程篇(Synplicity+Xilinx)

--------------------------------------------------------------------------------
代码导入
--------------------------------------------------------------------------------
库设置, 可针对每个文件设置所属lib
Verilog include 目录
顶层Generic 可设
TopLevel设置(若非work, 要加库名前缀)

--------------------------------------------------------------------------------
设置选项

--------------------------------------------------------------------------------
选择器件
Fanout :面积允许的情况下,fanout 较小timing 比较理想,一般20,10,若设的太小,面积会急剧膨胀。
I/O pad :默认会对I/O自动插入pad, 若需要edn则不要勾选