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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 7404|回复: 6

[原创] 【SiliconSmart】Library Characterization基本流程

[复制链接]
发表于 2020-3-13 17:40:06 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 fansonzou 于 2020-3-13 17:52 编辑

文章来源公众号- K库自习室LibChar(ID:libchar)


1. 概览

SiliconSmart是一款基础IP参数特征化提取工具,应用非常广泛,支持Standard Cell,Memmory,IO,Macro等特征化提取。支持各种model类型,如NLDM,CCS,ECSM,Verilog,IBIS等。针对先进工艺节点,支持AOCV,POCV,LVF等模型。同时支持产生库的DataSheet。


2. 结构

SiliconSmart工具由以下几个部分组成:


  • SiliconSmart Shell - 基于Tcl shell的接口,用于调度configuration,characterization和modeling引擎。



  • Job调度管理系统 - 管理并分配cpu及license资源,使各个Job高效有序的进行,支持单机standard-alone及LSF,SGE等计算机集群。


  • Configuration和Characterization引擎 - 产生特征化需要的arc及仿真网表,执行仿真,量测并处理,分析仿真结果。


  • Modeling引擎 - 基于仿真结果,产生liberty model。




3. 开始使用

SiliconSmart的启动命令非常简单,在Linux shell敲siliconsmart就可以启动。当然,大多数情况下我们都是使用Tcl脚本自动化的执行。

针对工具的每个command和parameter都有帮助说明,可以使用help和man命令调出这些帮助。这里需要强调的是,help命令只对command有效,而man命令只对parameter有效。



每一次运行都会产生log文件,用于检查运行过程中的error和warning。默认的log文件名为siliconsmart.log,可以用set_log_file命令更改log文件的路径以及名称,接下来的所有log都会在这个路径下的同一个log文件里,只要不删除,新log就会跟在老的log之后。

set_log_level命令用来输出log的详细程度,一般来说,INFO信息量最少,VERBOSE信息量最大,包含各种额外debug信息。

set_log_max_size命令用来控制log文件的大小,一旦log文件大小超出了设置范围,即会产生新的log,而老的log则会自动加上.old的后缀。

4. Re-characterization Flow


Re-char flow是最常用的characterization flow之一,如用户需要产生不同PVT的library,或是更新了netlist,但仍要保持原来liberty的结构,attributes,when conditions等等。Re-char flow会抽取原始liberty里的信息,如function,slew/load,timing arcs,重跑仿真,将新的仿真结果填到原始liberty里去。

简单来说,re-char flow分为五个步骤:

  • Create - 产生characterization的工作目录,接下来所有的工作都在这个目录下进行。在trial run阶段经常需要删除该工作目录,使用-clean可以自动实现删除目录的功能。


  • Import - Re-char flow特有的一个步骤,它能导入netlist,同时导入参考库,自动生成.inst文件。.inst文件是一个基于Tcl的控制文件,描述cell的结构,逻辑行为,定义各个pin的方向和所属的power domain,定义控制项,告诉工具怎样做characterization。对于初学者来说,往往最开始可能并不清楚如何写.inst文件,而import命令就能自动生成.inst文件,十分方便。

  • Configure - 将.inst文件里对cell的行为描述,转化成characterization plan,给出相应的激励,生成相应的arcs,measurements等等。

  • Characterize - 使用设定的计算机资源及仿真器,提交jobs,运行characterization plan。

  • Model - 读取仿真结果,产生相应的models。这里需要强调一点,re-char flow的model步骤,不能打开-create_new_model开关,否则不会抓取参考库的结构及相应attributes。

Re-char flow所需的输入文件相对来说比较简单 - 作为template的参考库,netlist,以及工艺相关的spice model。








补充内容 (2020-3-28 13:33):
公众号【K库自习室LibChar】现已更名为【单元库特征化及建库技术】,ID:libchar(微信号不变)
发表于 2020-4-22 10:15:59 | 显示全部楼层
最近在学习  希望能和楼主多多交流
发表于 2020-10-16 13:54:44 | 显示全部楼层
多谢
发表于 2020-11-10 09:38:31 | 显示全部楼层
多谢楼主分享
发表于 2021-3-5 14:14:06 | 显示全部楼层
謝謝樓主
发表于 2023-3-30 13:29:14 | 显示全部楼层
感谢分享!
发表于 2024-4-11 15:06:29 | 显示全部楼层
跑软件自带的lab1, 只修改configure文件中的电压1.1v为1.8v可以成功跑出结果,同时修改温度为125c和电压为1.8v,跑起来会报错,这是为什么呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-11-17 03:57 , Processed in 0.026553 second(s), 7 queries , Gzip On, Redis On.

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