|
楼主 |
发表于 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中是可以通过设置某个参数,来避免这种大小写不识别的情况吗? |
|