点击上面“蓝字”关注我们!

本公众号现已更名为【单元库特征化及建库技术】,欢迎关注。

本文主要介绍单元库建库几个常用的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 chp

import -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的相关问题,可在公众号里留言或加群,我们一起交流学习。

欢迎加入微信交流群

长按右边二维码

加我微信,拉您入群

长按二维码关注公众号

点一下"在看"再走吧

单元库建库流程,你了解几种?相关推荐

  1. 蓝的成长记——追逐DBA(20):何故缘起,建库护航 (二次发布-练习使用markdown编辑)

    体现本文更好浏览效果请访问源地址: http://blog.csdn.net/huangyanlong/article/details/48776573 原创作品,出自 "深蓝的blog&q ...

  2. 蓝的成长记——追逐DBA(20):何故缘起,建库护航

    原创作品,出自 "深蓝的blog" 博客,欢迎转载,转载时请务必注明出处,否则追究版权法律责任. 深蓝的blog: http://blog.csdn.net/huangyanlon ...

  3. oracle简单建库基本流程

    建库流程 1. 登录到252服务器(我的服务器地址是172.20.223.252): SSH 172.20.223.252 2. 切换到oracle数据库下: su – oracle 3. 以sysd ...

  4. RNA提取和建库流程对mRNA-Seq的影响

    RNA提取和建库流程对mRNA-Seq的影响 已有 10460 次阅读 2014-8-14 14:21 |个人分类:转录组测序|系统分类:科研笔记|关键词:转录组测序,RNA-Seq,,链特异性RNA ...

  5. mysql 手动 建库_手动建库流程

    1. 修改.bash_profile oracle_sid=PROD 对象别名可创建 2.创建建库所需文件夹 admin(adump dudmp ) oradata 3.创建密码文件(as sysdb ...

  6. MPB:中科院城环所杨军组-​​​基于DNA宏条形码的水体浮游细菌群落测序建库方法...

    为进一步提高<微生物组实验手册>稿件质量,本项目新增大众评审环节.文章在通过同行评审后,采用公众号推送方式分享全文,任何人均可在线提交修改意见.公众号格式显示略有问题,建议电脑端点击文末阅 ...

  7. NBT:宏基因组读云建库+雅典娜算法组装获得微生物高质量基因组

    读云(read clouds)组装高质量末培养的微生物基因序列 High-quality genome sequences of uncultured microbes by assembly of ...

  8. NBT:宏基因组10X建库+雅典娜算法组装获得微生物高质量基因组

    文章目录 读云(read clouds)组装高质量末培养的微生物基因序列 热心肠日报导读 摘 要 图1. 读云鸟枪测序和组装方法技术路线 图2.两位健康人个体粪便的微生物属水平组成 图3.三种方法获得 ...

  9. c语言测序,一次Hi-C建库测序,两种分析,你不心动?

    原标题:一次Hi-C建库测序,两种分析,你不心动? 基于Hi-C测序数据,既可进行基因组辅助组装,又可对基因组序列.基因结构及其调控元件的三维空间结构互作进行差异分析,结合基因功能研究,深入解析关键科 ...

最新文章

  1. CNN更新换代!性能提升算力减半,还即插即用(附论文)
  2. VTK:Filtering之SurfaceFromUnorganizedPointsWithPostProc
  3. Leet Code OJ 189. Rotate Array [Difficulty: Easy]
  4. Anaconda3-5.3.0-Windows-x86_64
  5. Vue项目构建后通过Nginx/SpringBoot/Express/Egg发布
  6. jsp页面判断输入编号已存在mysql中_面试官让我聊聊Mysql基础架构之日志文件与数据文件...
  7. 【报告分享】2020上半年短视频内容发展盘点.pdf(附下载链接)
  8. ArrayList、LinkedList和Vector三者区别与联系
  9. NOI2003 文本编辑器
  10. java连接数据库实现一个简单的登陆界面
  11. python写入access_使用Python对Access读写操作方法详解
  12. 今日头条推荐算法原理
  13. 冠军团队访谈录|第三届全国人工智能大赛
  14. Unity 草的制作
  15. Dijskra迪杰斯特拉算法
  16. 【UCIe】UCIe NOP 介绍
  17. python pandas处理excel 统计数据_pandas数据分析输出excel产生文本形式存储的百分比数据,如何处理?...
  18. Unity实用小工具或脚本——3D物体带坐标轴的拖拽
  19. Facebook MySQL 8.0 迁移之路
  20. Bugfree 客户端使用手册

热门文章

  1. jquery中提示框layer.msg()设置时间及相关用法
  2. 室内植物可以教给我们有关未来验证设计的知识
  3. KNN算法原理与简单实现
  4. html5用css做样式边框,纯CSS3实现自定义Tooltip边框 涂鸦风格
  5. R语言layout () 函数
  6. 百望云荣登“2022年中国新经济独角兽百强榜”,企业发展持续向好
  7. 2020 MacBook Pro 扩展坞接口失灵解决办法
  8. 如何画一个好看的动画人物?
  9. Baumer工业相机堡盟相机不满帧如何使用CameraExplorer设置相机参数让它的帧率达到满帧
  10. Python函数-函数式编程