Chapter4标准单元技术
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
这两个产业中非常常用的术语体现了半定制ASIC 设计流程的实质,使得当前的IC设计在方法上发生了 根本性变化。
▪ 单元库 Library of Cells
单元库是半定制设计流程的先决条件。
单元库中包含了综合和P&R 工具要用的逻辑门和 时序构件;在任何一个ASIC设计流程的全部过程中 ,整个设计只需要用单元库实现。
▪ 有效性 (Efficiency):如果综合和布局布线的结果 速度快、芯片面积小,且功耗低,则说明单元库有 效而且高质量。
▪ 可靠性 (Robustness):一个单元库在面积、功耗 和性能方面做到了平衡,但是如果不可靠,那这个 库没有任何作用。因此库单元的设计必须要对ESD 静电保护、闩锁效应的抑制、电子迁移、天线效应 和噪声灵敏度方面有所考虑。
24
标准单元库的质量评价(3/3)
▪ 时间性 (Timeliness):一个库必须要能在工艺有 效的早期时间投入使用。否则工艺不能发挥最大的 潜力来产生效益。
▪ 成本 (Cost):库的成本是很难说的。开发一个库在 开发工具和时间上的成本可能都是很高的。但是, 买一个现成的库总是意味着在想要的和可用的之间 进行了折衷。因此,在购买库和开发库之间,你选 择其中的一个一定是因为其明显的经济优势,反之 亦然。
也就是与工具有关;
19
工具对版图的要求
▪ 功能的完整性:通常必须包括inverter、buffer
、tristate buffer(三态缓冲)、NAND和NOR(或 AND和OR)、Latch(带复位和置位)、及Flip-Flop 等;
▪ 模型库必须包含延迟、功耗、输入电容、输 出电容等特征值;
▪ 还须包括VHDL/Verilog模型及引脚列表,并 给出引脚的方向(input、output、inout);
Standard Input and Output Cells
2
§4.1 引言
▪ 半定制ASIC设计流程 ▪ 基于标准单元的ASIC设计技术 ▪ 什么是标准单元库 ▪ 什么是标准单元
33
半定制ASIC设计流程
• Separate teams to
design and verify
• Physical design is
23
标准单元库的质量评价(2/3)
▪ 可移植性 (Portability):在对库的评价上,库对 多种代工的可移植能力的重要性在逐渐增加。用一 套适用于多个厂商的通用设计规则建立的单元库则 有好的移植性。
▪ 可用性 (Usability):如果没有配套的设计属性,库 再大也没有作用。在下面列出的设计属性类型中, 取决于不同的设计方法,一个可用的库需要配套的 设计属性也不同。包括:电路设计、综合、模拟、 布局布线、静态时序验证和ATPG。
所有这些属性一起给单元库中的每一个单元提 供了一个完整的描述。在IC设计的实现过程中不同 的自动化CAD 工具用它们来完成不同的设计任务。 。
18
版图库
▪ P&R工具生成层次化的版图; ▪ 单元库里的版图是构成层次化版图的叶单元 ▪ ;单元库里的版图形状必须规则化,以便于
P&R工具拼接并易于进行布局布线; ▪ 单元库里的版图必须满足工具使用的要求,
15
标准单元库的特点 (3/5)
在每个功能组为逻辑单元定义了不同尺寸的实 现以实现对不同的扇出提供相应的驱动。如反相器 包括1X驱动的INV1,2X的INV2,4X的INV4等。
同一种功能中不同驱动能力的单元为综合工具 提供了灵活性,从而可以得到最佳的综合结果。另 外,标准化的尺寸确保设计过程中不会出现奇怪的 尺寸和单元的最大共享。
6
标准单元设计技术
标准单元设计法是一种基于预先安装的库单元 的芯片设计方法。库中的单元都已经预先完成了基 于一个特定工艺的设计、版图和验证。这些单元已 完全特征化,建立了相应的逻辑、时序、物理和电 路模型并保存在库中。
基于标准单元设计IC的版图时,设计者只需把 综合得到的网表送到自动布局布线工具(P&R)中, 该工具会自动完成网表到标准单元的映射以及单元 间的布局和布线,从而得到最终版图。
16
标准单元库的特点 (4/5)
模型参数要包括延迟、功耗、输入电容和输出 电容等基本内容。
为了提高版图质量并继续利用标准单元设计自 动化高的优点,必须增大单元的规模并对单元版图 进行精细优化,为此在标准单元的基础上又发展了 宏单元和 IP 硬核等较复杂的单元。这些单元版图 也都采用全定制方法设计,同样也要经过专门优化 和严格验证,但电路版图在性能和面积方面要比单 纯基于标准单元设计的版图好很多。
20
标准单元库的主要内容
▪ SSI logic: e.g. nand, nor, xor, inverters,
buffers, latchs, registers;
▪ MSI logic: e.g. decoders, encoders, adders,
comparators;
▪ Datapath: e.g. ALUs, adders, register,
▪ 什么是标准单元库 ▪ 标准单元库的特点 ▪ 标准单元库的主要内容 ▪ 标准单元库的质量评价
1111
什么是标准单元库
▪ 标准单元库 (Standard Cell Libraries)是ASIC设 计流程中用到的预先定义好的、特征化的构建模块 的集合。由于这种库通常具有通用接口实现和规则 结构,所以通常称为“标准单元库”。
某些情况下,也可能对同一个工艺同时有几个 单元库,每个库针对不同的目标(如高速度、低功 耗或高密度等)有特定的应用。
另外,还可能对同一个工艺针对不同的工作环 境条件有不同的单元库,每个库针对不同的环境条 件(如温度)有特定的应用。
14
标准单元库的特点 (2/5)
▪ 要求具有“功能”的完整性。
一个典型的现代ASIC标准单元库里可能有超 过几百个不同的标准单元,在单元库里对这些单 元按其功能进行分类。通常必须包括反相器、与 和或(或者与非和或非)、三态缓冲器、锁存器 和触发器(包括异步带置位与复位)在内的基本 功能块。
采用标准单元设计法设计的版图在性能和面积 上不如全定制设计的版图,但它通过单元复用减少 了设计工作量,缩短了设计周期。更重要的是,也 是基于标准单元的版图设计的最大优点在于有强大 的自动布局布线工具支持,设计自动化程度很高。
因此,标准单元设计方法是当前商用电路,尤 其是大的数字电路的主要设计方法,而且很多SoC 电路的设计也采用此方法。
加,进一步增加了全定制版图设计过程的复 杂性;
▪ 存在加快电路和版图设计过程的需要,因此 全定制设计不再可行;
▪ 自动化工具,尤其是综合和布局布线(P&R)工 具的出现和应用需要标准单元库(包括版图模 型、逻辑模型、时序和功耗模型)的支持。
13
标准单元库的特点 (1/5)
▪ 一个ASIC标准单元库通常是只针对一个特 定的工艺。
Chapter4 标准单元技术
Standard Cell Techniqtion §4.2 标准单元库 Standard Cell Library §4.3 标准单元 Standard Cell §4.4 基于标准单元技术的设计规则
Design Rules for Cell-Based approach §4.5 标准输入和输出单元
(semi-) automated
• Loops to get device
operating frequency correct can be troubling
44
逻辑综合 Logic Synthesis
• Changes cloud of combinational
functionality into standard cells (gates) from fab-specific library;
7
标准单元设计技术的特点
▪ 在逻辑级或功能级上实现标准化; ▪ 每一个门有多种特定的设计并存储在数据库
或单元库中;
每一个单元有Behavioral level、Structural level和Physical level的多种描述。
▪ 版图用CAD自动布局布线工具生成。
8
标准单元设计技术的优点
28
硬件模块的抽象描述(1/3)
如下图所示,在芯片的实现过程中,模块电路 的抽象描述有四种层级。
最低的一级是晶体管级或器件级。在这一级中的 单元模块直接用诸如晶体管、二极管、电容和电阻一 类最基本的器件元素来描述。标准单元就是直接用晶 体管构成的,它比晶体管的抽象层高一级。
29
硬件模块的抽象描述(2/3)
25
§3.3 标准单元
▪ 什么是标准单元 ▪ 硬件模块的抽象描述 ▪ 标准单元的基本属性 ▪ 标准单元的基本特性 ▪ 标准单元的基本结构
2626
什么是标准单元
▪ 标准单元是指基于单元的设计中用到的预先 定义好的、特征化的具有通用接口实现和规 则结构的基本构建模块。 将常用于各种ASIC设计中的不同类型的 叶单元或“构建模块”进行优化,形成具有 通用接口实现和规则结构的可重复利用的单 元库。
shifters;
▪ Memories: e.g. RAM, ROM;
▪ System level blocks: e.g. multipliers,
microcontrollers;
21
开发单元库的基本步骤
22
单元库的质量评价(1/3)
ASIC单元库的质量对用该库实现的设 计的质量影响极大。ASIC 单元库的质量可 用以下标准评价:
单元库提供了用于综合的功能构建模块和为布 局布线提供的单元的版图描述。硬件描述语言综合 的过程也将所选择逻辑单元限制在库所提供的单元 中,从而确保了在使用自动布局布线进行设计时单 元的物理或版图描述一定存在。标准单元库是ASIC 设计方法得以实现的基础之一。
1212
为什么要开发标准单元库
▪ 设计的规模和复杂性日益增加; ▪ 典型加工工艺的进步,包括布线金属层的增
9
基于标准单元设计的基本步骤
▪ 用高层描述语言(如HDL)建立对电路系统 的描述;
▪ 用综合工具将该描述综合成逻辑网表;
综合工具需要用到单元的逻辑描述。
▪ 用自动布局布线(P&R)工具将该逻辑网表综合 成物理版图;
P&R工具需要用到版图库,还可能要用到简单 描述形式的版图。
10
§3.2 标准单元库
17
标准单元库的特点 (5/5)
▪ 一个完整的ASIC单元库应该包含每个单元 用于各设计阶段自动化设计工具的所有信息 (用”view”来表征):
逻辑属性(logic view),时序属性(timing view) ,物理属性( physical view),功率属性( power view),和电学属性(electrical view)。
• Chooses standard cell flip-
flop/latches for timing statements
• Attempts to minimize delay
and area of resulting logic
55
半定制ASIC设计流程的主要特征
▪ “综合Synthesis” and “自动布局布线Placeand-Route”
27
标准单元的分类
单元库里的标准单元,或者是用于存储信息, 或者是完成某种特定的逻辑功能。
用于存储数据的标准单元类型称为时序单元,如 Flip-flops (FF)和latches,它们是任何一个ASIC单 元库中必不可少的部分。
用于对输入的逻辑信号完成特定的逻辑运算的标 准单元类型称为组合单元,如nand, nor, xor, inverters和buffers等。
抽象的层次越高,设计中所含的具体实现细节 就越少。
30
标准单元的基本属性(1/3)
由于标准单元是ASIC设计方法的基本构成模 块,因此在用这些单元构建芯片时必须要提供给CAD 工具相应的单元信息: ▪ 单元的物理版图 (physical appearance) ▪ 单元的逻辑功能 (logic functionality) ▪ 单元的时序特性 (timing behavior) ▪ 单元的电学特性 (electrical characteristics)
晶体管级的上一级是单元级。在这一级中的模 块设计用标准单元构成。
再上一级是模块级。在这一级中,设计是用诸 如加法器、乘法器、ALU和移位寄存器类的功能模 块来描述的。
最高一级是芯片级。在这一级中,设计被划分 为诸如DSP、微控制器、MPEG编码器、UART、 USB、ADC、DAC和PLL类的具有复杂功能的子系 统。
▪ 单元库 Library of Cells
单元库是半定制设计流程的先决条件。
单元库中包含了综合和P&R 工具要用的逻辑门和 时序构件;在任何一个ASIC设计流程的全部过程中 ,整个设计只需要用单元库实现。
▪ 有效性 (Efficiency):如果综合和布局布线的结果 速度快、芯片面积小,且功耗低,则说明单元库有 效而且高质量。
▪ 可靠性 (Robustness):一个单元库在面积、功耗 和性能方面做到了平衡,但是如果不可靠,那这个 库没有任何作用。因此库单元的设计必须要对ESD 静电保护、闩锁效应的抑制、电子迁移、天线效应 和噪声灵敏度方面有所考虑。
24
标准单元库的质量评价(3/3)
▪ 时间性 (Timeliness):一个库必须要能在工艺有 效的早期时间投入使用。否则工艺不能发挥最大的 潜力来产生效益。
▪ 成本 (Cost):库的成本是很难说的。开发一个库在 开发工具和时间上的成本可能都是很高的。但是, 买一个现成的库总是意味着在想要的和可用的之间 进行了折衷。因此,在购买库和开发库之间,你选 择其中的一个一定是因为其明显的经济优势,反之 亦然。
也就是与工具有关;
19
工具对版图的要求
▪ 功能的完整性:通常必须包括inverter、buffer
、tristate buffer(三态缓冲)、NAND和NOR(或 AND和OR)、Latch(带复位和置位)、及Flip-Flop 等;
▪ 模型库必须包含延迟、功耗、输入电容、输 出电容等特征值;
▪ 还须包括VHDL/Verilog模型及引脚列表,并 给出引脚的方向(input、output、inout);
Standard Input and Output Cells
2
§4.1 引言
▪ 半定制ASIC设计流程 ▪ 基于标准单元的ASIC设计技术 ▪ 什么是标准单元库 ▪ 什么是标准单元
33
半定制ASIC设计流程
• Separate teams to
design and verify
• Physical design is
23
标准单元库的质量评价(2/3)
▪ 可移植性 (Portability):在对库的评价上,库对 多种代工的可移植能力的重要性在逐渐增加。用一 套适用于多个厂商的通用设计规则建立的单元库则 有好的移植性。
▪ 可用性 (Usability):如果没有配套的设计属性,库 再大也没有作用。在下面列出的设计属性类型中, 取决于不同的设计方法,一个可用的库需要配套的 设计属性也不同。包括:电路设计、综合、模拟、 布局布线、静态时序验证和ATPG。
所有这些属性一起给单元库中的每一个单元提 供了一个完整的描述。在IC设计的实现过程中不同 的自动化CAD 工具用它们来完成不同的设计任务。 。
18
版图库
▪ P&R工具生成层次化的版图; ▪ 单元库里的版图是构成层次化版图的叶单元 ▪ ;单元库里的版图形状必须规则化,以便于
P&R工具拼接并易于进行布局布线; ▪ 单元库里的版图必须满足工具使用的要求,
15
标准单元库的特点 (3/5)
在每个功能组为逻辑单元定义了不同尺寸的实 现以实现对不同的扇出提供相应的驱动。如反相器 包括1X驱动的INV1,2X的INV2,4X的INV4等。
同一种功能中不同驱动能力的单元为综合工具 提供了灵活性,从而可以得到最佳的综合结果。另 外,标准化的尺寸确保设计过程中不会出现奇怪的 尺寸和单元的最大共享。
6
标准单元设计技术
标准单元设计法是一种基于预先安装的库单元 的芯片设计方法。库中的单元都已经预先完成了基 于一个特定工艺的设计、版图和验证。这些单元已 完全特征化,建立了相应的逻辑、时序、物理和电 路模型并保存在库中。
基于标准单元设计IC的版图时,设计者只需把 综合得到的网表送到自动布局布线工具(P&R)中, 该工具会自动完成网表到标准单元的映射以及单元 间的布局和布线,从而得到最终版图。
16
标准单元库的特点 (4/5)
模型参数要包括延迟、功耗、输入电容和输出 电容等基本内容。
为了提高版图质量并继续利用标准单元设计自 动化高的优点,必须增大单元的规模并对单元版图 进行精细优化,为此在标准单元的基础上又发展了 宏单元和 IP 硬核等较复杂的单元。这些单元版图 也都采用全定制方法设计,同样也要经过专门优化 和严格验证,但电路版图在性能和面积方面要比单 纯基于标准单元设计的版图好很多。
20
标准单元库的主要内容
▪ SSI logic: e.g. nand, nor, xor, inverters,
buffers, latchs, registers;
▪ MSI logic: e.g. decoders, encoders, adders,
comparators;
▪ Datapath: e.g. ALUs, adders, register,
▪ 什么是标准单元库 ▪ 标准单元库的特点 ▪ 标准单元库的主要内容 ▪ 标准单元库的质量评价
1111
什么是标准单元库
▪ 标准单元库 (Standard Cell Libraries)是ASIC设 计流程中用到的预先定义好的、特征化的构建模块 的集合。由于这种库通常具有通用接口实现和规则 结构,所以通常称为“标准单元库”。
某些情况下,也可能对同一个工艺同时有几个 单元库,每个库针对不同的目标(如高速度、低功 耗或高密度等)有特定的应用。
另外,还可能对同一个工艺针对不同的工作环 境条件有不同的单元库,每个库针对不同的环境条 件(如温度)有特定的应用。
14
标准单元库的特点 (2/5)
▪ 要求具有“功能”的完整性。
一个典型的现代ASIC标准单元库里可能有超 过几百个不同的标准单元,在单元库里对这些单 元按其功能进行分类。通常必须包括反相器、与 和或(或者与非和或非)、三态缓冲器、锁存器 和触发器(包括异步带置位与复位)在内的基本 功能块。
采用标准单元设计法设计的版图在性能和面积 上不如全定制设计的版图,但它通过单元复用减少 了设计工作量,缩短了设计周期。更重要的是,也 是基于标准单元的版图设计的最大优点在于有强大 的自动布局布线工具支持,设计自动化程度很高。
因此,标准单元设计方法是当前商用电路,尤 其是大的数字电路的主要设计方法,而且很多SoC 电路的设计也采用此方法。
加,进一步增加了全定制版图设计过程的复 杂性;
▪ 存在加快电路和版图设计过程的需要,因此 全定制设计不再可行;
▪ 自动化工具,尤其是综合和布局布线(P&R)工 具的出现和应用需要标准单元库(包括版图模 型、逻辑模型、时序和功耗模型)的支持。
13
标准单元库的特点 (1/5)
▪ 一个ASIC标准单元库通常是只针对一个特 定的工艺。
Chapter4 标准单元技术
Standard Cell Techniqtion §4.2 标准单元库 Standard Cell Library §4.3 标准单元 Standard Cell §4.4 基于标准单元技术的设计规则
Design Rules for Cell-Based approach §4.5 标准输入和输出单元
(semi-) automated
• Loops to get device
operating frequency correct can be troubling
44
逻辑综合 Logic Synthesis
• Changes cloud of combinational
functionality into standard cells (gates) from fab-specific library;
7
标准单元设计技术的特点
▪ 在逻辑级或功能级上实现标准化; ▪ 每一个门有多种特定的设计并存储在数据库
或单元库中;
每一个单元有Behavioral level、Structural level和Physical level的多种描述。
▪ 版图用CAD自动布局布线工具生成。
8
标准单元设计技术的优点
28
硬件模块的抽象描述(1/3)
如下图所示,在芯片的实现过程中,模块电路 的抽象描述有四种层级。
最低的一级是晶体管级或器件级。在这一级中的 单元模块直接用诸如晶体管、二极管、电容和电阻一 类最基本的器件元素来描述。标准单元就是直接用晶 体管构成的,它比晶体管的抽象层高一级。
29
硬件模块的抽象描述(2/3)
25
§3.3 标准单元
▪ 什么是标准单元 ▪ 硬件模块的抽象描述 ▪ 标准单元的基本属性 ▪ 标准单元的基本特性 ▪ 标准单元的基本结构
2626
什么是标准单元
▪ 标准单元是指基于单元的设计中用到的预先 定义好的、特征化的具有通用接口实现和规 则结构的基本构建模块。 将常用于各种ASIC设计中的不同类型的 叶单元或“构建模块”进行优化,形成具有 通用接口实现和规则结构的可重复利用的单 元库。
shifters;
▪ Memories: e.g. RAM, ROM;
▪ System level blocks: e.g. multipliers,
microcontrollers;
21
开发单元库的基本步骤
22
单元库的质量评价(1/3)
ASIC单元库的质量对用该库实现的设 计的质量影响极大。ASIC 单元库的质量可 用以下标准评价:
单元库提供了用于综合的功能构建模块和为布 局布线提供的单元的版图描述。硬件描述语言综合 的过程也将所选择逻辑单元限制在库所提供的单元 中,从而确保了在使用自动布局布线进行设计时单 元的物理或版图描述一定存在。标准单元库是ASIC 设计方法得以实现的基础之一。
1212
为什么要开发标准单元库
▪ 设计的规模和复杂性日益增加; ▪ 典型加工工艺的进步,包括布线金属层的增
9
基于标准单元设计的基本步骤
▪ 用高层描述语言(如HDL)建立对电路系统 的描述;
▪ 用综合工具将该描述综合成逻辑网表;
综合工具需要用到单元的逻辑描述。
▪ 用自动布局布线(P&R)工具将该逻辑网表综合 成物理版图;
P&R工具需要用到版图库,还可能要用到简单 描述形式的版图。
10
§3.2 标准单元库
17
标准单元库的特点 (5/5)
▪ 一个完整的ASIC单元库应该包含每个单元 用于各设计阶段自动化设计工具的所有信息 (用”view”来表征):
逻辑属性(logic view),时序属性(timing view) ,物理属性( physical view),功率属性( power view),和电学属性(electrical view)。
• Chooses standard cell flip-
flop/latches for timing statements
• Attempts to minimize delay
and area of resulting logic
55
半定制ASIC设计流程的主要特征
▪ “综合Synthesis” and “自动布局布线Placeand-Route”
27
标准单元的分类
单元库里的标准单元,或者是用于存储信息, 或者是完成某种特定的逻辑功能。
用于存储数据的标准单元类型称为时序单元,如 Flip-flops (FF)和latches,它们是任何一个ASIC单 元库中必不可少的部分。
用于对输入的逻辑信号完成特定的逻辑运算的标 准单元类型称为组合单元,如nand, nor, xor, inverters和buffers等。
抽象的层次越高,设计中所含的具体实现细节 就越少。
30
标准单元的基本属性(1/3)
由于标准单元是ASIC设计方法的基本构成模 块,因此在用这些单元构建芯片时必须要提供给CAD 工具相应的单元信息: ▪ 单元的物理版图 (physical appearance) ▪ 单元的逻辑功能 (logic functionality) ▪ 单元的时序特性 (timing behavior) ▪ 单元的电学特性 (electrical characteristics)
晶体管级的上一级是单元级。在这一级中的模 块设计用标准单元构成。
再上一级是模块级。在这一级中,设计是用诸 如加法器、乘法器、ALU和移位寄存器类的功能模 块来描述的。
最高一级是芯片级。在这一级中,设计被划分 为诸如DSP、微控制器、MPEG编码器、UART、 USB、ADC、DAC和PLL类的具有复杂功能的子系 统。