马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
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等计算机集群。
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(微信号不变) |