前面一直说到综合库/工艺库这些东西,现在就来讲讲讲综合库里面有什么东西,同时也讲讲synopsys的Design Ware库。主要内容分为三个部分:标准单元库、DC的设计对象、Design Ware库。
(1)标准单元库
绝大多数的数字设计流程都是基于标准单元的半定制设计流程。标准单元库包含了反相器、缓冲、与非、或非、与或非、锁存器、触发器等等逻辑单元综合模型的物理信息,标准单元是完成通用功能的逻辑,具有同等的高度(宽度可以不同),这样方便了数字后端的自动布局布线。
① 概述
一个ASIC综合库包括如下信息:
- 一系列单元(包括单元的引脚)。
- 每个单元的面积(在深亚微米中,一般用平方微米表示,在亚微米工艺下,一般用门来称呼,至于具体的单位,可以咨询半导体制造商)。
- 每个输出引脚的逻辑功能。
- 每个输入到输出的传递延时,输出到输出的传递延时;inout到输出的传递延时。
② 内容与结构
Synopsys的工艺库是一个.lib文件,经过LC编译后,产生.db文件。工艺库文件主要包括如下信息:
- 单元(cell)(信息):主要有 功能、时间(包括时序器件的约束,如建立和保持)、面积(面积的单位不在里面定义,可按照规律理解,一般询问半导体厂商)、功耗、测试等。
- 连线负载模型(wire load models):电阻、电容、面积。
- 工作环境/条件(Operating conditions):制程(process)(电压和温度的比例因数k,表示不同的环境之间,各参数缩放的比例)
- 设计规则约束(Design ):最大最小电容、最大最小转换时间、最大最小扇出。
工艺库的结构如下所示:
文本描述如下所示:
这里以TSMC90nm工艺库为例,用slow.lib这个库来给大家介绍:
库总共三万多行,不可能每一行都解说,因此按照结构进行介绍。
打开这个.lib文件,可以看到最前面:
前面是注释,描述:名称、制程(是慢的模型)、电压、温度等数据信息。
接下来才是真正的库的信息:
库组(大结构):
Library(library_name){
...... ......
}
1.首先是库属性描述:
下面是解释:
·通用属性描述(general attribute):
主要是工艺类型、延迟模型、替代交换方式、库特征、总线命名方式等信息
工艺类型:这个库没有给出,主要用来说明这个库是CMOS工艺还是FPGA工艺。默认是CMOS工艺。
延迟模型:指明在计算延迟时用的那个模型,主要有generic_cmos(默认值)、table-lookup(非线性模型)、piecewise-cmos(optional)、dcm(Delay Calculation Module)、polynomial。这个库使用的非线性模型。
替代交换方式:这里选的是匹配封装的方式。具体的信息可以查阅其他治疗或者询问半导体厂商。
库特征:报告延迟计算,也就是这个库具有延迟计算的特征。
总线命名方式:定义库中总线命名规则。例如:bus_naming_style:"Bus%spin%d";这个库没有进行总线规则的命名。
·库的文档资料属性(document attribute):
主要是库的版本、库的日期、还有注释。例如:
用库报告命令report_lib可显示日期例如:Date:"Wed Jun 22 12:31:54 2005"。
修正版属性定义库的版本号码,例如Revision:1.3;
注释属性用于报告report_lib命令所显示的信息,如版权或其他产品信息。例如:Comment:"Copyright (c) 2005 Artisan Components, Inc. All Rights Reserved.”
·定义单位属性(unit attribute):
Design Compiler工具本身是没有单位的。然而在建立工艺库和产生报告时,必须要有单位。库中有6个库级属性定义单位:time_ unit(时间单位)、voltage_unit(电压单位)、current_ unit(电流单位)、pulling_resistance_unit(上/下拉电阻单位)、capacitive_load_unit(电容负载单位)、leakage_power_unit(漏电功耗单位)。
单位属性确定测量的单位,例如可在库中用毫微秒(nanoseconds)或皮法拉(picofar-ads)作为时间和电容负载的单位。
注:关于面积的单位,前面已经说了,这里不再详述。
2.接下来是环境描述:
主要包括操作条件(operation conditions)、临界条件定义(threshold definitions)、默认的一些环境属性(default attributes)、一些(时序、功耗)模型(templates)、比例缩放因子(k-factors)、I/O pad属性(pad attributes)、线负载模型(wire-loads)。
·操作条件(operation conditions):