微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC后端设计交流 > 请教CTS时"Buffers/Inverters"的相关问题

请教CTS时"Buffers/Inverters"的相关问题

时间:10-02 整理:3721RD 点击:
Astro CTS的时候碰到一点点问题。
设置如下:
setFormField "Clock Common Options" "Buffers/Inverters" "CK01D1,CK01D2,CK01D3,CK01D4"

CTS时出现了几个警告,并且无法继续执行命令。
CTS-Warning: ignore cell CK01D4 since it has 3 ports
CTS-Warning:cell CK01D4 ports: vdd! gnd! CN CK C
CTS-Warning: ignore cell CK01D3 since it has 3 ports
CTS-Warning:cell CK01D3 ports: vdd! gnd! CN CK C
CTS-Warning: ignore cell CK01D2 since it has 3 ports
CTS-Warning:cell CK01D2 ports: vdd! gnd! CN CK C
CTS-Warning: ignore cell CK01D1 since it has 3 ports
CTS-Warning:cell CK01D1 ports: vdd! gnd! CN CK C
这段警告大概看懂了,就是说这个buffer里面是3个端口的,Astro似乎没法用。并且询问这些端口是不是电源或者地。
然后我查了库文件里面对于上述几个时钟树延时单元的Verilog定义:
module CK01D1 (C,CN,CK);
outputC,CN;
inputCK;
not inst_1(CN,CK);
buf inst_2(C,CK);
`ifdef functional
`else
specify
// Delays
(CK +=> C ) = (1:1:1,1:1:1);
(CK -=> CN) = (1:1:1,1:1:1);
endspecify
`endif
endmodule
其实那个C和CN就是CK延时,只不过是CN是inventer,C就是buffer。
另外请问buffer和inverter都只是默认是两端口的么?如果要使用上面的延时cel,需要怎么修改这个设置?

今天来一看,乖,帖子真多,都已经到了第3页了!
自己顶一下吧!我还在找这个问题的解决方法,其实看过一些别的库文件,比如smic .18的库,里面的clock buffer就是双端的。
另外如果在时钟树综合的时候没有指定这些clock buffer单元的话,Astro会自己找buffer插进去,但是这种通用的buffer一般来说电容值都太大,不能适合时钟树插入,期待大牛解答,如何定义这些异怪的三端的buffer的问题,比如如何可以禁用它的那一个脚C或者CN,!

Astro已经不用了

你会用什么,ICC?SE?
别用这种话来回别人的帖子。若不感兴趣大可以静静地走开。

是不是您的高级工具就不用CTS了?遇见这样的库怎么办?不妨大家来交流下!
大清早来论坛还账,清理自己的帖子,真的不想生气的。一腔热情谁知道看到你!
----------------扫兴的分割线-----------------
:) :) :) :) :) :) :) :) :) :) :) :) :) :)
解决办法,其实很多:最保守,的方法无非是改CELL,把版图 GDS中的一个pin text去掉。然后在提取Fram,并且将时序模块里面有关ckb的pin脚声明全部注释掉。然后在做成lib,转成LM作为参考库。CELL名字的footprint稍微改下。
另外还可以修正Astro对于clkbuffer的筛选要求。比如 drive load transitiont_time等。但是注意Astro认定了clkbuf的pin脚,只能有1个in,1个out!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top