第三章 标准单元设计模板

标准单元设计模板

设计一个标准单元库需要建立起一组能在整个CAD工具流程中一起工作的单元(门、触发器等)。一般来说,意味着这些单元应当具有用他们来进行设计所必需的各种视图,并且应当具有相应的属性使他们能在一起工作。就CAD流程来说,意味着在单元库中的每个单元必须要拥有以下视图:

  1. 原理图视图:这一视图描述门级或晶体管级的单元定义。
  2. 行为级视图:这一视图是单元的Verilog描述。应当同时具有行为级描述块及列出事件信息的specify(说明)块,这样随着设计在流程中的推进,时间信息可以用较精确的估计进行反标。
  3. 版图视图:描述了单元的掩模版图。它应当通过所有的drc检查,同时应当遵守严格的物理和几何规范,这些单元才能适配在一起进行工作。
  4. 提取视图:这一视图从版图中提取电路网表并由提取过程生成。它应当与lvs检查工具一起,用来验证layout和schematic是否代表相同的电路。
  5. 抽象视图:这一视图从版图中提取,它告诉布局布线工具单元的出入口在什么位置,以及单元“不可进入”的部分或障碍在什么地方,因而不应当在它上面布线。
  6. LEF:这一Library Exchange Format(库交换格式)文件时从单元的抽象视图生成的。布局布线工具(SoC encounter)读取这个文件从而得知有关布线所用的工艺信息。以及有关库中这些单元的abstract视图。这一视图由Abstract程序生成。
  7. Verilog接口:用户设计的系统最终将以结构描述的Verilog文件作为布局布线的工具输入,这个Verilog文件描述了读者设计所用的标准单元门以及它们之间的连接关系。除了这个文件以外,每个单元还需要有一个简单的I/O接口(独立于LEF文件)是布局布线工具从语法上解析结构描述的Verilog文件。
  8. Lib:这是一个称为Liberty的标准格式(通常用 .lib 作为文件的扩展名),用来描述单元使综合工具能了解这些单元。这一文件描述 I/O 接口、逻辑功能、该单元端口上的电容及所提取的该单元的时间信息。它可以手工生成,也可以用Specter或Spice进行模拟仿真生成,或用Cadence的Encounter Library Characterizer (库表征)工具生成。

3.1 标准单元几何尺寸说明

在标准单元为基础的设计流程中,行为级的verilog描述将通过如Cadence的RTL Compiler 或Synopsys的Design Compiler程序用单元库自动综合成电路。然后,自动布局布线工具(SoC encounter)将把这些标准单元放在一行。为使这一布置尽可能有效,我们安排这些单元相互邻近排列。只要符合如何设计这些单元内部版图的简单规则,我们就能保证任何两个单元可以相邻布置而不会引起任何DRC错误。一些总的设计考虑如下:

  1. 由于单元将在行中相邻布置,所以我们将使所有单元具有相同的高度,这样它们就能很合适的放入行中。
  2. 所有我们基于CMOS的标准单元都有一组n-well中的pmos晶体管作为上拉网络,以及一组nmos晶体管作为下拉网络。我们总是将n-well与pmos管放在版图的顶部,而把nmos晶体管放在底部。这样布置,并使nwell层中所有单元都具有相同的高度,就可以使整个单元行中有一个连续的阱。
  3. 所有标准单元都有电源总线和地接总线。为避免在相邻布置单元时电源线和接地线短路,我们把vdd! 总线放在顶部而把 gnd! 总线放在底部。这是有意义的,因为我们把上拉网络放在顶部而把下拉网络放在底部。使所有单元的这些总线等高并沿所有这些单元的宽度布置,就可以通过自动搭接将相邻单元的电源总线和接地总线连接在一起。
  4. 所有标准单元的版图都有一个在版图左下角处的固定原点,但要注意它不是版图的绝对右下角。

举例:
cell_height:从gnd!总线中心至vdd!总线中心的距离。
cell_width:与垂直的metal2布线间距相匹配,也与阱及衬底接触的间距相匹配。
nwell height from top of cell:从单元顶部起的阱高度,这个高度为单元高度的2/3,因为通常pmos晶体管比nmos晶体管宽。
vdd! and gnd! bus height:这个高度从电源/地线的中心算起。如高度等于2.4,是从单元上边界以上1.2μ至单元下边界以下1.2μ。
vdd! and gnd! bus width:vdd!和gnd!的总线宽度应伸出单元边界1.2微米。这是为了便于使阱和衬底接触的metal1层充分重叠。

你可能感兴趣的:(数字)