微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC后端设计交流 > manual cts

manual cts

时间:10-02 整理:3721RD 点击:
不知道有没有人试过做manual cts。我因为project需要所以接触了一些manual cts,不过遇到一点点问题,具体如下:
我已经做了的事:
1.在ctstch file上面设置了时钟树的拓扑结构了,用specifyClockTree读入Cadence Soc Encounter里面
2.用ckSynthesis来综合整个时钟树(描述文件里说这个命令应该也会自动做时钟树的route,但我的试验结果是没有)
3.用routeClkNetWithGuide 来实际route 所有的clock net。到这一步为止,我认为我的时钟树已经初步生成完毕(各种opt先不管)
问题:
我想要看这个clock tree的各种参数,比如skew 之类的。本来,我认为用一个reportClockTree命令就能够解决问题的,但实际结果却是,这个命令所生成的文档里除了一个标题以外,什么都没有了
分割线-------
为此,我自己做了如下尝试:
第一,若是用自动的cts是可以生成report的,自动的cts调用了命令clockDesign,所以我试想,把clockDesign所调用的所有的命令顺序使用一遍应该可以得到同样的结果。但是结果是不行。我参看了cadence 本身生成的log file(包含各种命令以及运行信息),发现里面clockDesign使用了createClockTreeSpec,specifyClockTree,ckSynthesis, ckECO,主要是这几个命令。除了specifyClockTree所读入的ctstch file是manual专用的以外,别的顺序都与auto cts的流程一样。report不能生成
第二,查看manual所生成的clock tree的max 和min path,找出对应的sink,并查看这两个sink的delay,手动计算。可以计算结果,但是report仍然无法解决
第三,对应查看manual和auto的cts产生的log 信息,发现manual 在调用ckSynthesis的时候,比auto少了一个pre-CTS check的部分。但是,个人认为,既然我最后能产生完整的时钟树(可以用clock browzer来查看或者display clock tree),那么cadence一定已经知晓了这个clock tree所有的信息(类似于buffer,sink,skew等等), reportClockTree这个命令应该只是要求cadence归置好所有的与clock tree有关的信息,然后整理保存而已。所以,没法理解为什么cadence对这个命令没有任何回应,甚至连warning或者error都没有

reportClockTree
[-help]
[-area]
[-clk clkName ]
[-preRoute | -clkRouteOnly | -postRoute | -postCTS]
[-localSkew]
[-report reportName ]
[-rguide fileName ]
[-macromodel macroFilename ]
[-mmmc_summary]
[-num number ]
[-view viewName ]
[-view_list list_of_view ]
Reports the results of clock tree synthesis. By default, the report includes the following information about the clock tree:
Library information, such as the clock name, mode, library name, operating condition and PVT values.
Clock tree structure information, such as the number of subtrees, sinks, and buffers, and the maximum and minimum trigger edge delay at sinks.
Delay, skew, and transition values, such as the rise and fall phase delay, skew, buffer transition, and sink transition values.
Maximum transition time violations
Skew distribution information, such as the input and output delay ranges.
Macro model information, such as the maximum and minimum trigger edge delay at sink values.
AC current density violations
The reportClockTree command also reports power information if you specify setCTSMode - powerAware true and include the Period statement in the clock tree specification file. The report includes information on the total net switching power, internal clock instances power, internal leaf pin power, and leakage power. For more information, see Power Informationin the "CTS Report Descriptions" section of the "Synthesizing Clock Trees" Chapter of the EDI System User Guide .
In multi-corner mode (setCTSMode -multiCorner true), the reportClockTree command reports the trigger skew value for all active analysis views in the design, and reports other analysis information, such as the phase delay and transition values, only for the default analysis view.
Note: Multi-corner CTS does not support reportClockTree -localSkew.

希望对你有用

谢谢回复,不过这个我已经看过了,还是不行。不知道有没有高手能解答呢?问过学校的助教也还是没解决。莫非是软件的bug?不应该吧。

现在的软件,没有bug free的,
可以试试其他的方法,比如
1)用report_timing
2)用clock browzer或者display clock tree,选择routeCTS后,可以显示出你要的信息
dump出来所有的信息后,自己再整理下,虽然不是很有效,但还是可以得到你要多信息。

2.用ckSynthesis来综合整个时钟树(描述文件里说这个命令应该也会自动做时钟树的route,但我的试验结果是没有)
的确可以。
你的option里以及ctstch中有没有正确设定?

谢谢回复!report_timing可以比较方便的查看时钟树里面各个不同路径(root->sink)的延迟以及与时钟边沿的slack。可却可以用,也可以得到信息,不失为一个方法

我现在继续试验之后发现,cadence10.12这个版本里面有这个bug,但是8.1里面这个bug属于半没有的状态。8.1里面如果用我一楼所说的方法做一次人工时钟树综合并布线的话,至少是可以产生这个时钟树的报告的,但这个报告不包含所有路径的信息。只有整体的skew以及maxbuffer tran等信息

鉴于我主要想知道的信息仅仅是skew而已,我采用如下方法来解决,displayClockMinMaxPaths -postCTS显示时钟树的最长最短路径,然后看这两条路径之间的差即可

对于这个问题,我的确没发现ckSynthesis做了布线这一步。当然,如果在这一步之前加上setCTSMode -routeClkNet true的话是会做布线的。还请指教

华山论剑

小编您好!我写了个简单的manual.ctstch文件,用specifyClockTree -clkfile manual.ctstch读入soc encounter中时报错,使用自动cts生成的Clock.ctstch文件时就不报错,请问是我写的manual.ctstch文件有错吗?你能把你写的.ctstch文件共享给我吗?谢谢!
我的邮箱sunnywpj@163.com

谢谢分享

学习啦

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

网站地图

Top