《全定制IC版图设计.doc》由会员分享,可在线阅读,更多相关《全定制IC版图设计.doc(47页珍藏版)》请在三一办公上搜索。
1、 第 二部分 全定制集成电路设计 第一章 UNIX简介 第二章 集成电路版图设计概述 第三章 全定制集成电路设计系统 第四章 全定制版图编辑 第五章 版图验证 版图几何规则检查DRC 版图电学规则检查ERC 版图与原理图一致性检查LVS 第六章 全定制集成电路设计方法 第一章 UNIX 简介 11 UNIX操作系统 1 UNIX操作系统版本 1) 两个基本版本 C语言是UNIX操作系统的编程语言。有两个基本版本:l UNIX系统V版本 AT&T开发。l BCD 版本 Berkeley 开发。 2) SVR4版本(UNIX System Release 4) UNIX系统第4版把许多Berkel
2、ey UNIX和其他UNIX的流行 特性加入到系统V中,SVR4版本是一个综合版本。2 其他UNIX操作系统1) HP-UXHP-UX是惠普公司的UNIX操作系统版本,基于UNIX系统V版本, 能在惠普的计算机和工作站上运行。2) SolarisSolaris是SUN公司基于UNIX SVR4版本开发的操作系统,现在的Solaris版本为Solaris 2.8版. Solaris装机量大,许多EDA工具都能在工作站的Solaris下运行.3) LINUXLINUX操作系统具有UNIX系统V的特性并进行了许多增强.LINUX是UNIX的一个免费使用版本。是一个在个人计算机上十分流行的操作系统.1
3、.2 UNIX操作系统概要1 UNIX操作系统的结构1) 内核UNIX的内核为UNIX的基本操作系统,负责管理所有与硬件相关的功能.用户不能访问.2) 常驻模块层提供执行用户请示的服务例程,包括输入/输出控制服务,文件/磁盘访问服务以及进程启动或中止.用户通过调用访问常驻模块层.3) 工具层 UNIX的用户接口,即 shell . shell 和其他UNIX命令和工具都是单独的程序.UNIX有100多个命令和工具,向用户提供各种服务和运用程序.4) 虚拟计算机UNIX操作系统向系统中的每一个用户指定一个执行环境,包括一个与用户交流的终端和共享的其它资源,如内存,CPU等.5) 进程UNIX操作
4、系统通过进程向用户和程序分配资源. 2 UNIX操作系统的特征1) 可移植性UNIX操作系统可运行在从微机到巨型机的各种计算机上.2) 多用户UNIX操作系统可支持100个以上的用户同时使用同一台机器,并提供安全机制,个用户仅能访问各自有权访问的数据和程序.3) 多任务 UNIX操作系统允许用户在前后台执行多个程序.4) 多级文件系统UNIX操作系统支持对文件和程序进行分组,以方便数据和程序的管理.5) 与设备独立的输入和输出操作UNIX操作系统把所有设备都视为文件,用户可以把命令输出重定向到任何设备或文件,也可重向成从磁盘读入.6) 用户界面:shellshell是UNIX操作系统对用户和对
5、外的接口界面,是操作系统的一部分。 用户不仅可以访问shell,还可以开发自己的shell 。 shell脚本是由一系列命令组成的文件。 7)系统工具l 文本编辑和格式化程序l 文件管理程序l 网络应用程序l 开发工具程序 1.3 关于shell1 使用shell1) shell是一个命令解释程序2) shell 命令 一些UNIX命令是shell程序的一部分 3)shell是一种编程语言shell编程把一系列UNIX命令和shell命令组成文件,即新的shell命令,可执行特殊的操作,该文件称shell脚本。 2 shell的种类 SVR4为用户提供了3种不同风格的shell程序:l Bou
6、rne shell 是大多数UNIX的标准shell,也是系统默认的shell. 简称sh 或bash,提示符为“#”或“$”l Korn shell 除具有Bourne shell的基本语法和特征外,还有一些其他特征,Bourne shell脚本可在Korn shell下执行。简称ksh. 提示符为“#” 或“$”.l C shell 的语法不同于sh 和ksh ,使用一种C语言风格的语法, 简称csh,提示符为“%”.3 shell的命令格式 命令行的格式% 命令 命令选项 命令参数 命令名或路径 一个或多个单字符 命令名 提示符1) 命令名: 任何UNIX命令或系统工具都可以作为命令名。
7、在提示符后输入命令,ENTER执行命令,命令名区分大小写,只接受小写命令名。 不能用空格。 注意: 超级用户拥有执行所有命令的权限,普通用户只有执行一些命令 的权限 。 命令操作:l 输入一个UNIX命令按回车键,系统执行相应的功能,然后显示一个, 新的提示符,可输入新的命令。l 删除字符用回退键. l 删除一行按CTRL+U. l 中断程序运行.按 CRTL+C. l 用上键重新执行命令。l 命令字母区分大小写3) 命令选项命令选项是命令操作任务的选择。带-的字符。如 ls a. 4) 命令参数 命令参数表示命令的操作对象或类型。 print /home/myfile 14 UNIX文件系统
8、1 磁盘组织UNIX允许用户把硬盘许多单元(目录)和子单元(子目录),硬盘不象DOS那样分区。2 文件类型l 规则文件: 文本文件和程序(可执行文件)l 目录文件: 不是ASICII文本,包含有其他的文件信息。l 特殊文件: 包含对应于外设的特殊信息。 3 UNIX目录1) 目录系统提供了磁盘组织文件的层次结构。/ 根目录 Homeusermntetcdevlibbootbinbin user2user1 2)用户主目录 3) 工作目录 用户可以在主目录以外的目录工作.用户正在工作的目录称为工作目录.4) 文件路径和路径名 每个文件有一个路径名,从根目录开始经过所有中间目录直到某一个 文件.确
9、定了文件的路径和路径名.如:/home/user2/myfile.系统管理员创建系统中的所有用户,为每一个用户帐号分配一个特定的的目录.这个目录称为育用户主目录.用户登录系统时,自动处在用户主目录,用户可以根据需要从这个目录扩展目录.绝对路径名:绝对路径名总是从根目录开始。如 /etc/fstab.相对路径名:从当前目录开始。如 hone/work. 1.5 vi编辑器1 是多数UNIX支持的全屏编辑器。2 view版本只能读文件。 3 vi的工作模式:命令模式文本输入。4 状态行显示反馈编辑操作结果。1.5 Linux操作系统 1 Linux操作系统的特征1) 具有UNIX的一切特证。2)
10、基于Intel平台的个人计算机上的UNIX类操作系统。3) 可以自由获得源代码。2 Linux操作系统版本 1)Red Hat Linux 7.0 版 CORE 2.2 7.1 7.2 7.3 8.0版 功能强,支持平台多,丰富的软件,系统管理方便.1) 红旗 全中文版.2) 其他3 Red Hat Linux 的安装1) 安装在1024拄面内.有LILO界面,否则软盘启动.2) 分两个区:交换区 容量为内存容量, / 区为1G以上. 第二章 集成电路版图设计概述 2.1 版图设计的任务 设计出能生成光刻掩膜版的二维几何图形2.1.1 CMOS工艺处理过程 1 一次氧化 2 形成阱 3 生长薄
11、氧 4 长多晶 5 PMOS管源 6 NMOS管源 7 PMOS,NMOS源漏触孔 8 布线铝 2.1.2 版图设计图 2.1.2 版图设计基本方法 1 全定制法l 基于器件和单元电路的版图设计,l 设计周期长,l 芯片性能高,l 面积小,l 人机交互编辑器适于高性能单元电路和通用IC 2 半定制法l 已完成基本门或单元所组成的阵列的工艺,l 需用时,设计和制作接触孔和连线以完成电路功能,l 设计周期短,成本低。l 适于批量小,快投入市场的产品 3 定制法的产品l 调用已设计好的存放在库中的单元构造版图l 标准单元和通用单元l 适于芯片性能较高,设计周期短,批量大的产品 2 全定制设计流程芯片
12、规划编辑前的准备 版图编辑LVS ERC DRCNPE后模拟数据输出 生成掩膜 3 设计工具 1) 电路设计功能 2) 人机交互编辑器 3) 版图验证 4) 物理综合工具第三章 全定制集成电路设计系统3.1 ZENI九天工具设计过程3.1.1 流程图3.1.2 术语DRC 设计规则检查ERC 电学规则检查LVS 版图原理图一侄性检查NE 提取版图网表PE 提取寄生参数CDL 原理图网表 NET 版图网表LDC 版图验证接口管理器SLOGNET CDL/SPICE网表转换器SNET CDL/SPICE转换后的网表LDX LVS验证器 NGR 记录版图和节点/元件之间相关数据库 3.2 ZENI系
13、统运行环境3.2.1 平台要求计算机 Sun Sparc/Ultra Sparc Hp Intel操作系统 Solaris 2.5-2.8 10.xx, 11.xx Linux 2.2.内存 32MB 32MB 32MB 硬盘 10MB 10MB 10MB32.1 安装 1 安装环境 csh (root)2 执行 % cd /mnt/cddrom % /mnt/cdrom/install.exe 或 % ./install.exe3 挂装 在Root目录下 /eda_tools32.2 运行1 License文件 对HOST ID或NET ID有效路径 /eda_tools/license2
14、运行执行 source /eda_tools/zeni/zle_setup 运行版图编辑 source /eda_tools/zeni/veri_setup 运行电路设计 source /eda_tools/zeni/vde_setup 运行验证 /eda_tools/license/bin/lic_start 启动License文件 /eda_tools/license/bin/lic_info 启动NFS网络文件3 .cshrc 文件自动执行# .cshrc # User specific aliases and functionssource /eda_tools/zeni/zle_se
15、tupsource /eda_tools/zeni/veri_setupsource /eda_tools/zeni/vde_setup/eda_tools/license/bin/lic_start/eda_tools/license/bin/lic_infoalias rm rm -ialias cp cp -i alias mv mv -i setenv PATH /usr/local/sbin:/usr/sbin:/sbin:$PATH:$HOME/bin set prompt=id -nuhostname -s% 3.3 系统结构3.3.1 基本系统1 VDE电路设计系统1) 支持多
16、种输入2) 各种仿真3) 输出多种网表,其中CDL验证LVS的原理图网表2 ZLE版图编辑器1) 支持各种编辑方法2) 支持层次化编辑3) 参数化单元发生器4) 存储器发生器5) Mosaic 镶嵌发生器6) 自动打孔7) GDSII ,CIF ,LEF 数据输入/输出接口3 VERI验证1) 执行Dracula命令文件的验证方法2) 多种执行方法l 命令执行l LDC交互式执行l 在线调用版图验证,再线显示验证结果3) 支持DRC,ERC,NE,PE,LVS3.1.1 ZENI的项目组织 第三章 版图编辑 3.1 版图的基本概念 3.1.1 图元(图素) 1 图元是版图一个图层上的一个图形,
17、2 表示器件,互连线,节点版图的一部分3 图元的种类 矩形(box rectangle) 多边形(polygon) 等宽线(path wire bus) 圆(circle round) 弧(arc) 3.1.2 图层(Layer)1 同一层的图形具有共同的属性, 如OX掩膜层. 注释层等 2 图层具有指定的名称 3 每一图层具有相同的颜色和风格 4 版图上的注释 1) 图形注释和文字注释 2) 注释层与生成掩膜有关说明 3.1.4 多个图层构成版图 Layout1 表示一个器件 Element2 表示一个电路单元 Cell 3 表示一条网线 Wier 4 表示一个节点 Node 或PIN3.1
18、.5 版图单元 CELL1 一个器件,门,电路单元,整个芯片的版图都可定为版图单元2 下层单元,上层单元,顶层单元(整个芯片)3 下层单元被上层单元调用称为例元(Instance)3.1.6 版图数据库 LIBRARY 1 版图数据以单元为单位存放于库中2 库中的单元具有层次关系3 库有统一的版图工艺3.1.6 版图工艺规则1 版图工艺是版图设计过程2 版图工艺规则是版图设计过程应尊守的规则 3 图层规则由流片工艺决定 CMOS N阱版图工艺如图 4 尺寸规则5 版图设计中的基本技术参数的设定1) 图层的设定:层名,层号, 颜色和风格,工艺文件 NameCmos; Scale 1000; La
19、yernw; Number1; ColorMagenta; FillEmpty; Stipple0; LineWidth1;EndLayer;Layerox; Number2; ColorGreen; FillPattern61; Stipple0; LineWidth1;EndLayer;Layerpg; Number3; ColorRed; FillPattern62; Stipple0; LineWidth1;EndLayer;2) 长度单位的设定:运算单位长度: 0.0001 UM版图编辑比例因子(SCALE): 1000 实际单位长度(标尺) : 运算单位长度X比例因子 长度分辩率:
20、 游标的步长,即单位长度的小栅格 3.2 版图的交互编辑方法 3.2.1 基本的图形操作 1 几何作图 2 图形的拉伸1) 3 图形的切割 4 图形的放大与拓展 5 图形的逻辑操作 6 图形的删除与复制 7 图形的平移与变向(旋转) 3.2.2 层次化的图操作1 例元INSTANCE : 上层单元调用下层单元, 下层单元为例元2 同层不能调用3 指定单元的名称3.2.4 参数化单元1 用TCL/TK语言写的单元文件,有些参数待定2 参数化单元模板文件 #This part is for defind parameter to custom geom#proc PMOSrexSetParamet
21、er global VcellParameter VcellFunction set VcellParameter(1) gateW 5 set VcellParameter(2) gateL 1 set VcellFunction PMOSrex_vcproc PMOSrex_vc gateW gateL global VCellGeometry #define layers & rules set cut cont set gate poly1 set metal metal1 set act pdiff set nwell nwell set VCellGeometry(0) # con
22、tacts geometry set VCellGeometry(1) list B $cut -7 -0.5 -6 0.5 set VCellGeometry(2) list B $cut -3 -0.5 -2 0.5 set VCellGeometry(3) list B $cut 2 -0.5 3 0.5 # gate geometry set VCellGeometry(4) list B $gate -0.5 -2.5 0.5 2.5 # metal1 geometry set VCellGeometry(5) list B $metal -7.5 -1 -5.5 1 set VCe
23、llGeometry(6) list B $metal -3.5 -1 -1.5 1 set VCellGeometry(7) list B $metal 1.5 -1 3.5 1 # active geometry set VCellGeometry(8) list B $act -4 -1.5 4 1.5 # nwell geometry set VCellGeometry(9) list B $nwell -5 -2.5 5 2.5 3.2.5 图形编辑的环境设置 1 网格 网格开关 2 显示长度分辨率 指X Y方向上的长度分辨率,即最小栅格的长度红 pg浅蓝 nw紫 pdiff绿 ox
24、黄 co 蓝 ml 3.2.6 版图数据交换文件 1 设计的结果是版图数据,zeni的版图数据格式LEF 2 通过数据交换接口,不同的工具间可交换版图数据 3 常用的公共交换数据格式 EDIF 工业界 描述电子电路设计的接口网表, 图形的连接的格式化公共交换文件. GDS 工业界 描述复杂的版图图形, 二进制数据流格式,不可读 CIF格式 学术界和工业界,描述复杂的版图图形,ASC码文本格式1.0 3.2.7 版图CIF文件1 CIF文件提供一组基本图素多边形,矩形,圆,和线条,用以描述集成电路芯片中不同层次的二维图形2 基本格式 关键词或字母 参数1 参数2 参数N; 3 控制类语句 DS
25、子程序定义的开始 DF 子程序定义的J结束 DD 删除子程序 0-9 用户定义的信息,9单元名称 (“”) 注释 END CIF文件结束 4 几何类图形描述语句 L (LAYER) 图层名 B (BOX) 矩形 W(WIRE) 线条 R (ROUNDFLASH) 圆 P (POLYGON) 多边形 5 调用子程序语句 C (CELL) 1.0 DS 开始语句1 DS 参数 1 子程号 2 比例因子 分子/分母2 定义子程序开始3 CIF文件中的长度单位: 缺省 长度单位=0.01um 无比例因子 分子a=1 分母b=1 一般 a=m b=m 文件中的长度单位=0.01um a/b 改变比例因子
26、可使图形放大或缩小2.0 DF 结束语句DF无参数2.1 DD 删除语句 1 有一个参数 2 子程序的序号等于或大与DD的参数值,则该子程序被删除2.2 09数字用户可采用的定义语句如单元名称2.3 E (END) 文件结束,无分号2.4 C (CELL) 调用子程序 1 参数1 为调用的子程序号,产生一个该号子程序的图形 2 参数2 为转换信息 ,使产生的子程序的图形变化 如 T 坐标 发生移动 R 旋转 2.5 L (LAYER) 图层语句按工艺图层名如: NW OX PG PDIFF CO MLL NWL OX 等如图:2.6 B (BOX) 方框图形语句 1 格式 B 长度 宽度 图形
27、中心的X分量 Y分量 2 表示了方框图的大小和位置如图2.7 W (WIRE)线条 1 W 线条的宽度 任意多个坐标点 2 表示了线条的宽度和长度如图2.8 R 圆 1 R 直径 圆心的坐标2 表示了圆的大小和位置如图:2.9 P (POLYGON) 多边形 1 P 两个参数为一个坐标点 有任意个坐标点 2 多边形的形状和位置 3.0 图层映射第五章 版图验证5.1 版图验证基础5.1.1 版图验证项目1 设计规则检查DRC2 电学规则检查ERC3 版图与原理图一致性检查LVS4 版图网表提取5 版图参数提取LPE5.1.1 版图验证方法1 验证工具 ZENI veri2 ZENI验证流程3
28、术语 DRC 设计规则检查 ERC 电学规则检查 LVS 版图原理图一侄性检查 NE 提取版图网表 PE 提取寄生参数 CDL 原理图网表 NET 提取后的版图网表 LDC 版图验证接口管理器 SLOGNET CDL/SPICE网表转换器 SNET 原理图CDL/SPICE转换后的网表 LDX LVS验证器 NGR 记录了版图和节点/元件之间相关的数据 NAV 4 DRACULA命令文件的结构1) 系统描述2) 图层定义3) 工艺定义4) 操作5.1.2 图形运算命令 1 几何操作命令 AND layer1 layer2 layer3(outlayer cname lnum ) OR laye
29、r1 layer2 layer3(outlayer) NOT layer1 layer2 layer3(outlayer) XOR layer1 layer2 layer3(outlayer) 2 相关操作命令 select layer1 inside layer2 layer3(outlayer) select layer1 outside layer2 layer3(outlayer) select layer1 encloses layer2 layer3(outlayer) select layer1 vertex layer2 layer3(outlayer) select laye
30、r1 cut layer2 layer3(outlayer) select layer1 touch layer2 layer3(outlayer) 5.1.3 版图的电学结构 1 节点: 版图中相连的连线称为网线,网线即节点。 导电层与节点相关,。2 图形连接:1) 构成网线的图层为连接层2) 相邻的两层相连用通孔层表示相连3) 同层的图形相连为连接层4) 硬连接:金属,多晶硅和通孔可直接作连接层5) 软连接:通过有源区的连接6) 定义层连接:通过对原始层(版图编辑时画的图层)上的图形进行逻辑运算导出的图层也能连接,3 图形连接性的定义 版图图形和图层间的连接需要定义1) 声明连接层命令语句
31、CONNECT-LAYER LAY1 LAY2 LAY3 2) 层间连接关系CONNECT LAY1 LAY2 BY LAY3如图4 器件的定义1) 定义器件的类型,源区,电极2) 定义语句ELEMENT device type regin trem1 term2 器件类型名 型号 源区图形层名 电极图形层名 如:ELEMENT MOS NMOS GATE POLY SD BULK3) 器件类型MOS,DIO 二极管,BJT双极型晶体管,RES电阻,CAP电容 4) 器件标示层 器件标示层表示器件的特征 MOS的标示层 BJT标示层 RES的标示层 CAP的标示层5.2 DRC设计规则检查 4
32、.2.1 DRC基本内容1 设计规则是版图中各种图形尺寸的规则2 设计规则的依据 以器件的特征尺寸为基准 制造工艺水平和其他因素3 DRC检查检查版图中各一掩膜相关层上图形的各种尺寸,保证无一违反预定的设计规则.几种典型边间距如图:5.2.1 ZENI的DRC流程 5.2.2 DRC命令 WIDTH layer LT n OUT cellName layerNum (layer 一个图层,LT表示小于, n是以用户单位表示的一个尺寸本条件表示layer上所有图形的内间距小于n 为错) EXT layer LT n OUT cellName layerNumEXT layer1 layer2 L
33、T n OUT cellName layerNum(同一层或两层上的两个图形间的外间距不得小于N) ENC layer1 layer2 LT n OUT cellName layerNum ( 当第1层上的图形被第2层的图形包含,内外距小于N为错) INT layer1 layer2 LT n OUT cellName layerNum ( 当1层和2层上的两个图形互相透入,内距小于N为错) 5.2.3 DRC命令文件 *; DRC rule file; for ZeniVERI demo; Aug. 10, 2002;*DESCRIPTION;- PRIMARY = decoder LIBR
34、ARY = mylib INDISK = decoder.gds SYSTEM = ZENI; SYSTEM = GDS2;- SCALE = 0.001 MICRON RESOLUTION = 0.001 MICRON;- FLAG-ACUTEANGLE = YES FLAG-OFFGRID = YES 0.1 PATH-W-OFFGRID = YES 0.1 FLAG-PTH-OFFGRID = YES FLAG-SELFINTERS = YES ERROR-PATH-WIDTH = 0.005 MICRON;-*END*INPUT-LAYER;- nw = 1 ox = 2 pg = 3 pdiff = 4 co = 5 m1 = 6 ;-