微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC后端设计交流 > 以前做的只有standard cell,现在加了SRAM,基础定义反而不清晰了,求助~~

以前做的只有standard cell,现在加了SRAM,基础定义反而不清晰了,求助~~

时间:10-02 整理:3721RD 点击:
(1) 以前因为只有standard cell,所以set_operating_conditions -min -max只设置了标准单元的fast和slow的模型,现在多了SRAM,SRAM有单独的fast和slow的模型文件,那么需要加到set_operating_conditions吗?感觉set_operating_conditions针对的只是target library,即只针对标准单元的fast和slow模型文件。现在用set_min_library 来设置SRAM的fast和slow的模型,从report_delay 上来看,应该也是调入了SRAM的fast和slow模型,因为SRAM的端口上有相应的setup和hold的时序要求。

不过抱着认真的态度,有没有人可以说一下, set_operating_conditions是不是只是针对标准单元?

(2)同样,在用memory compiler生成SRAM的fast slow模型文件时,里面的library名字都是我定义的SRAM的名字。说的再清楚一点,就是不论SRAM的fast模型,还是slow模型的library名字都相同,这样做可以吗?是不是要我手动修改一下。
我看foudary提供的标准单元的slow模型和fast模型下面的library名字并不相同。
(3)最后问一下,0.18um工艺的max_transition和max_capacitance大家设置的都是多少,可以共享一下不~

我自己后来又研究了一下,看了看lib文件,看来这个set_operating_conditions设置的是PVT,即process,voltage和temperature,
所以整体设计的slow和fast模式各只需要一种PVT就可以了
那么问题又出来了~设置PVT干啥啊?

正常咱们算延时的时候,不是直接根据相应fast和slow的那个input transition和output load的二维表来算延时的,好像和这个PVT没啥关系啊~

最关键的是,SRAM的PVT和标准单元的PVT还不一致,是不是我自己得手动改了啊?

自己顶~

哎~

帮小编顶一个,知道的高手解答一下

谢谢啊

看到这个问题,我只能帮顶了

谢谢谢谢

我自己先抛砖引玉吧,对于我第二个问题,由于DC和PT在算延时的时候只是根据其中一个corner,也就是说它会根据set_min_library中的max_lib找到相应的器件(这里是SRAM),然后看算的是不是最小延迟,如果是最小延迟的话,再看有没有定义min_lib,如果有定义min_lib,那么min_lib中的pin脚是否能对应上,如果上面的条件都符合的话,就改用min_lib来分析最小延时。
所以也就不需要改min_lib.db中的library名字了

所以set_min_library实际上是在建立一个max_lib.db和min_lib.db一个对应的关系
说得直白一点就是,先找max_lib.db,如果找到了,那么再看是不是在算最小延时,如果是的话,就找min_lib中是不是也有相应的器件,如果找到的话,就用min_lib中定义的二维表来计算延迟

对于第一个问题,我认为PVT会scale到input_transition和output_load的二维表上。
通常应该每个lib中会有一个nominal PVT,算延时的时候,先根据set_min_library找到算延时的lib上,然后看这个lib中的nominal PVT与定义的PVT一不一样,不一样的话,就会scale到相应的二维表上~
也就是说可能,在算最小延时的时候,set_min_library找到了max_lib(因为min_lib中没有相应的元件),但你定义的是fast的PVT,那么DC会将该PVT值与max_lib的nominal PVT作比较,然后scale上去
不知道我这么理解对不对~

对于第三个问题,就真的没有好心人么?
小编呢

顶小编 好问题

谢谢分享

这么久的事情了,现在都专职做memory controller的设计了物是人非~

我现在也和你当初遇到同样的问题?
请问小编现在这个三个问题是什么结论?
还请不吝赐教

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

网站地图

Top