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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 44301|回复: 79

弄了个siliconsmart 的例子,大家来试下

[复制链接]
发表于 2013-12-6 14:57:51 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 sme-ic 于 2013-12-6 16:48 编辑

cell3v_test.rar (76.88 KB, 下载次数: 1318 )

花了几天时间研究了下siliconsmart,发现还是有点复杂。跑软件自带的tutorial没问题,但真正操作起来,各种问题。。。

我自己弄了个例子,拿foundry的lib作参考,重新特征化。只弄了个inv出来,然后用calibre得到寄生参数的网表,重新仿真并输出结果。有感兴趣的,只要把附件解压,按照里面的readme.txt,一行一行敲命令,就能得到特征化后的结果。
(我用的软件是siliconsmart 2013.06-SP1,另外用hspice仿真。如果你要用finesim、spectre等,更改附件包里的configure.tcl中的相关地方就行了。)

另外,有劳高手看下,特征化的lib有以下几个主要问题:
1. 原lib中的cell有area,新产生的没有,怎么办?(软件的userguide有提到加area,但那是对一个cell来加,如果cell有几百个,那不累死?)
2. 生成的lib中cell的延时,误差很大(cell_rise/rise_transition/cell_fall/fall_transition),是哪里设置不当?
发表于 2013-12-27 02:18:59 | 显示全部楼层
多謝 GOOD
发表于 2013-12-29 18:37:51 | 显示全部楼层
楼主,能分享一下你的siliconsmart 2013.06-SP1?
期待,有新的finesim更好!!
谢谢!!
发表于 2013-12-30 06:39:18 | 显示全部楼层
发表于 2013-12-30 13:09:58 | 显示全部楼层
期待,有新的finesim更好!!
发表于 2013-12-31 18:26:59 | 显示全部楼层
set slew_derate_from_library 0.5
 楼主| 发表于 2014-1-2 09:46:49 | 显示全部楼层




   大虾好,我查了手册,这一段话看不太懂,您能稍微解释下吗?The Liberty format supports a concept known as slew derating in which slew
rates are derated (scaled) to a different set of slew thresholds. This allows the
slew rates to be measured at one set of slew thresholds and then scaled to a
different set, perhaps to match existing intellectual property. SiliconSmart
supports this capability in both the recharacterized model flow and the new
model flow.
For the recharacterization flow, the input Liberty model should have the Liberty
attribute slew_derate_from_library set to a value less than 1.0.
SiliconSmart reads the slew derating factor from the input Liberty model and
scales the slew values accordingly for characterization. You must verify that the
characterization trip points are correct in the configure.tcl file through the
logic_low_threshold and logic_high_threshold parameters. When
the output Liberty model is generated, SiliconSmart scales the slew values
back to match the input Liberty model, again using the
slew_derate_from_library attribute from the input Liberty model to
determine the scaling.
发表于 2014-1-2 13:51:21 | 显示全部楼层
一起学习下:
i found this answer in synopsys's site. hope it clarifies ur query.

Clarification on the Value to Be Specified for slew_derate_from_library

Question:

In a library that an intellectual property (IP) vendor gave us, the trip points
were specified as 30 - 70, with a slew-derating value of 0.5. The vendor tells
us that the cells were in fact characterized at 30 - 70 but were extrapolated
to 10 - 90 (that is, they used their own formula to calculate 10 - 90 slew
rates from their measured 30 - 70 numbers). The final extrapolated values were
placed in the lookup tables.

This doesn't look right to me because the cells were effectively characterized
10 - 90, so why not use 10 - 90 as trip points and slew_derate = 1 in the
header? I'm worried that the derating value will cause the final slew to be
derated twice in the end--once from when the vendor extrapolated and another
time by PrimeTime. Am I right to be concerned?

Answer:

The data given to you by the IP vendor is quite common for deep submicron
designs, which have a linear region between 30 and 70. So, if the vendor
characterized the cells as 30 - 70 and extrapolated to 10 - 90, the slew_derate
value that should be specified in the library is calculated as

slew_derate = (70 - 30)/(90 - 10) = 40/80 = 0.5

Your understanding that the final slew will be derated twice is not correct.
When the library contains slew trip points of 30 - 70 and a slew_derate value
of 0.5, PrimeTime will be able to calculate that the cells were characterized
as 30 - 70 and extrapolated to 10 - 90. If the vendor accidentally specified
the slew trip points as 10 - 90 and slew_derate = 0.5, that would indeed be a
problem, and PrimeTime would no longer be able to do correct slew calculations.
Setting trip points as 10 - 90 and slew_derate = 1.0 would work, but accuracy
would be lost, and the tool might generate an RC-004 warning because of that
inaccuracy.

For the most accurate calculations from PrimeTime, the library should specify
the slew trip points as 30 - 70 and slew_derate as 0.5. Setting the slew trip
points as 10 - 90 with slew_derate = 0.5 would be totally wrong in this
characterization situation.

So what the library vendor has done is correct.
 楼主| 发表于 2014-1-2 15:06:19 | 显示全部楼层


一起学习下:
i found this answer in synopsys's site. hope it clarifies ur query.

Clarification o ...
要你命3000 发表于 2014-1-2 13:51




   高手,确实是这个问题,之前看手册看到这个参数的设置,没明白,出来的结果一直偏了不少,现在比较接近了。
  另外,siliconsmart和ncx比起来,同样用hspice仿真,速度差好远。200个左右的cell,ncx大概在半小时,siliconsmart我跑了4个小时了,还没完。
 楼主| 发表于 2014-1-22 17:39:27 | 显示全部楼层


一起学习下:
i found this answer in synopsys's site. hope it clarifies ur query.

Clarification o ...
要你命3000 发表于 2014-1-2 13:51




   大师能看看此问题吗?谢谢。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


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

GMT+8, 2024-11-21 22:09 , Processed in 0.023154 second(s), 8 queries , Gzip On, Redis On.

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