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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3051|回复: 2

[原创] SiliconSmart | .lib质量验证方法之qualify_library

[复制链接]
发表于 2020-4-22 22:55:16 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 fansonzou 于 2020-4-22 23:01 编辑

SiliconSmart的compare_library作为单元库质量验证方法之一,在比较两个lib结构及数值的一致性方面非常有用。当我们手上只有一个lib,我们能否检查这个lib的语法,结构,一致性,数据合理性,精度等等质量指标呢?这篇文章就来介绍一下单元库质量验证方法之二——
qualify_library


Qualify_library能检查的项目包括:NLDM-CCST一致性检查,NLDM-CCSN一致性检查,voltagerange检查,sensitivity检查,leakage检查,hazard检查,pg_pin检查,data range检查,minimumload index检查等等。其中前三项是必查项,后几项为选查项,由用户指定是否需要检查。


先上qualify_library的语法:


qualify_library [-cells list_of_strings][-check list_of_strings] string

[-cells list_of_strings]列出哪些cells需要检查;[-checklist_of_strings]列出需要做的检查项,如aocv, data_range, hazard,leakage, load_index, lvf, pg_pin, sensitivity等等;string指定library的名字或者cell-levellibrary的路径。


qualify_library如何使用?下面列举一个基本的用法:


set_location $charpoint

set_config_opt qualification_lc_shell /tools/2020.03/bin/lc_shellLC的启动命令)

qualify_library test.lib


这三句话就能让SiliconSmart运行qualify的功能,运行完之后会在当前的charpoint目录下自动产生qualification的文件夹。结果为.html文件,用户可以通过浏览器如firefox打开结果:


firefox $charpoint/qualification/html/index.html


1.png


由于qualify_library是基于LibraryCompiler工具的检查,因此必须调用LC工具,最简单的调用方式就是直接指定LC的启动命令:


set_config_opt qualification_lc_shell/tools/2020.03/bin/lc_shellLC的启动命令)


下面一起来分别了解qualify_library的各个检查项


  • Library compilation检查


顾名思义,这个检查是针对lib的语法、结构等的检查。SiliconSmart调用LClib进行编译,如果有warning或者error就会报出来。用户可以根据自己的需要,使用qualification_lc_suppress参数来waive掉部分已知的warning


set_config_opt qualification_lc_suppress {LBDB-605 LBDB-172}


  • CCST&CCSN一致性检查


CCST-NLDMCCSN-NLDN一致性检查是qualify_library的默认检查项。它检查的是从CCST以及CCSN model里求得的slewdelay是否与NLDM一致。针对每一个cell,每一条arc,每一个state,每一组slew/load都会做检查,只有当slewdelay的误差在设定的tolerance之内才会被认为通过。设定误差容限的语句:


set_config_opt qualification_tol {delay rel_tol abs_tol slew rel_tol abs_tol}

如:set_config_optqualification_tol {delay 0.1 0.2 slew 0.3 0.4}


2.png


  • Voltage range检查


Voltage range检查也是qualify_library的默认检查项。它检查的是CCSNmodel是否能够实现轨到轨的transition。使用了5%95%两个数值作为轨到轨的阈值。


3.png

  • Cell sensitivity检查


Cell sensitivity检查是可选检查项,检查celldelayslewinput波形尤其是波形尾部的敏感度,因为有时input波形的扭曲对celltiming值的变化影响很大。在做这个检查的时候,会用两个input波形驱动同一个cell,一个是正常的轨到轨的transition,另一个是95%VDDtransition,然后比较这两个波形驱动下的delay或者slew,一旦超过设定的阈值,则报error


qualify_libarary -check sensitivity test.lib


4.png

  • Data range检查


Data range检查也是可选检查项,检查lib里的数值是否有超出用户指定范围之外的值。


set_config_opt qualification_data_range {delay 0.1 0.25transition 0.1 0.25}

qualify_library -check data_range test.lib


5.png

  • Minimum load index检查


这个检查也是可选检查,检查loadindex里的最小值是否比min_capacitance还要小,这样能避免下游工具使用外插的方法计算对应的value


qualify_library -check load_index test.lib


6.png

  • Leakage检查


该项检查也是可选项,用来检查leakage_power里是否有0值。


qualify_library -check leakage test.lib


7.png

  • Hazard检查


该项检查也是可选项,主要用来检查table中的0值(min_pulse_width除外),以及数值的单调性。


qualify_library -check hazard test.lib


8.png

  • PG_pin一致性检查


该项检查也是可选项,用来检查.lib中的pg_pin是否跟netlist中的pg_pin一致。


qualify_library -check pg_pin test.lib


9.png


除了上面提到的检查项外,qualify_library还能检查UPFAOCVLVFScaling等等。这些检查项待我们介绍到相应部分的时候再介绍给大家,所以,敬请期待吧
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
扫描下方二维码关注【单元库特征化及建库技术】,ID:libchar,交流K库经验
无标题.png


发表于 2023-9-12 16:40:33 | 显示全部楼层
必须顶一个
发表于 2023-10-7 17:52:04 | 显示全部楼层
可以
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-4-20 04:45 , Processed in 0.027445 second(s), 7 queries , Gzip On, Redis On.

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