在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
楼主: daboboxiao

[求助] 请教STA中set_output_delay -min 对保持时间做约束时间为什么可以为负值呢?

[复制链接]
发表于 2012-7-9 18:58:11 | 显示全部楼层
本帖最后由 wenjg76 于 2012-7-9 19:06 编辑

回复 9# daboboxiao

我认为是的

其实,从物理上讲,launch reg的 Q输出端的输出延时不可能是负的,一定会大于0,但是可能不到1.5ns,
所以,你可以骗工具,说其输出端的输出延时是负的,工具就会帮你补上1.5ns,
有了这1.5ns的延时,再加上launch reg 的clk -> q 的本征延时,那virtual reg 的hold 一定没问题了
发表于 2013-6-2 21:41:55 | 显示全部楼层
回复 1# daboboxiao


   楼主看的是什么书?求推荐
发表于 2013-6-2 21:50:07 | 显示全部楼层
这篇帖子要在前端版块就好了
发表于 2013-12-27 16:20:13 | 显示全部楼层
我看的<Static Timing Analysis for Nanometer Designs>,J. Bhasker  •  Rakesh Chadha写的,和楼主约束的不一样,他是这么约束的:
create_clock xxxxxxxx (声明随路时钟,虚拟时钟,声明在output pin上)
set_output_delay -max -1.5 -clock xxxxx
set_output_delay -min 2.0  -clock xxxxx

我的理解应该是按照楼主的约束才对,即-max 2.0,  -min 1.5,但是我看的这本STA书上是完全相反的。
对于负值的解释,书上也很笼统,“Notice that themin value of the output delay specification is larger than the
max specification. This anomaly exists because, in this scenario, the output
delay specification does not correspond to an actual logic block. Unlike the
case of a typical output interface where the output delay specification cor-responds to a logic block at the output, the set_output_delay specification in
a source synchronous interface is just a mechanism to verify whether the
outputs are constrained to switch within a specified window around the
clock. Thus, we have the anomaly of the min output delay specification be-ing larger than the max output delay specification.”
有这本事的,你们参考一下9.1.3节,看我理解的对不对。
发表于 2015-7-24 10:33:04 | 显示全部楼层
set_output_delay -max 是指虚拟的组合逻辑,加上虚拟flip-flop的setup时间的最大值。因为图中已说明QOUT会在时钟上升沿2ns之前达到稳定,那么只要满足外部虚拟组合逻辑+时序逻辑的最大延时不超过2ns就可以让虚拟flip-flop正确采样。同理,set_output_delay -min 是指外部虚拟组合逻辑加上虚拟flip-flop的hold的最小时间,因为图中QOUT会在时钟上升沿后1.5ns保持稳定,因此,即使外部虚拟逻辑的值为负值,依然可以保证虚拟flip-flop正确采样,最小负值为-1.5ns。
发表于 2015-11-14 12:04:27 | 显示全部楼层
看了这么多答案,终于理解了这个问题。虽然时间有点远但还是很有帮助,顶
发表于 2016-6-21 14:17:56 | 显示全部楼层
我认为这里应该有一个电路环境在:
      virtual ff的时钟相对于CLKP是有一定延迟的,或者说CLP要输出至板级的某个sram等模块,在这段路径中就产生了相应的时钟延迟,为了保证hold不违例,即launch ff发出的数据的时钟沿,与capture ff捕获该数据的时钟沿不是相同的沿,故在数据路径上增加一个min delay,以补偿virtual FF的clock延迟,保证数据不被覆盖。
发表于 2018-4-19 10:44:18 | 显示全部楼层
回复 7# wenjg76


   试问怎么实现对负值信号的分配,使用CMOS传输门构成的D触发器实现
发表于 2018-7-23 15:03:31 | 显示全部楼层
学习了
发表于 2018-7-26 20:19:44 | 显示全部楼层



                               
登录/注册后可看大图




时隔两年多,再看STA这本书,仍然被这个问题所困扰。暂记左侧组合逻辑为co1,右侧组合逻辑为co2。我想这个问题还是要从STA的计算过程来看更为直接,因为本来不存在右侧虚拟的capture DFF,但是为了约束DUA中的launch DFF的组合逻辑,所以设置了这个虚拟时钟及其output delay,值得注意的是这个output delay并不单纯是右侧包括右侧组合逻辑delay和虚拟DFF的library hold time 之差(看不明白这个delay的话参考STA 206页Example B),我们把这个总的delay记为Tdelay,再把DUA内部的launch DFF的ck->q与组合逻辑的延时加上,为了满足保持时间的要求则有:


Tarrive_time=Tck2q+Tco1+Tco2
Trequire_time=Thold    (不考虑clock uncertainty)



满足hold timing 要求:  Tarrive_time >= Trequire_time , Tck2q+Tco1+Tco2 >= Thold
而output delay的定义为 Tco2-Thold,所以 Tco2-Thold >= -(Tck2q+Tco1)=-1.5ns
12070710550958760f8b1df319.jpg
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /3 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-19 12:08 , Processed in 0.029894 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表