详解set_clock_gating_style命令

david 2021-12-31 09:00:12 8249

门控时钟单元分成两种,一种是带锁存器(latch based)的门控时钟单元,一种是不带有锁存器(latch free)的门控时钟单元。latch based的门控时钟单元能避免毛刺,因此更推荐使用。门控时钟又分为离散的和集成的(ICG)两种:

  1. 离散的CG单元1)带latch的CG(默认)set_clock_gating_style -sequential_cell latch

    2)不带latch的CGset_clock_gating_style -sequential_cell none

  2. 集成的CG单元(ICG)set_clock_gating_style -negtive_edge_logic "integrated"

通常,在执行命令compile_ultra -gate_clock前需要设置好clock gating的相关配置选项,具体选项如下: set_clock_gating_style的options解析如下:- -sequential_cell none | latch

1) -sequential_cell latch(默认)

指带latch的CG(latch based style), 并可指定使用具体某个latch cell

比如:-sequential_cell latch:lib_cell。2) -sequential_cell none

指不带latch的CG(latch free style),比如:

与门做CG,时钟使能为1时钟穿透AND,但posedge trigger存在毛刺;

或门做CG,时钟使能为0时钟穿透OR,但negesge trigger存在毛刺;

  • -minimum_bitwidth minsize_value

为了节省gating cell的数量,需达到一定寄存器数量的register bank才使用gating cell。

  • -setup setup_value 指定建立时间
  • -hold hold_value 指定保持时间
  • -positive_edge_logic {cell_list | integrated [active_low_enable]

    [invert_gclk]}

    1) {cell_list}用于指定“上升沿”触发使用的CG单元。

    需要注意的是-sequential_cell指定的是否有latch应该和cell_list的对应电路是否含有latch保持一致,如:set_clock_gating_style -sequential_cell latch -positive_edge_logic {latch and}

    set_clock_gating_style -sequential_cell none -positive_edge_logic {or}

    2) {integrated}用于表明使用上升沿触发的ICG单元。

    如下图所示,该ICG单元就是一个pre-conctrolled positive-edge triggered clock gating latch。

  • -negative_edge_logic {cell_list | integrated [active_low_enable]

    [invert_gclk]}
    1) {cell_list}用于指定"下降沿”触发使用的CG单元。

    需要注意的是-sequential_cell指定的是否有latch应该和cell_list的对应电路是否含有latch保持一致,如:set_clock_gating_style -sequential_cell latch -negtive_edge_logic {latch or}

    set_clock_gating_style -sequential_cell none -negtive_edge_logic {and}

    如下图,-sequential_cell none指定latch-free模式,但是cell_list却指定了latch、and/or, 这种情况下,DC工具仍然会综合出latch-based clock-gating的电路。

    2) {integrated}用于表明使用下降沿触发的ICG单元。如下图所示,该ICG单元就是一个pre-conctrolled negative-edge triggered clock gating latch。

  • -control_point none | before | after对于DFT测试电路,为了满足电路可控,需要引入TE信号来控制latch的使能端。before就是在Latch之前插入或门,将TE信号和时钟使能信号或起来然后连接到Latch的D端。同理,after就是在Latch之后插入或门,将TE信号和Latch的Q端或起来然后连接到IGG的AND门。
  • -num_stages num_stages_count工具默认只使用一级门控时钟,而使用多级门控时钟可进一步节省面积、降低功耗。如下图,a信号被三个CG单元共享,那么将a信号做成第一级CG,b、c、d做成第二级CG。这样,增加了一个CG但减少了3个与门,同时节省了组合逻辑和第二级的CG的功耗。

    set_clock_gating_style -num_stages 2

感谢阅读文章,如果文章有用,麻烦点个“在看”或转发分享。

转载:全栈芯片工程师

声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
david
红包 点赞 收藏 评论 打赏
评论
0个
内容存在敏感词
手气红包
    易百纳技术社区暂无数据
相关专栏
置顶时间设置
结束时间
删除原因
  • 广告/SPAM
  • 恶意灌水
  • 违规内容
  • 文不对题
  • 重复发帖
打赏作者
易百纳技术社区
david
您的支持将鼓励我继续创作!
打赏金额:
¥1易百纳技术社区
¥5易百纳技术社区
¥10易百纳技术社区
¥50易百纳技术社区
¥100易百纳技术社区
支付方式:
微信支付
支付宝支付
易百纳技术社区微信支付
易百纳技术社区
打赏成功!

感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~

举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

审核成功

发布时间设置
发布时间:
是否关联周任务-专栏模块

审核失败

失败原因
备注
拼手气红包 红包规则
祝福语
恭喜发财,大吉大利!
红包金额
红包最小金额不能低于5元
红包数量
红包数量范围10~50个
余额支付
当前余额:
可前往问答、专栏板块获取收益 去获取
取 消 确 定

小包子的红包

恭喜发财,大吉大利

已领取20/40,共1.6元 红包规则

    易百纳技术社区