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

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

日志

单元库建库的常见流程

已有 2814 次阅读| 2020-3-30 22:35 |系统分类:芯片设计

本文主要介绍单元库建库几个常用的flow。从大类上分,主要有三种常见的flow,分别是re-characterization,new characterization和add-on,其中re-characterization flow还可以细分多种小类。下面我们一起来看一下。

1. Re-characterization Flow

先来看re-characterization flow。Rechar flow是经常用到的flow之一,比如我们手上有之前建好的lib,或者vendor提供了部分PVT的lib,但我们的实际项目需要更多PVT的lib;再比如我们对一套库进行了部分小的优化(优化了layout,优化cell的设计),但没有做功能性的改变。当我们需要保留原来lib的结构,仅仅需要更新lib里的table(如timing,power)数值,我们一般用到的就是rechar flow。
 
  • Pure rechar flow

从参考库(seed.lib)里抽取必要的信息,如function,slews,loads,timing arcs等,因此pure rechar flow需要用户给的input最少。 

Pure rechar flow需要的文件有: 

-  Seed.lib – 含function信息,以及slews/loads/timing arcs等信息 

-  Netlist(一般是带有寄生参数的后仿网表)和工艺文件(spice model) 

-  Configure.tcl文件 – 如果没有,在使用import命令导入seed.lib和netlist的同时,SiliconSmart可以自动产生基本的configure.tcl 

import -fast -liberty seed.lib -netlist_dir netlist_dir -ext ext cells

  • Function recognition flow

FR flow在seed.lib没有function的时候很有用。它通过读取cell的netlist自动识别cell的function,并且自动产生instance file(.inst)。 


FR flow需要的文件有: 

-  Seed.lib – 不包含function信息,但有slews/loads/timing arcs等信息 

-   Netlist(一般是带有寄生参数的后仿网表)和工艺文件(spice model) 

-   Configure.tcl文件 – 如果没有,在使用import命令导入seed.lib和netlist的同时,SiliconSmart可以自动产生基本的configure.tcl 

举两个栗子: 

-   Function由FR识别,slews/loads/whens从seed.lib抽取 

import -recognize -liberty seed.lib -netlist_dir netlist_dir -ext ext

注意,这里的-recognize不能省略,否则FR功能会被-liberty关闭。 

-   Function由FR识别,slews/loads/whens由用户自定义 

import -recognize -liberty seed.lib -netlist_dir netlist_dir-ext ext -use_default_slews -use_default_loads -use_default_whens 

使用FR flow需要注意以下几点:

-    Netlist – 必须是SPICE格式,Spectre网表目前不支持 

-    Spice model – 需通过add_opc_process命令定义在configure.tcl里

-    Power rails – 除了在add_opc_supplies定义外,还需在power_meas_supplies/grounds里定义

-    Clock pin – 在import时序逻辑单元时,注意要将clock pin列在-clocks和-inputs里,否则工具可能会认错


import -recognize -netlist_dir netlist_dir -ext ext -clocks {CLK} -inputs {CLK D} -outputs {Q}

-    Model names – 如果netlist里的mos管是subcircuit方式定义的,注意,nmos/pmos_model_names参数要定义上。同样的,diode用dio_model_names定义;电容用cap_model_names定义;电阻用res_model_names定义。

  • Skeleton liberty-based flow

这个flow适用于需要保留seed.lib的attributes,structure,headers,comments等,不使用seed.lib里的loads/slews/whens/arcs。用户可以自行定义autorange,numsteps_slew/load,smallest_slew/load,state_partitions等。


Skeleton liberty-based flow需要的文件有: 

-  Seed.lib – 只需包含你希望保留的attributes,structure,headers,comments等信息 

-  Netlist(一般是带有寄生参数的后仿网表)和工艺文件(spice model) 

-  Configure.tcl文件 – 如果没有,在使用import命令导入seed.lib和netlist的同时,SiliconSmart可以自动产生基本的configure.tcl

import -fast -skeleton -liberty seed.lib -netlist_dir netlist_dir -ext ext cells


2. Add-on Flow

Add-on flow的用法跟re-characterization flow比较类似,不同的是,add-on flow仅characterize我们需要增加的数据,保留已经存在的数据。常用-match来指定需要跑的仿真。 


Add-on flow需要的文件有: 

-  Seed.lib – 含function信息,以及slews/loads/timing arcs等信息 

-  Netlist(一般是带有寄生参数的后仿网表)和工艺文件(spice model) 

-  Configure.tcl文件 – 如果没有,在使用import命令导入seed.lib和netlist的同时,SiliconSmart可以自动产生基本的configure.tcl 

常用add-on flow的几个场景:

-    增加LVF tables

-    增加CCS-Timing/CCS-Noise/CCS-Power tables


-    增加EM tables 


create chp
set_log_file chp/sis.log
set_location chpimport -fast -liberty seed.lib -netlist_dir ./ -ext .spf
configure -timing -ccs_noise
characterize -match (ccs_noise_*|miller_ccs_*) $cells
model -ccs_noise -output with_ccsn $cells

3. New Characterization Flow

这个flow可以理解成从无到有,如我们手头没有任何参考lib,仅有一套cell的网表(netlist),但是我们仍要建库。


New char flow需要的文件有: 

-       Netlist(一般是带有寄生参数的后仿网表)和工艺文件(spice model) 

-      Instance文件 – 手工定义cell的function,pin的信息,以及characterization的控制信息等 

-      Configure.tcl文件 – 不能自动生成,但可以使用create -legacy从安装目录下copy一个最基本的configure.tcl后,根据具体需求手工设置相关setting

create chp
set_log_file chp/sis.log
exec cp configure.tcl chp/config/configure.tcl
set_location chp
exec cp cell.inst chp/control/
configure -timing -power $cells
characterize $cells
model -timing -power $cells 

常用的flow就是这几种,需要提醒的是,这些flow不是互斥的,在实际项目中,我们很少仅使用某一种flow,更多时候是综合使用多种flow来建库。 如有flow的相关问题,可在公众号里留言或加群,我们一起交流学习。
--------------------------------------------------------------------------------------------
文章来源公众号【单元库特征化及建库技术】,ID:libchar

点赞

评论 (0 个评论)

facelist

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

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

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 26

    粉丝
  • 3

    好友
  • 0

    获赞
  • 5

    评论
  • 842

    访问数
关闭

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

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

GMT+8, 2024-4-20 17:16 , Processed in 0.010247 second(s), 7 queries , Gzip On, Redis On.

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