xilinx时序约束xdc
“xilinx时序约束xdc”相关的资料有哪些?“xilinx时序约束xdc”相关的范文有哪些?怎么写?下面是小编为您精心整理的“xilinx时序约束xdc”相关范文大全或资料大全,欢迎大家分享。
xilinx时序约束
前一段时间调试了xilinx的板子上跑代码,自己加IP核,看了它的约束文件,在网上找了一些讲语法的资料,自己整理了一下,我感觉在你了解了语法之后,确实得好好看一下它自己给出的约束,有些我自己没用到,我就没整理了。 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
xilinx时序约束
前一段时间调试了xilinx的板子上跑代码,自己加IP核,看了它的约束文件,在网上找了一些讲语法的资料,自己整理了一下,我感觉在你了解了语法之后,确实得好好看一下它自己给出的约束,有些我自己没用到,我就没整理了。 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
时序约束技巧
ISE 时序约束技巧
一般来讲,添加约束的原则为先附加全局约束,再补充局部约束,而且局部约束比较宽松。其目的是在可能的地方尽量放松约束,提高布线成功概率,减少ISE 布局布线时间。典型的全局约束包括周期约束和偏移约束。
在添加全局时序约束时,需要根据时钟频率划分不同的时钟域,添加各自的周期约束;然后对输入输出端口信号添加偏移约束,对片内逻辑添加附加约束。
1.周期约束
周期约束是附加在时钟网路上的基本时序约束,以保证时钟区域内所有同步组件的时序满足要求。在分析时序时,周期约束能自动处理寄存器时钟端的反相问题,如果相邻的同步元件时钟相位相反,则其延迟会被自动限制为周期约束值的一半,这其实相当于降低了时钟周期约束的数值,所以在实际中一般不要同时使用时钟信号的上升沿和下降沿。
硬件设计电路所能工作的最高频率取决于芯片内部元件本身固有的建立保持时间,以及同步元件之间的逻辑和布线延迟。所以电路最高频率由代码和芯片两部分共同决定,相同的程序,在速度等级高的芯片上能达到更高的最高工作频率;同样,在同一芯片内,经过速度优化的代码具有更高的工作频率,在实际中往往取二者的平衡。
在添加时钟周期之前,需要对电路的期望时钟周期有一个合理的估计,这样才不会附加过松或过紧的周期约束
SDC 时序约束(1)- create - clock
SDC 时序约束(1) - create_clock
在写 .sdc 约束文件时,要做的第一件事情就是使用 create_clock 对进入 FPGA 的时钟进行约束。其语法格式如下:
create_clock [-add] [-name 参数解释: -name 表示生成的时钟名称 -period 表示时钟周期,单位为 ns -waveform 可以详细描述时钟占空比及其上下移位置 -add 用于为一个端口添加多个时钟约束 例子: create_clock -period 10 -name clk_100 [get_ports clk] 生成了一个周期为 10ns 占空比为 50% 的时钟,其名字为 clk_100,其端口名为 clk create_clock -period 10 -waveform {8 12} -name clk [get_ports clk] 生成一个周期为 10ns 上升沿 8ns,下降沿 2ns 的时钟 create_clock -period 10 -name clk_100 [get_ports clk] create_clock -
在ISE下分析和约束时序
1. 在ISE下分析和约束时序
3.1 ISE的时序约束工具入门
像TimeQuest一样,ISE软件工具也有自己的时序约束及分析工具。ISE界面的processes当中,有一个user constraints列表,其中的Creat Timing Constrain可以提供用户添加指定的时序约束。
ISE使用的时序约束信息跟其他的物理约束,电气约束等信息全部都放置在后缀名为ucf(user constrain file)的文件中,在使用图形化界面编辑约束后,用户还可以直接编辑UCF文件对时序等要求进行修改。
此外,PlanAhead Post synthesis工具在提供管脚,区域约束等功能之外,也提供了时序约束及分析的功能。所以设计者在约束设计时序时可以有多种方法。
使用Creat Timing Constrain时界面的约束类型部分如下图所示:
图 ISE时序约束类型
从图中我们看到,这个工具对于时序约束的理解与altera的一致,需要约束时钟,输入输出信号,以及指定一些时序例外,也有将约束组成Group的功能。Xilinx公司对于其FPGA约束的名称与altera略有不同,但含义一样。分别是Period constrain(时钟周
LATTICE 非常详细的时序约束(中文教程)
?LATTICE SEMICONDUCTOR CORPORATION
Page 1Achieving Timing Closure
John Li
Agenda
?Timing closure的概念?Timing closure的步骤?采用合适的Coding Style ?进行适当的综合约束
?管脚锁定
?实施Lattice constrains ?Map
?布局布线
?控制place and route ?Floorplanning the design
?LATTICE SEMICONDUCTOR CORPORATION
Page 2
Timing closure的概念
?当前FPGA的设计规模越来越大,复杂程度日益增加,同时要求系统的Perfromace也越来越高。
?获得Timing目标越来越困难.
?设计者必须采用各种技术提升系统性能以满足设计的Timing要求.
?LATTICE SEMICONDUCTOR CORPORATION
Page 3
Timing closure procedure
? 1.采用合适的coding style ? 2.进行适当的综合约束
? 3.管脚锁定
? 4.实施Lattice constrains ? 5.Map
入门资料:FPGA时序分析基础与时钟约束实例
入门:FPGA时序分析基础与时钟约束实例
2013-07-16
何谓静态时序分析(STA,Static Timing Analysis)?
首先,设计者应该对FPGA内部的工作方式有一些认识。FPGA的内部结构其实就好比一块PCB板,FPGA的逻辑阵列就好比PCB板上的一些分立元器件。PCB通过导线将具有相关电气特性的信号相连接,FPGA也需要通过内部连线将相关的逻辑节点导通。PCB板上的信号通过任何一个元器件都会产生一定的延时,FPGA的信号通过逻辑门传输也会产生延时。PCB的信号走线有延时,FPGA的信号走线也有延时。这就带来了一系列问题,一个信号从FPGA的一端输入,经过一定的逻辑处理后从FPGA的另一端输出,这期间会产生多大的延时呢?有多个总线信号从FPGA的一端输入,这条总线的各个信号经过逻辑处理后从FPGA的另一端输出,这条总线的各个信号的延时一致吗?之所以关心这些问题,是因为过长的延时或者一条总线多个信号传输时间的不一致,不仅会影响FPGA本身的性能,而且也会给FPGA之外的电路或者系统带来诸多问题。 言归正传吧,之所以引进静态时序分析的理论也正是基于上述的一些思考。它可以简单的定义为:设计者提出一些特定的时序要求(或者说
入门资料:FPGA时序分析基础与时钟约束实例
入门:FPGA时序分析基础与时钟约束实例
2013-07-16
何谓静态时序分析(STA,Static Timing Analysis)?
首先,设计者应该对FPGA内部的工作方式有一些认识。FPGA的内部结构其实就好比一块PCB板,FPGA的逻辑阵列就好比PCB板上的一些分立元器件。PCB通过导线将具有相关电气特性的信号相连接,FPGA也需要通过内部连线将相关的逻辑节点导通。PCB板上的信号通过任何一个元器件都会产生一定的延时,FPGA的信号通过逻辑门传输也会产生延时。PCB的信号走线有延时,FPGA的信号走线也有延时。这就带来了一系列问题,一个信号从FPGA的一端输入,经过一定的逻辑处理后从FPGA的另一端输出,这期间会产生多大的延时呢?有多个总线信号从FPGA的一端输入,这条总线的各个信号经过逻辑处理后从FPGA的另一端输出,这条总线的各个信号的延时一致吗?之所以关心这些问题,是因为过长的延时或者一条总线多个信号传输时间的不一致,不仅会影响FPGA本身的性能,而且也会给FPGA之外的电路或者系统带来诸多问题。 言归正传吧,之所以引进静态时序分析的理论也正是基于上述的一些思考。它可以简单的定义为:设计者提出一些特定的时序要求(或者说
xilinx和 ALTERA系列芯片
芯片了解:
一、Xilinx的主流FPGA分为两大类,一种侧重低成本应用,容量中等,性能可以满足一般的逻辑设计要求,如Spartan系列;还有一种侧重于高性能应用,容量大,性能能满足各类高端应用,如Virtex系列,用户可以根据自己实际应用要求进行选择。 在性能可以满足的情况下,优先选择低成本器件。
1.spartan—3 Spartan-3系列FPGA
【15】
是为那些需要大容量、低价格电子应用的用户而设计的。该系统的8种FPGA
密度从5万到500万门。Spartan-3系列是在Spartan-IIE成功的基础上通过增加逻辑资源、增加内部RAM
容量、增加I/O引脚数量、增加时钟管理功能以及增加总体性能来实现的,很多增强的功能都来自于Virtex-II技术。这些结合了先进处理技术的改进,使得Spartan-3的性价比超出以前所能达到的水平。也为可编程逻辑器件提供了新的标准。由于异常的低价,Spartan-3可广泛地应用于各种电子设计,包括军工航天、宽带接入、家庭网络、投影电视、数字电视。Spartan-3还是替代ASIC的更佳选择。不同于通常的ASIC,FPGA减少了初期成本并缩短了开发周期。同时,FPGA的可编程性也使得它能在不需要考
Xilinx引脚命名方式
1. IO_LXXY_# 用户IO引脚
XX代表某个Bank内唯一的一对引脚,Y=[P|N]代表对上升沿还是下降沿敏感,#代表bank号
2. IO_LXXY_ZZZ_# 多功能引脚
ZZZ代表在用户IO的基本上添加一个或多个以下功能。 Dn:I/O(在readback期间),在selectMAP或者BPI模式下,D[15:0]配置为数据口。在从SelectMAP读反馈期间,如果RDWR_B=1,则这些引脚变成输出口。配置完成后,这些引脚又作为普通用户引脚。
D0_DIN_MISO_MISO1:I,在并口模式(SelectMAP/BPI)下,D0是数据的最低位,在Bit-serial模式下,DIN是信号数据的输入;在SPI模式下,MISO是主输入或者从输出;在SPI*2或者SPI*4模式下,MISO1是SPI总线的第二位。
D1_MISO2,D2_MISO3:I,在并口模式下,D1和D2是数据总线的低位;在SPI*4模式下,MISO2和MISO3是SPI总线的MSBs。
An:O,A[25:0]为BPI模式的地址位。配置完成后,变为用户I/O口。 AWAKE:O,电源保存挂起模式的状态输出引脚。SUSPEND是一个专用引脚,AWAKE