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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 1088|回复: 1

[求助] dc时插入ICG遇到的问题

[复制链接]
发表于 2023-12-4 21:31:18 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
各位大佬,

DC综合时,compile_ultra时,使用了-gate_clock选项,插入了ICG;
随后,用PT读入DC.v和dc.sdc,PT未识别出ICG,并认为ICG时钟驱动的DFF上没有时钟,直接report这些DFF的clk net,发现没有drive,但直接report对应的ICG,该ICG的输出信号名称和DFF的clk pin的net名是相同的。
将clk gating后的dc.v和dc之前的rtl.v做formality,无法pass;

如果compile_ultra时,不使用-gate_clock选项,则PT时check_timing没有问题,且formality也能pass。

这可能会是什么原因?

 楼主| 发表于 2023-12-5 10:33:20 | 显示全部楼层
换了一个DC版本,就OK了。
debug发现,最初用的版本的DC,插入ICG时,产生的SNPS_CLOCK_GATE_HIGH_*中,其port名称全是小写,而其内部实例化的latch的端口为大写,实例化时,信号均为大写,似乎大小写认为是一样的。
而新版本的DC中,多了assign,将大写的内部信号和小写的port之间进行了赋值。
老版本的DC产生的ICG:
module SNPS_CLOCK_GATE_HIGH_ctrl0 ( clk, en, enclk, te );
  input clk, en, te;
  output enclk;
  wire   EN, CLK, TE, ENCLK;

  CLKLANQ_8TR40 latch ( .CK(CLK), .E(EN), .TE(TE), .Q(ENCLK) );
endmodule

新版本的DC产生的ICG:
module SNPS_CLOCK_GATE_HIGH_ctrl0 ( clk, en, enclk, te );
  input clk, en, te;
  output enclk;
  wire   EN, CLK, TE, ENCLK;
  assign EN = en;
  assign CLK = clk;
  assign TE = te;
  assign enclk = ENCLK;

  CLKLANQ_8TR40 latch ( .CK(CLK), .E(EN), .TE(TE), .Q(ENCLK) );
endmodule

两次综合,除了DC版本不同,其他脚本完全一致;
DC中是可以通过设置某个参数,来避免这种大小写不识别的情况吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-5 12:51 , Processed in 0.016139 second(s), 7 queries , Gzip On, Redis On.

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