ISE时序约束笔记6——Timing Groups and OFFSET Constraints
时间:02-18
来源:互联网
点击:
回顾全局OFFSET约束
在时钟行中使用Pad-to-Setup和Clock-to-Pad列为所有出于该时钟域的I/O路径指定OFFSETs。
为大多数I/O路径进行约束的最简单方法——然而,这将会导致一个过约束的设计。
指定管脚的OFFSET约束
使用Pad-to-Setup和Clock-to-Pad列为每个I/O路径指定OFFSETs。
这种约束方法适用于只有少数管脚需要不同的时序约束。
更常用的方法是:
1. 为Pads生成Groups
2. 对生成的指定Groups进行OFFSET IN/OUT约束
双沿时钟的OFFSET约束
OFFSET约束指明了FPGA管脚的输入数据和初始时钟之间的关系。
初始时钟沿在周期约束定义中出现关键词“高”和“低”。
——高:初始时钟上升沿(默认),即上升沿锁存数据
——低:初始时钟下降沿
如果所有的I/O都由时钟的一个沿控制,那么你可以使用这个关键字高或低进行周期约束。
如果两个沿都用到,你就必须进行两个OFFSET的约束。
——每个OFFSET对应一个时钟沿
——DDR寄存器也是这样使用的一个例子
双沿时钟的OFFSET IN约束
输入数据在上升沿或者下降沿之前3ns有效——周期约束为10ns,初始上升沿,占空比为50%。
为每个时钟沿生成一个时钟Groups
——输入时钟的上升沿,OFFSET = IN 3ns BEFORE CLK;
——输入时钟的下降沿,OFFSET = IN -2ns BEFORE CLK;(在初始时钟的上升沿后2ns = 时钟下降沿前3ns)
双沿时钟的OFFSET OUT约束
输出数据必须在时钟的上升沿或者下降沿后3ns内有效——周期约束为10ns,初始上升沿,占空比为50%。
为每个时钟沿生成一个时钟Groups
——输入时钟的上升沿,OFFSET = OUT 3ns AFTER CLK;
——输入时钟的下降沿,OFFSET = OUT 8ns AFTER CLK;(在初始时钟的上升沿后8ns = 时钟下降沿后3ns)
问题思考
特定路径时序约束如何改善了设计性能?
你如何约束这个设计使其内部时钟频率达到100 MHz?
输入(数据)将在时钟CLK的上升沿到达前3ns内有效。输出数据必须在时钟CLK的下降沿后4ns内稳定下来。写出合适的OFFSET约束?
问题解答
特定路径时序约束如何改善了设计性能?
——它使得执行工具更加灵活的达到你的时序要求。
你如何约束这个设计使其内部时钟频率达到100 MHz?
——给时钟信号CLK施加一个10ns的全局周期约束。
写出合适的OFFSET约束?
——OFFSET = IN 3 ns BEFORE CLK; OFFSET = OUT 4 ns AFTER CLK;
在时钟行中使用Pad-to-Setup和Clock-to-Pad列为所有出于该时钟域的I/O路径指定OFFSETs。
为大多数I/O路径进行约束的最简单方法——然而,这将会导致一个过约束的设计。
指定管脚的OFFSET约束
使用Pad-to-Setup和Clock-to-Pad列为每个I/O路径指定OFFSETs。
这种约束方法适用于只有少数管脚需要不同的时序约束。
更常用的方法是:
1. 为Pads生成Groups
2. 对生成的指定Groups进行OFFSET IN/OUT约束
双沿时钟的OFFSET约束
OFFSET约束指明了FPGA管脚的输入数据和初始时钟之间的关系。
初始时钟沿在周期约束定义中出现关键词“高”和“低”。
——高:初始时钟上升沿(默认),即上升沿锁存数据
——低:初始时钟下降沿
如果所有的I/O都由时钟的一个沿控制,那么你可以使用这个关键字高或低进行周期约束。
如果两个沿都用到,你就必须进行两个OFFSET的约束。
——每个OFFSET对应一个时钟沿
——DDR寄存器也是这样使用的一个例子
双沿时钟的OFFSET IN约束
输入数据在上升沿或者下降沿之前3ns有效——周期约束为10ns,初始上升沿,占空比为50%。
为每个时钟沿生成一个时钟Groups
——输入时钟的上升沿,OFFSET = IN 3ns BEFORE CLK;
——输入时钟的下降沿,OFFSET = IN -2ns BEFORE CLK;(在初始时钟的上升沿后2ns = 时钟下降沿前3ns)
双沿时钟的OFFSET OUT约束
输出数据必须在时钟的上升沿或者下降沿后3ns内有效——周期约束为10ns,初始上升沿,占空比为50%。
为每个时钟沿生成一个时钟Groups
——输入时钟的上升沿,OFFSET = OUT 3ns AFTER CLK;
——输入时钟的下降沿,OFFSET = OUT 8ns AFTER CLK;(在初始时钟的上升沿后8ns = 时钟下降沿后3ns)
问题思考
特定路径时序约束如何改善了设计性能?
你如何约束这个设计使其内部时钟频率达到100 MHz?
输入(数据)将在时钟CLK的上升沿到达前3ns内有效。输出数据必须在时钟CLK的下降沿后4ns内稳定下来。写出合适的OFFSET约束?
问题解答
特定路径时序约束如何改善了设计性能?
——它使得执行工具更加灵活的达到你的时序要求。
你如何约束这个设计使其内部时钟频率达到100 MHz?
——给时钟信号CLK施加一个10ns的全局周期约束。
写出合适的OFFSET约束?
——OFFSET = IN 3 ns BEFORE CLK; OFFSET = OUT 4 ns AFTER CLK;
FPGA 相关文章:
- 基于FPGA的片上系统的无线保密通信终端(02-16)
- 基于Virtex-5 FPGA设计Gbps无线通信基站(05-12)
- 基于FPGA的DVI/HDMI接口实现(05-13)
- 基于ARM的嵌入式系统中从串配置FPGA的实现(06-09)
- 采用EEPROM对大容量FPGA芯片数据实现串行加载(03-18)
- 赛灵思:可编程逻辑不仅已是大势所趋,而且势不可挡(07-24)