fansonzou的个人空间 https://blog.eetop.cn/565339 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

SiliconSmart | .lib质量验证方法之qualify_library

已有 2926 次阅读| 2020-4-22 23:05 |系统分类:芯片设计

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_stringsstring

[-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


 


由于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}


 


  • Voltage range检查


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


 

  • Cell sensitivity检查


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


qualify_libarary -check sensitivity test.lib


 

  • 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


 

  • Minimum load index检查


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


qualify_library -check load_index test.lib


 

  • Leakage检查


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


qualify_library -check leakage test.lib


 

  • Hazard检查


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


qualify_library -check hazard test.lib


 

  • PG_pin一致性检查


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


qualify_library -check pg_pin test.lib


 


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





点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 27

    粉丝
  • 3

    好友
  • 0

    获赞
  • 5

    评论
  • 900

    访问数
关闭

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


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

GMT+8, 2024-12-22 18:31 , Processed in 0.017465 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部