一 工艺库
1 Synopsys的工艺库可以分为两类
1)逻辑库 :只包含与综合过程相关的信息,它由对设计进行综合和优化的DC采用。这些信息包括pin-to-pin 时序、面积、引脚(pin)类型以及DC需要的其他类型的电源。逻辑库是一个文本文件(通常扩展名为.lib),它由Library Compiler (LC) 编译以产生二进制格式的以.db为扩展名的文件。
2) 物理库:包含与Physical Compiler相关的单元的物理信息,这些信息包括:单元物理尺寸、层信息,单元方向等方面的数据,对于每一个逻辑单元,都有相应的物理单元。物理库同样也是文本文件(通常扩展名为.plib),并由LC编译产生二进制格式的.pdb文件。Synopsys提供了实用的名为“lef2pdb”的程序,用来将standard LEF (Library Exchange Format) 文件和工艺技术文件作为输入并将它转换成“pdb”格式的文件。前一个文件包含了设计中每个单元的物理信息,而工艺技术文件则包含了譬如层数、pitch、电阻、电容等特定工艺的信息。
该命令的用法为:
lc_shell> Ief2pdb –t tech.lef –l standard_cells.lef
二 逻辑库基础
逻辑库包含下列信息
1 库名语句:指定了库的名字,推荐将文件名和技术库的名字保持一致。
library (ex25) { /* start of library */
< library deion >
}/* end of library*/
2 库级属性
通常包含了如技术类型,日期,版本号,以及应用到整个库上的默认值等信息
library (ex25) {
technology (cmos);
delay_model : table_lookup;
date : “Feb 29,2000”;
revision : “1.0”;
current_unit :“1A”;
time_unit : “1 ns”;
voltage_unit :“1V”;
pulling_resistance_unit : “1kohm”;
capacitive_load_unit (1.0, pf);
default_inout_pin_cap : 1.5 ;
default_input_pin_cap : 1.0 ;
default_output_pin_cap : 0.0 ;
default_max_fanout : 10.0 ;
default_max_transition : 3.0;
default_operating_conditions: NOMINAL
in_place_swap_mode : match_footprint;
3 环境描述
(1)比例因子
比例因子或K因子作为一个乘数因子在工艺、电压、温度(简称为PVT)变动时提供了降低延迟值的方法,下面的例子只简单列了一些K因子
k_process_fall_transition : 1.0 ;
k_process_rise_transition : 1.2 ;
k_process_fall_propagation : 0.4 ;
k_process_rise_propagation : 0.4 ;
k_temp_fall_transition : 0.03 ;
k_temp_rise_transition : 0.04 ;
k_temp_fall_propagation : 1.2 ;
k_temp_rise_propagation : 1.24;
k_volt_fall_transition : 0.02 ;
k_volt_rise_transition : 0.5 ;
k_volt_fall_propagation : 0.9 ;
k_volt_rise_propagation : 0.85 ;
(2)工作条件
库中的工作环境(条件)集合定义了工艺、温度、电压和RC树模型。这些在设计综合和时序分析时采用。一个库以采用的工作(操作)条件为特征。在综合和时序分析时,如果如果指定了另一个工作环境的集合,则DC将根据指定的工作条件以K因子来减少延迟值。库开发者在库中可以定义任何数目的工作环境
典型的工作环境如下定义的技术库所示:
library:
operating_conditions (WORST) {
process : 1.3 ;
temperature: 100.0 ;
voltage: 2.75 ;
tree_type : worst_case_tree ;
}
operating_conditions (NOMINAL) {
process : 1.0 ;
temperature: 25.0 ;
voltage : 3.00 ;
tree_type : balanced_tree ;
}
operating_conditions (BEST) {
process : 0.7 ;
temperature: 0.0 ;
voltage: 3.25 ;
tree_type : best_case_tree ;
}
前面已经解释了工艺、温度、电压属性。树类型的属性(tree_type )定义了将要使用的环境互连模型。
在计算互连延迟时,DC使用这些属性的值来选择恰当的公式。
(3)时序范围模型
时序范围模型提供了计算信号到达时间的额外的能力,它是跟指定的工作环境有关的。
Synopsys 提供的这种能力使得设计已经被优化过的地方能适应工作环境的波动。在时序分析时,DC使用时序范围来计算信号的到达时间。
timing_range (BEST) {
faster_factor : 0.5 ;
slower_factor : 0.6 ;
}
timing_range (WORST) {
faster_factor : 1.2 ;
slower_factor : 1.3 ;
}
(4)线负载模型
线负载组包含了DC使用的在设计pre-layout phase 估计线互连延迟的一些信息
这些模型定义了电容,电阻和面积因素。另外,线负载组也指定了考虑中逻辑的slope 和 fanout_length 。电容、电阻和面积分别表示单位长度互连线的电容,电阻和面积
.....
4 单元描述
库中的每个单元包含了描述功能、时序以及与该单元相关的属性信息。下面的例子只给出了相关有用的信息
cell (BUFFD0) {
area : 5.0 ;
pin (Z) {
max_capacitance : 2.2 ;
max_fanout : 4.0 ;
: “I” ;
direction : output ;
timing () {
}
timing () {
}
related_pin : “I” ;
}
pin (I) {
direction : input ;
capacitance: 0.04 ;
fanout_load : 2.0 ;
max_transition : 1.5 ;
}
}
另外,DRC属性也与每个单元的引脚相联系,这些是:
输入引脚的 fanout_load 属性
输出引脚的 max_fanout 属性
输入或输出引脚的 max_transition 属性
输出或双向引脚的 max_capacitance 属性
DRC条件是基于生产厂商的工艺技术库,不可违反。设计违反这些条件将严重影响单元的正常描述,因此造成芯片制造失效。
三 延迟计算
Synopsys支持多种延迟模型。包括CMOS通用延迟模型,CMOS分段线性模型以及CMOS非线性查找表模型。目前由于VDSM造成前两种模型表示真实延迟不精确,已经很少使用。而非线性延迟模型在当今ASIC设计中占了主流地位...
文章评论(0条评论)
登录后参与讨论