nature19900303的个人空间 https://blog.eetop.cn/nature [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

Clock Tree Pins

已有 3782 次阅读| 2015-5-5 15:59 |个人分类:原理


CTS的全称是Clock Tree Synthesis,其目的是尽可能的使同一个时钟信号到达各个终端节点的时间相同。
CTS的实现办法最常见的是通过在时钟信号的各个分支上插入buffer或者inverter来balance时钟信号的延迟。


Nonstop pins are pins that would normally be considered endpoints of the clock tree, but instead IC Compiler traces through them to find the clock tree endpoints. The clock pins of sequential cells driving generated clocks are implicit nonstop pins. In addition, IC Compiler supports user-defined (or explicit) nonstop pins.

To specify a nonstop pin, use the set_clock_tree_exceptions -non_stop_pins


Exclude pins are clock tree endpoints that are excluded from clock tree timing calculations and optimizations. IC Compiler uses exclude pins only in calculations and optimizations for design rule constraints. In addition to the exclude pins inferred by IC Compiler (the implicit exclude pins), IC Compiler supports user-defined (or explicit) exclude pins. For example, you might define an exclude pin to exclude all branches of the clock tree that fan out from some combinational logic or to exclude an implicit stop pin.

During clock tree synthesis, IC Compiler isolates exclude pins (both implicit and explicit) from the clock tree by inserting a guide buffer before the pin. Beyond the exclude pin, IC Compiler never performs skew or insertion delay optimization, but does perform. design rule fixing.

To specify an exclude pin, use the set_clock_tree_exceptions -exclude_pins command.


Float pins are clock pins that have special insertion delay requirements. IC Compiler adds the float pin delay (positive or negative) to the calculated insertion delay up to this pin.


Stop pins are the endpoints of the clock tree that are used for delay balancing. During clock tree synthesis, IC Compiler uses stop pins in calculations and optimizations for both design rule constraints and clock tree timing (skew and insertion delay).

The default clock sinks are implicit stop pins. In addition, IC Compiler supports user-defined (or explicit) stop pins. For example, you might define a stop pin to end a branch at an input to a combinational cell or to use an implicit exclude pin as a clock sink.

IC Compiler assigns a phase delay of zero to all stop pins (implicit and explicit) and uses this delay during delay balancing.

To specify a stop pin, use the set_clock_tree_exceptions -stop_pins command

=======================================================

近日使用IC Compiler过程中,在做CTS时,发现有一个register的clock pin既是ignore pin又是non-stop pin。
如果是ignore pin,则意味着CTS时应把这个sink排除在外;如果是non-stop pin,则意味着要穿过这个sink。而这两种情况是矛盾的。
研究的结果,发现是由于特殊的clock结构造成的。如下图:
[转]Clock <wbr>Tree <wbr>Pins <wbr>- <wbr>Nonstop、Exclude、Float、Stop <wbr>Pins

其中的register被用做二分频,输出端Q通过一个inverter连接到了自己的输入端上;Q端上定义了一个Generated Clock(GCLK)。
因此工具推导出这个register的CLK pin是一个non-stop pin。
同时,这个GCLK通过一个PAD输出到芯片外部,没有再与其他register相连。因些,工具推导出这是一个implicit ignore pin。
知道了原因,解决办法就容易多了。将图中register的CLK pin设置为 ignore pin 更为合理些。
不想用generated clock做clock tree
让master clock 一次性全做完clock tree,就要在generated clock的定义点设through pin

就是让clocktree自动穿过的意思, 直到下一个 leaf pin
  ICC                             EDI
stop pin                       leaf pin
non_stop_pin          through pin
float_pin                      macromodel
exclude_pin                 exclude pin





点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 9

    粉丝
  • 1

    好友
  • 15

    获赞
  • 24

    评论
  • 1358

    访问数
关闭

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


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

GMT+8, 2024-11-9 04:25 , Processed in 0.023078 second(s), 12 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部