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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 845|回复: 4

[求助] 关于Clock-gating的疑问,希望大佬指点

[复制链接]
发表于 2023-4-3 16:31:54 | 显示全部楼层 |阅读模式
50资产
1.在综合时候,DC是怎么知道ICG cell 的,或是这么说,DC是怎么知道lib 的standard cell 有Clock-gating 的功能,假如有多个standard cell 有Clock-gating功能,他怎么选择的?

2.看很多资料上说,以下风格才能在DC过程中自动插入ICG。
always@ {posedge clk)    if(valid) begin        dout <= din;    endend
但是如果是以下这个风格呢?是不是不行?如果是不行的话,是不是说明clock-gating只有在特定的条件才可以插入。或者有更好的verilog写法?
always@ {posedge clk)
    if(rst_n)
       dout <= 'b0;
    else if(conditiona)
       dout <= a;
    else if(conditiona)
       dout <= dout  + 1'b1;
    else if(valid) begin        dout <= din;    endend
3.假如说一个项目分很多功能模块,在某种情况下,为了节省功耗,不需要一些功能开启,个人理解的做法是不让对应需要关闭的功能整个模块的时钟开启,
这个时候是不是不能用clock-gating,根据问题2,clock-gating只能是关闭某些特定reg的时钟,不能是关闭整个模块时钟?不知道这么理解对吗?
假如是clock-gating不能关闭整个模块时钟,需要关闭整个模块时钟,需要那些那些技术(跪求给点指导资料或方向说明)

 楼主| 发表于 2023-4-3 16:49:01 | 显示全部楼层
小白自己顶一下自己
 楼主| 发表于 2023-4-3 17:04:03 | 显示全部楼层
小白自己顶一下自己
 楼主| 发表于 2023-4-3 20:12:14 | 显示全部楼层
小白自己顶一下自己
发表于 2024-1-31 17:19:37 | 显示全部楼层
DC环境里可以设置,比如位宽大于3bit的寄存器,只要有else if条件,就会在clk tree上插clk_gate。选哪个icg cell在DC阶段不重要,因为DC阶段的电路,没有走线的负载,因此所有的cell的选择可以理解为是个估算,只有到了PR阶段,能看到走线的真实负载,cell会根据负载不同,换不同的驱动能力的cell。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-5-2 22:42 , Processed in 0.020699 second(s), 6 queries , Gzip On, Redis On.

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