关于lib的介绍

在线负载模式下,DC使用logic library,symbollibrary 和Design ware 库;在拓扑模式下除了以上三种库,DC还需使用physical library。另外,DC 在工作过程中还会产生一个伪库ALIB。本文就来聊聊几种库和其申明方式。


逻辑库介绍
Logiclibrary 是半导体工艺厂商维护并提供的扩展名为.lib (ASCll码,可读)或者.db(2进制,DC使用)的库,库内包含的是每个逻辑单元(比如与非门、反相器、buffer、ram等)的特性和功能信息,比如时间单位、电压单位、单元名、pin脚名、延时弧、Pin脚负载信息和功耗信息等。该库中也规定了应用该库必须满足的条件,比如线上最大转换时间、最大扇出值等,这些条件被称作design rule constrains(DRC)。
Logiclibrary的建立包括targetlibrary 和linklibrary。DC 在mapping 和optimization 阶段从targetlibrary 中选择功能相符的单元,即targetlibrary是用来对GTECH单元进行功能等价映射的,或者对已映射的单元进行功能等价替换的,故而targetlibrary只包含标准单元库,不包含Design warelibrary 和macro library,比如ram和pad。设计中的所有的例化单元都必须在库中找到相应的器件或者design reference。DC是在linklibrary中解析设计中所有的例化单元,所以link Library中需要包含所有连接信息,包括标准单元库、Design ware、ram、pad和读入内存的基础设计文件等。可见target library是linklibrary的子集。如果理解了target library和linklibrary不同作用,那么也就明白了,为什么更换工艺时,旧的单元库要设置到Iink_hbrary中,而新的标准单元库要设置到target library中。


符号库简介
SymbolLibrary是由半导体工艺厂维护提供的,格式为.sdb。DC利用图形库产生相应原理图。如果事先没有通过symbol_library声明符号库或者在声明的符号库中找不到相应单元符号,DC会在自带的通用符号库generic.sdb中寻找相应单元符号。DC默认符号库在安装目录下川libraries/syn中。


综合库简介


Design ware库是可重用的电路设计器件集合,比如加法器、减法器、乘法器和比较器等,库中分别包含多种面积和速度不同的以上器件,在进行综合优化时,DC会自动根据约束来选择适合的器件来满足面积和速度的均衡。综合人员可以使用Deslgn ware developer开发自己的Design ware库,也可以使用Synopsys的licensed Design ware 库:
DC自带了综合库,如果想使用Synopsys的默认标准综合库standard.sldb,综合人员无需声明建立综合库:如果使用licensed Design ware库,即便没有声明dw_foundation.sldb,但是DC检测到llcensed key,也会自动加载该综合库到变量列表中,不过这种操作可能因版本不同而有变动,建议用户还是通过synthetic_library做声明并对link_library变量做相应补充。


物理库简介


再说物理库前,首先需要理解Milkyway database、Milkywaylibrary、cell、Milkyway designlibrary和Milkywayreferencelibrary等概念。
Milkyway database是为Synopsys Galaxy Design Platform多种工具交互便利而使用的通用存储格式。像DC、PT和ICC这样的工具都与Milkyway database有二进制接口,可以直接访问Milkyway database,这样减少了将AscIl文件转换成需要格式的麻烦,减少了出错概率。Milkywaydatabase可以包含leaf cell和IP宏等的物理信息、工艺信息和当前设计的完备信息。
Cell是Milkyway Library的基本单元,一个cell代表的是芯片版图的物理结构,整个chip是一个cell,基本的IO PAD也是cell,当前打开的用于编辑的Milkyway Library是Milkywaydesignlibrary,如果一个名为A库的Milkyway designlibrary中的设计单元,例化了B和C库中的单元,那么这个B库和C库就是A库的Milkyway referencelibrary。一个designlibrary 可以对应多个referencelibrary,且一次只可以打开一个designlibrary。
如下图所示,DC物理库的声明就是通过建立Milkywaydesiganlibrary来实现的。建立Milkyway design library 需要Milkyway referencelibrary 和technology Library 做为输入,二者均由工艺厂提供。Referencelibrary包含标准单元库、IP或宏单元和IO pad单元信息等。其中,标准单元库又以三种不同的形式给出标准单元信息:CEL、FRAM 和LM。CEL包含全部版图单元信息,比如与非门、或非门的全部版图信息,在流片过程中被ICC软件所使用,注意DCT并不使用;FRAM 包含部分版图单元信息,是抽象的版图单元信息,比如与非门单元轮廓、Pin 脚位置、和金属层信息等,FRAM主要用于ICC的P&R和DCT中;LM是逻辑库,包含的是时序和功耗信息,被ICC和DCT所用,库形式为sc_max.db、sc_min.db。technologylibrary包含的是工艺信息:technology file。technology file通常以.tf文件拓展名给出,包含的信息是每层金属或通孔标号number和名称、介电常数、每层的设计规则、每层的物理和电学特性和电子单位精度等。为了更好的预估延时,最好补充RC 信息:TLUPLUS fiie和LayerMapping file。TLUPLUS文件往往带.tluplus拓展名后缀,是由ITF (InterconnecttechnologyFormat,ITF文件包含的工艺的物理特性信息,比如层厚度、介电常数、shallow trench Isolatlon和copper dishlng(Desensity Analysis 和width)) 文件经过starRc工具提取RC模型生成的文件,包含RC查找表,当然该文件也可由工艺厂直接提供;而Layyer mapping 文件包含的是technology file和TLUplus file两文件中金属层名称匹配信息。

ALIB库简介


ALIB不是由工艺厂提供的库,是一个伪库,它是DC对目标逻辑库target library特性的预先解析结果存储的集合,所谓的特性解析,指的是使用targetlibrary中的单元,将常用布尔功能电路构建出来,然后存储起来,在执行命令compile_ultra过程中,DC就可从AUB库中直接读取文件,并根据该库提供的信息更快的进行面积和速度的折中优化。DC进行compile_ultra时会自动对目标逻辑库进行解析和特性描述,并将其存储到alib_library_analysis_path变量代表的路径下,接下来DC 就可以继续使用这个ALIB 库了。综合人员也可以在综合前,就使用alib_analyze_libs命令产生该ALIB 库并建立相应目录来管理库文件。

原文地址:https://www.cnblogs.com/godlovepeng/p/9646702.html