特殊约束From To
2015-08-14 11:20
519 查看
本文待修正
系列目录
时序收敛:基本概念
建立时间和保持时间(setup time 和 hold time)
OFFSET约束(OFFSET IN 和OFFSET OUT)
Clock Skew , Clock uncertainly 和 Period
特殊约束From To
OFFSET IN 使用举例
Achieving Timing Closure
“A timing exception is needed when the logic behaves in a way that is not timed correctly by default.”
前面谈时序约束的时候,略去了Path specific exceptions。'Path specific exceptions'可以直接理解为特别指定的路径例外。我们自然希望软件帮我们做好绝大多数事情,既然存在这个例外,那么说明软件在知道了OFFSET 和 PERIOD之后,还有并不知晓的时序要求。所以这个时序要求需要我们人为指定。这可能有多种情况,一下分别说明(注意,From to 我也没用过,所以可能不对……)
多周期(Multi-Cycle)约束
在上图的例子中,默认的分析方式是Q和D之间数据在下一个时钟沿捕获,也就意味着逻辑延时要小于一个时钟周期(其他影响因素均不考虑,认为是0) 。这一例子下图就是默认的分析方法下时序图,可以看到这里约束的requirement是1个clk,也就意味这是一个单周期时间的约束。多周期约束,故名思议就是这一段长度是多个时钟周期。为何可以是多个时钟周期取决以设计本身,但是工具不能够智能的分析出结果,需要人为指定,这就是多周期约束。
多周期约束的一个例子来自于特定约束FROM TO,类似的如下图所示,软件的默认分析结果是1个clk,但是显然由于电路逻辑的缘故,约束可以是2个clk。默认的分析结果是不对的(或说不好),我们需要认为的指定约束。
多周期约束的写法类似,可参考特定约束FROM TO 图2.
NET "CLKIX" TNM_NET = "CLKIX";
TIMESPEC "TS_CLKIX" = PERTOD "CLKlX" 5.0 ns HIGH 50%;
NET ENABLE TNM_NET = SLOW_FFS;
TIMESPEC TS_SLOWPATH = FROM SLOW_FFS TO SLOW_FFS TS_CLK1X*2;
系列目录
时序收敛:基本概念
建立时间和保持时间(setup time 和 hold time)
OFFSET约束(OFFSET IN 和OFFSET OUT)
Clock Skew , Clock uncertainly 和 Period
特殊约束From To
OFFSET IN 使用举例
Achieving Timing Closure
“A timing exception is needed when the logic behaves in a way that is not timed correctly by default.”
前面谈时序约束的时候,略去了Path specific exceptions。'Path specific exceptions'可以直接理解为特别指定的路径例外。我们自然希望软件帮我们做好绝大多数事情,既然存在这个例外,那么说明软件在知道了OFFSET 和 PERIOD之后,还有并不知晓的时序要求。所以这个时序要求需要我们人为指定。这可能有多种情况,一下分别说明(注意,From to 我也没用过,所以可能不对……)
多周期(Multi-Cycle)约束
在上图的例子中,默认的分析方式是Q和D之间数据在下一个时钟沿捕获,也就意味着逻辑延时要小于一个时钟周期(其他影响因素均不考虑,认为是0) 。这一例子下图就是默认的分析方法下时序图,可以看到这里约束的requirement是1个clk,也就意味这是一个单周期时间的约束。多周期约束,故名思议就是这一段长度是多个时钟周期。为何可以是多个时钟周期取决以设计本身,但是工具不能够智能的分析出结果,需要人为指定,这就是多周期约束。
多周期约束的一个例子来自于特定约束FROM TO,类似的如下图所示,软件的默认分析结果是1个clk,但是显然由于电路逻辑的缘故,约束可以是2个clk。默认的分析结果是不对的(或说不好),我们需要认为的指定约束。
多周期约束的写法类似,可参考特定约束FROM TO 图2.
NET "CLKIX" TNM_NET = "CLKIX";
TIMESPEC "TS_CLKIX" = PERTOD "CLKlX" 5.0 ns HIGH 50%;
NET ENABLE TNM_NET = SLOW_FFS;
TIMESPEC TS_SLOWPATH = FROM SLOW_FFS TO SLOW_FFS TS_CLK1X*2;
相关文章推荐
- 虚拟存储和进程空间
- 使用cocoadPod updating local specs repositories 卡住
- 付出就是成功的根源
- android使用socket实现实时视频
- 查看发行版本信息
- C++11的线程库(二)
- android:inputType参数类型说明
- Clock Skew , Clock Uncertainty和 Period
- [转]Android Studio 1.3.1环境搭建
- html5 touch引发的一个应用以及营销
- 一个简单示例来演示用PHP访问表单变量
- dlopen failed: empty/missing DT_HASH in "libx.so" (built with --hash-style=gnu?)
- python hadoop 在streaming中获取文件名的方法
- Oracle 导入dmp文件命令
- 华为校招上机笔试试题(B卷)——java实现
- 如何改变NSPopover的背景颜色(包括小三角部分)?
- hdu 5387 Clock 2015多校联合训练赛#8
- RedGate .NET Reflector注册问题(反注册)
- 在Visual Studio中使用组件图描述项目组件依赖关系
- hdu 1715 大菲波数(大数)