安徽大学
本科毕业论文(设计、创作)
题 目: 集成电路逆向设计流程的研究 学生姓名: 学号:
院(系): 电子信息工程学院 专业: 微电子学 入学时间: 2008 年 9 月 导师姓名: 职称/学位: 导师所在单位: 安徽大学电子信息工程学院 完成时间: 2012 年 5 月
集成电路逆向设计流程的研究
摘 要
集成电路(IC)逆向设计(工程)是一种人们从优秀芯片中提取技巧和知识的过程,是获取芯片工艺、版图、电路、设计思想等信息的一种手段。人们对已有的集成电路芯片进行完全仿制设计,或在原有芯片的基础上进行部分改动设计。然后依据现有工艺线的设计规则要求重新流片,可以通过对原有芯片进行压缩面积、更改更细线宽,从而达到降低芯片成本的要求。
简单而言,芯片反向设计就是通过对芯片内部电路的提取与分析、整理,实现对芯片技术原理、设计思路、工艺制造、结构机制等方面的深入洞悉,可用来验证设计框架或者分析信息流在技术上的问题,也可以助力新的芯片设计或者产品设计方案。
芯片反向设计服务包括网表/电路图反向提取、电路层次化整理、逻辑功能分析、版图提取与设计、设计规则检查调整、逻辑版图验证、单元库替换以及工艺尺寸的缩放等方面。
关键字:逆向设计;逆向软件;网表提取;LVS检查
Research of IC reverse design flow
Abstract
Integrated circuit ( IC ) design ( Reverse Engineering ) is a kind of process that people design extraction skills and knowledge from excellent chip. It is a means of obtaining the information of the chip, such as technology, layout, circuit and design. People have copied the design completely, or have some design changed which is based on the original integrated circuit chip. Then in order to reduce the chip cost requirements, people can pass on the original chip compression area and change more fine lines on the basis of the existing process line and design rules.
In simple terms, reverse design is based on the chip circuit extraction , analysis and collation. It realizes to the in-depth understanding of technology principle, design, manufacturing process, structure and mechanism of the chip. It can be used to verify the design framework and analysis of information flow in the technical problem. It also can help the new chip design or product design scheme.
Reverse design services include a netlist / circuit reverse extraction, circuit level arrangement, logical analysis, abstraction and design, design rule check adjustment, logic layout verification, cell library replaced as well as the process dimension scaling etc.
Keywords:reverse design; reverse engineering software; netlist extraction ;LVS
examination
目 录
1 引言 .................................................................... 1 1.1 集成电路逆向设计背景 .................................................. 1 1.2 国内外逆向软件研究现状 ................................................ 1 1.3 本课题研究的内容与结构 ................................................ 2 2 集成电路逆向设计软件Chipsmith ........................................... 2 2.1 Chipsmith软件简介 ..................................................... 2 2.2 Chipsmith基本操作 ..................................................... 3 3 芯片逆向设计流程 ........................................................ 4 3.1 划分工作区 ............................................................ 4 3.2 基本元器件电路的提取与分析 ............................................ 5 3.2.1 电阻的提取 .......................................................... 5 3.2.2 电容的提取 .......................................................... 7 3.2.3 二极管的提取 ........................................................ 9 3.2.4 MOS管的提取 ....................................................... 9 3.3 版图库单元的建立 ..................................................... 10 3.4 线网绘制和元器件端口的连接 ........................................... 15 3.5 人工交互检错及网表预处理 ............................................. 15 3.6 SVS检查 ............................................................. 15 3.7 提取逻辑 ............................................................. 15 3.8 仿真 ................................................................. 16 3.9 版图设计与流片封装 ................................................... 16 4 结束语 ................................................................. 16 主要参考文献 ............................................................. 17 致 谢 ..................................................... 错误!未定义书签。
1 引言
信息技术是国民经济的核心技术,其服务于国民经济各个领域,信息技术的关键是微电子技术。集成电路和软件是信息社会经济发展的基石和核心。中国集成电路产业已经形成了IC设计、制造、封装测试三业及支撑配套业共同发展的较为完善的产业链格局。其中集成电路产业的源头是集成电路设计业。集成电路设计是指根据电路功能和性能的要求,在正确悬着系统弄个配置、电路形式、器件结构、工艺方案和设计规则的情况下,尽量减小芯片面积,降低设计成本,缩短设计周期,以保证全局优化,设计出满足要求的基础电路。现在集成电路设计方法从大的方面可以分为两大类:正向设计和逆向设计(逆向工程)。本次课题是利用圣景微电子公司的集成电路芯片分析验证软件Chipsmith进行芯片逆向设计流程的分析。 1.1 集成电路逆向设计背景
首先,“逆向设计”的提法似乎让人很容易与侵犯别人知识产权产生联系。实际上逆向设计与正向设计一样,只是IC设计的一种技术手段,通过逆向设计获取别人先进的设计思想用于自己的芯片设计中,并不能说侵犯知识产权。特别是对于初学IC设计的人员,通过学习和研究比较成熟的电路版图,可以迅速增加相关电路设计经验,更快熟悉整个IC设计流程和完善IC设计知识体系。
目前中国的IC设计业还处在学习模仿国外的阶段,早在几年前中国的IC设计企业往往是完全复制国外的芯片。最近几年,随着人们对知识产权意识的提高,都能够采取正确的方式来对待逆向设计,即利用逆向设计来设计自己的芯片。逆向设计流程与正向设计正好相反,从流程上来讲,首先要去掉芯片的封装,然后对芯片进行层层剥离,对剥离出来的芯片进行拍照和分析。随着芯片复杂度的提高,简单的拍照已经不能对芯片进行有效的分析,许多逆向设计公司纷纷推出了自己的逆向软件,利用软件方来实现对芯片的分析,大大提高了分析的效率。
逆向设计非常适合模拟芯片设计[1]。目前,大多数模拟集成电路工程师基础实际模拟电路积累经验的有效途径就是通过芯片逆向分析,如ADC、DAC、锁相环等模拟电路,因为模拟电路的设计往往靠经验。国内在研究模拟集成电路设计领域较为薄弱,因此 IC逆向设计也是推动国内集成电路设计进步的有效手段。此外,对于10万门以下的数字电路也适合,对于混合信号电路来讲,可以适合模拟部分的逆向设计服务。在时间方面,普通的逆向设计往往需要3-5个月,而小于10万门的数字电路逆向设计一般需要2-3个月。
逆向设计最重要的是要与正向设计进行无缝的衔接,因此,在设计过程中,除了大部分采用逆向提取软件外,还要采用EDA厂商的软件进行布局、验证(例如Cadence)。 1.2 国内外逆向软件研究现状
北美和西欧在芯片设计产业中是较为发达的国家[2]。在国外,芯片逆向工程一般是一种竞争手段和保护知识产权的手段,而不是作为一种完整的设计方法而存在。目前国际上专业从事芯片逆向工程的最大的公司是加拿大的Chipworks公司。Chipworks公司提供工
1
艺分析和电路分析两方面的逆向服务,业务量分别占10%和60%。该公司成立20年来,为集成电路行业的人员知识产权诉讼提供了证据支持,它不断提出精辟且日新月异的半导体技术分析信息,被美国硅谷业者誉为“The Silicon Investigator”,并曾因在维护知识产权领域的表现,被美国联邦法院评为“The Best Witness”,全球集成电路行业绝大多数领导企业均是其客户。
目前国外先进的逆向工程已经达到0.15甚至0.13微米[3],但是在电路提取方面,即使是Chipworks 公司也仍然主要依靠简单软件下得人工提取,缺乏先进的EDA工具的协助,特别是电路功能分析完全依赖工程师的经验,成本较高。
和芯片逆向在国外通常的应用有明显不同,目前国内将芯片逆向作为一种设计手段的现象还比较普遍。国外的逆向工程通常着眼于人的功能模块和系统架构,对于具体的实现不是很关心,因此电路逆向工程提供的结果通常是详细的设计框图,在实现细节上并不是要求很准确。但是有日本台湾等地区,把芯片逆向作为设计手段的情况知道目前还是比较普遍,也确实对芯片设计产业跨越式的进步起到了巨大的促进作用。国内从事逆向设计的公司主要代表是芯原景微电子和圣景微电子。其中圣景微电子公司使用具有自主知识产权的软件提供芯片分析服务,公司1999年推出了全球第一套商业化的芯片分析软件Chipsmith,涵盖了网表提取、版图设计和分析验证等逆向分析的所有环节。 1.3 本课题研究的内容与结构
本次课题是利用圣景微电子公司的集成电路芯片分析验证软件Chipsmith进行芯片逆向设计流程的解说。并根据本人实际操作过程和经验来进行分析。这包括主要分为以下几个部分。
第一部分为Chipsmith软件的简要介绍。
第二部分为芯片逆向设计的具体操作步骤的讨论和分析。 2 集成电路逆向设计软件Chipsmith
典型的逆向设计流程包括背景制作、版图和网表的提取、功能分析验证、版图再设计这四个阶段:将芯片放大和拍摄照片、制作成图像背景,设计工程师从图像中提取版图或网表,经过功能分析和仿真验证后,改造成符合本公司需要的电路,然后生成版图,进入生产制造阶段。 2.1 Chipsmith软件简介
Chipsmith[4]是由圣景微电子(上海)有限公司推出的集成电路芯片分析验证软件。从工具支持角度看,功能验证和版图再设计都可以由正向辅助设计工具完成,设计效率主要取决于计算机——速度和数量,设计正确率由工具保证;版图和网表的提取、功能分析只需要简单的版图、电路图录入工具,整个电路的输入工作必须由人完成,设计效率主要取决于设计者——数量和经验,设计正确率由个人固有错误率决定,一般通过两遍校对的方法来纠正人工导入的错误;而背景制作则没有可利用的正向设计工具,主要由人完成。
随着芯片制造工艺的不断提高、设计规模的不断扩大,以人工为主导的背景制作、版
2
图和网表的提取、功能分析对设计效率和设计正确率的硬性越来越大。甚至有人担心对一定规模以上的电路,逆向设计已经不可行。针对这种情况,圣景微电子有限公司开发的Chipsmith软件,提高了逆向设计流程中的设计效率和正确率。它提供对除了化学处理、摄像以外的整个流程的支持。 2.2 Chipsmith基本操作
首先将工程项目文件夹拷贝一份,以容易辨识的名字命名。点击CHIPSMITH软件,打开项目,可以得到如图1所示的界面。
图1:流程指导与数据管理界面
点击版图编辑[2],点击文件中打开版图打开自己项目下得版图(注意是打开版图,不是导入版图,导入版图会使每次的操作结果都叠加,可能导致死机,这个一定要注意!)操作的版图界面如图2。这是一款解码芯片。
图2:打开的版图界面
3
上图中可以看得很清楚的是,芯片分为两部分,左小半为模拟部分,右大半为数字部分。
控制面版位于主窗口上方,用于控制版图层属性以及其它应用设置。图3是控制版,可以看到每一层版图的线网和通孔的颜色标识。
图3:控制版
可以看出该芯片由五层构成,第一层显示的是染色层,第二层为多晶硅层,第三层为金属1层,第四层为金属2层,第五层为金属3层。双击控制版下的某个按钮将使Layedit的主背景切换到这一层,上两图中都表示M4层。 3 芯片逆向设计流程 3.1 划分工作区
首先我们解释下划分工作区的意义。当要对一款芯片进行逆向设计时,工作量往往是一个人完不成的。因此要很多人一起分工合作,加上在一个芯片里有很多层,如果在一个工作区上进行逆向设计将使得整个图片无法分辨,这时划分工作区就有重要意义了。
划分工作区,就是在使用网表提取器Chipsmith软件时对芯片的图片进行分析工作时将整个芯片分为几个合理的工作区,以方便在从芯片的图片背景提取网表参数时简洁明了。
使用网表提取器Chipsmith软件划分工作区后,每个工作区对应芯片的一个指定区域,它们有一组特定的坐标,工作人员可在工作区上进行线网绘制、单元提取、标注等网表提取工作。一款芯片若由几个工作人员同时分析,可以大大缩短分析芯片时所用的时间。工作人员在进行工作时相互独立的进行工作,也可同时在一个工作区上进行操作,任何一个客户端的操作都将实时保存、实时显示在其他客户端。在每个工作区的工作完成后,几个工作区之间可以相互进行数据传输,也可把事先分好的芯片工作区合并之后就成为一款完
4
整的芯片的分析结果。使用网表提取器Chipsmith进行分析工作时的所有分析数据的提取都是基于工作区进行的,必须在分析工程的一个工作区才能进行具体的数据操作。
在第二节中,我们已经打开芯片版图操作界面。现在划分个人工作区域,选择控制版区域(RAREA),先创建一个矩形或者多边形,单击选中该区域,然后点击菜单中的“项目配合”的“设定工作区”,此时每个工作人员的编辑范围都被局限在各自的工作区内。也可以选择菜单“项目配合”中“清除工作区”可以消除编辑限制。同样,选择“只显示工作区”,可以设置或清除工作区显示限制。划分时,根据芯片结构可以分为模拟部分、数字部分以及PAD部分。多人合作时,这三大部分可以进一步细分,一般情况下,我们按电源线和地线来划分,这样方便合并。图4是我们划分的工作区。
图4:划分工作区
从上图可以清除的看到数字部分(右半边)、模拟部分(E1,F1)以及pad部分(E2,F2)的全貌。
3.2 基本元器件电路的提取与分析
提取元器件[5]是逆向设计中极其关键的一步,一个电路如果提取不出元器件,那么就什么也做不了,而要提取元器件关键在于要从芯片的版图中辨别出版图所表示的是什么样类型的元器件,再从中进行分析提取。提取了之后才能进行连线和ERC检查。所以,我们先介绍下在集成电路逆向设计中常用器件的提取和分析。 3.2.1 电阻的提取
电阻是集成电路中的基本元器件[1]。它的设计与制造的方法有很多种,对于不同的组织需求选择不同的电阻结构和形状。在集成电路中,电阻可分为无源电阻和有源电阻。采用掺杂半导体或合金材料制作的电阻通常是无源电阻,将晶体管进行合理的连接和偏置并利用晶体管在不同工作区的不同的电阻特性则是有源电阻。电阻类型和具体尺寸在电阻提取时很重要,电阻宽度和长度决定电阻阻值在特定的工艺条件下的大小。掺杂浓度若给出,那么方块电阻就确定了,方块电阻的个数就是长宽比,这样就确定了电阻的阻值。
多晶硅电阻[1]:多晶硅电阻是集成电路中用的最多的电阻。如图5 所示:
5
(b)
图5:多晶硅电阻结构示意图—(a)工艺复合图;(b)AA横截面图
图6、图7为版图中电阻在POLY层的实例图像。
图6:POLY层多晶硅电阻
图7:POLY层多晶硅电阻
阱电阻[1]:在一个纯数字工艺中,覆盖有硅化物的多晶硅、覆盖有硅化物的p+或n+
6
有源区、n阱以及金属层都可以作为电阻。由于硅化物层的电阻率很低,更主要是其电阻值变化显著,因此很少用于模拟电路[8]中。在绝对阻值要求不严的情况下,n阱电阻证明是很有用的。
图8:n阱电阻
图9:染色层
图10:多晶硅层
图9、图10为阱电阻在版图中的实例图像。
有源电阻[1]:在模拟电路中有源电阻应用比较多。例如PMOS晶体管电阻,它所占的芯片面积要比其他电阻小的多,但它是一个非线性的电阻。将PMOS的栅极与漏极短接形成。这样使得栅极对源极的电压与漏极的电压差始终相等,这样PMOS管就一直工作在饱和区。它的直流电阻要比交流电阻要小,因此能满足一些特殊电路的需要。 3.2.2 电容的提取
在现代模拟CMOS电路中,电容器被证明是必不可少的[1]。在面向模拟设计的CMOS工艺中,可以采用“多晶硅—扩散层”,“多晶硅—多晶硅”,或者“金属—多晶硅”结构来制作电容器。
7
图11:三种电容器的截面图
图12至图15为实际操作对象芯片时所遇到的“金属—多晶硅”结构电容染色层、多晶硅层、金属一层及金属二层的实例图片。
图12:染色层
图13:多晶硅层
图14:M1层
8
图15:M2层
3.2.3 二极管的提取
这款芯片的二极管提取如下:
图16:染色层
图17:多晶硅层
图18:M1层
图19:M2层
3.2.4 MOS管的提取
模拟部分使用最广泛的器件就是MOS管[1],MOS管分为两种类型,PMOS管和NMOS管。要判断是哪一种,我们最准确的方法是根据电源线和地线。大家知道,PMOS管衬底接高电平,而NMOS管衬底接低电平。跟电源相接的就是PMOS管,而跟地相接的就一定是NMOS管了。有时候也可结合芯片衬底的颜色判断。下面介绍一个简单的PMOS管。
9
以G表示MOS管得栅极,D表示漏极,S表示源极。在集成电路设计中经常会看到几个或者很多MOS管并联到一起,这是为了提高MOS管得驱动能力以及防止电流过大而烧坏管子[9]。
图20:染色层
图21:多晶硅层
图22:多个MOS管并联(多晶硅层和染色层)
3.3 版图库单元的建立
版图单元是Chipsmith版图编辑器引入的非标准版图元素[3]。它是定义了端口和边界几何位置的版图宏单元符号,单元内部可以包含子版图。因此既可以用来提取网表,也可以用来构造真正的层次化版图。
10
大部分芯片不管是模拟电路还是数字电路都采用结构化方法设计,电路中很多单元模块都是重复利用的,以减少设计工作量。创建版图单元操作方法[4]如下:
1.设定端口版图层。在控制面版中,使代表端口的版图层所在行的“P”列单元格有效。同时注意必须使非端口版图层“P”列单元格无效,或者在单元范围内没有非端口版图层的图形。选择端口版图层为当前操作层。端口标注版图层仅用于告诉工具哪一层的图形可以作为端口,因此任何一层版图图形都可以作为端口标注层。习惯上以“BLACKBOX”这一层作为端口标注层。提取网表时应改为多晶、接触孔等版图层的“P”属性有效,允许这些版图层连接单元端口。
2.输入单元端口几何位置。用输入矩形的方法一次输入单元的各个端口。
3.选择菜单“单元”的“新建单元”,进入新建单元状态,输入单元几何范围后,工具弹出对话框。依次设定对话框中的各项属性,确定后。工具自动在创建位置放置一个单元的实例。
图23和图24为一个简单的NMOS库单元[5]建立示意。
图23:画出矩形
图24:新建单元
这里要注意在手绘端口时,尽量使得各个矩形端口的大小形状不同,这样在放置的时候可以清楚它们的位置,也便于使用几何变换变换方位而不至于混淆。还有就是整个单元应该恰好表示版图器件类型,不要框的太大,防止当大面积重复单元放置时由于端口重叠造成短路。
简单的MOS管、电阻和电容的库单元建立是相对比较简单的。一些数字门单元的建
立则稍显复杂。建立数字门库单元要建立在已经识别版图器件单元的基础上。我们先看一个基本的数字门单元——反相器[6]的建立。先从版图上根据PMOS管和NMOS管的摆放位
11
置,判断这是一个反相器,如下图:
图25:多晶硅层
反相器的功能是使得输入信号反向,满足Y?A(Y表示输出信号,A表示输入激励信号)。因此,我们给库单元起名INV(INVERT的缩写)。反相器有一个输入一个输出,我们为它建立两个端口,输入和输出。需要注意的是,版图中的反相器的可能有很多种类,那时就要为每一种分别建立一个单元。
图26:反相器电路原理图
我们知道多级反相器级联[7]有缓冲的功能,自然可以判断缓冲器。下图是一个两管缓冲器的多晶硅层和电路原理图。为它起名BUF2,一个输入一个输出,满足Y=A。
图27:两管缓冲器多晶硅层
图28:电路原理
同样,三管缓冲器,起名BUF3,满足Y=A。多晶硅层和电路原理图如下。
12
图29:多晶硅层
图
图30:电路原理
谨记PMOS管的连接方式[8]“串或并与”和NMOS管的“串与并或”,就可以判断传送门的类型。与非门[9]是完成先与后非运算的逻辑门,即Y?AB。与非门的版图结构图和电路原理图如下:
图31:多晶硅层
图32:电路图
再看一个复杂的数字部分单元库的建立[6]。如图33、34、35所示:
13
图33:版图单元 图34:建立库单元 图35:原理电路
可以看出,本来一个有很多个nmos管和很多个pmos管构成的一块庞大的模块,通过分析各层连接情况,建立库单元,我们可以明确这是一个D触发器,可以简化后续的连线打孔,也为工作人员阅读和提取网表提供方便。 因为想要导出网表必须要有基本的单元库才可以,建立电路库就是使用软件将单元的电路结构简图做在自己创建的工程库里,提取单元是按照标准规范提取的。
整个芯片版图很大,当然里面各种类型管子以及它们组成的门都很多,这要花费我们相当大的精力来寻找不同的电路,为它们建立合适的库单元[5]。在进行分工合作的时候,可以一部分人寻找并建立库单元,另一部分人负责除金属1和poly层的其它各层的连线打孔,当库单元建好后再一起导入,然后再进行金属1和poly层的连线打孔。这样可以提高效率。
把整个版图的库单元都找齐后,我们就要把整个版图都覆盖上我们已经建立好的库单元,就是把相同的电路部分放置相同的单元。可以选择菜单“单元”的“放置”。在弹出的对话框中选择要放置的单元的类型,工具能自动设定编号自动增长的唯一实例名称。根
14
据需要指定单元实例的“几何变换”类型,变换单元实例的几何形式。也可以使用图像识别,图像识别能够有效地提高电路和版图的提取速度,特别是标准单元或者有大量重复单元的定制电路。
3.4 线网绘制和元器件端口的连接
完成库单元的识别和放置后,要进行线网绘制[7]。线网绘制就是把提取好的元器件和单元电路连接在一起,主要是再金属一层和金属二层上进行。绘制的方法是选中控制版中你想编辑的某一层,创建连线即可。在画线时要注意留心遗留下没有提取的元器件。画好线后就要把画好的线和前面提取到的元器件和单元电路连接起来。尤其是端口(PIN)的连接。在此要注意连接线网之前,特别要查看下菜单栏中的“选项”一栏中“编辑”中的“自动添加通孔”这 一项,不要选中它,负责会在绘制线网时莫名其妙添加很多通孔,给检错带来很多的麻烦。 3.5 人工交互检错及网表预处理
在进行版图线网绘制时,由于人为因素,可能会有许多连线打孔不准确或错误的地方。所以当分工合作各组人员线网绘制完成时,可以交换各个工作区的结果,让工作人员交互检查,这样做的好处是可以避免个人盲视,便于检查出大部分错误。在人工检查完毕后,在各个工作区内使用Chipsmith软件中的网表预处理工具[3]进行各种电气规则检查,在“文件”选项中选择“生成网表”,在预处理工具中读入。刷新元件列表后重命名所有线网,即可在“检查”中检查输入悬空、输出短路和器件短路等基础ERC检查。此项检查中可以单项检查,使得隐蔽的错误容易发现。可以根据检查结果进一步修正版图线网绘制,更新个工作区网表。这一部分可以检查出一些疑难错误。完成后,得到各个工作区的最新网表。 3.6 SVS检查
得到上述各个工作区的网表后,使用Cadence软件进行SVS检查。在远程桌面上点击Xmanager后进入命令行界面,输入以下命令:
cd ls
source cadence.bashrc icfb &
即可进入Cadence,SVS是Spice VS Spice 的意思,就是把不同组的各个工作区的Spice网表做对比检查。如果不一致,Cadence会检查出不一致,这种检查可以检查出大型的严重的错误,例如,器件类型不匹配,连线不一致,单元不一致等。我们这里分成两组,两组人员分工相同。SVS时则检查各组中相对应工作区的网表。若检查通过,即两组相对应的工作区网表结果检查一致,我们就可以把整个小组所有成员的工作区合并了,整理网表数据,提取SPICE网表,输出到Verilog网表。 3.7 提取逻辑[5]
通过对每层的电路分析,一般可以分为三个层次:1)RTL级。提取到这一级,可以
15
看到芯片是用哪些逻辑元件组成,如触发器、与非门、选通器等。2)模块级。提取到这一级,可以看到芯片是用哪些功能原件组成,如状态机、乘法器。FIFO等。3)功能块级。提取到这一级,可以看到芯片是用哪些模块组成,如协议处理模块、总线等。
一般而言,对于ASIC电路,逆向设计到第一层就可以了,对于特别复杂或需要改进的,则需要提取到第三层,然后加以重新设计。 3.8 仿真
仿真就是利用仿真软件对整理的电路图进行仿真,验证功能。根据CAD资源,每个模块的全覆盖仿真是必不可少的,模块拼接起来,系统的仿真,则需要芯片的工作环境或者用户提供功能激励码,来保证功能和时序满足要求。 3.9 版图设计与流片封装
版图设计是电路逻辑的物理实现,是集成电路产品实现。一般是根据照片和流片工艺的设计规则,来重绘制整个版图,对于数字部分基本不做修改,模拟部分则需要根据工艺要求进行修改或重新设计[8]。配合客户选取尽可能与参考芯片设计工艺一致或接近的目标芯片代工工艺线,按照验证后的电路图,结合工艺的设计规则设计芯片的版图,并确保最终得到的版图数据可以满足目标工艺线DRC和LVS验证检查。
版图设计完毕后将交付GDSII格式文件(该格式为工业标准版图格式)供掩模厂制作掩模板,晶圆厂根据掩模板进行芯片生产。 4 结束语
本课题借助集成电路逆向设计软件Chipsmith对集成电路逆向设计流程做了大致的介绍和分析,由于个人知识有限,经验尚浅,仅做学习参考。
在连线的过程中,要尽量按照版图上的走线规范的连线。在会遇到图片不清晰导致连线时有疑问,这时候要向学长或老师请教,不要妄下结论,随心所欲的连线。提取电路和建立库单元时,我用到了很多大学四年中学到的电路,集成电路版图和工艺以及半导体器件物理[9]等方面的知识。提取电路网表是逆向设计的关键,要对器件的导电类型、电路功能以及具体尺寸的识别和分析。网表预处理时进行的ERC检查,它可能报出很多错误,但仔细检查,并不是每个都是错误,有的是由于个别错误引起的连带效应,有的则是软件自身的不完善引起的。
集成电路逆向设计中,芯片的解剖腐蚀,拍照和网表的提取时关键的步骤。而网表提取要在器件识别之后。本篇论文对芯片器件识别和版图设计有一定的参考意义。如果对提取的网表进行必要的整理,针对电路的特点,可以对每个器件在电路中起的作用和其自身结构特点联系起来,对设计版图和电路都会有所帮助。
16
主要参考文献:
集成电路设计.西安.西安交通大学出版社 ,2002.
[2]姚海平.国外芯片逆向工程发展与应用现状[J].《集成电路应用》,2002,1(1):1-2. [3]汪正和.2002年国内集成电路市场分析[J].《集成电路应用》,2002,1(1):7.
[4]集成电路芯片分析验证软件(Chipsmith)使用说明书[M].上海:圣景微电子有限公司,2003. [5]肖军,林争辉.集成电路版图的电路提取[J].微电子学,1999,29(3):170-173. [6]阎石.数字电子技术基础(第四版)[M].北京:高等教育出版社,2003. [7]李伟华.VLSI设计基础[M].北京:电子工业出版社,2002.
[8]David A.Johns & Ken Martin.模拟集成电路设计[M].北京:机械工业出版社,2005.3. [9]曾树荣.半导体器件物理基础(第二版)[M].北京:北京大学出版社,2007.
[1][美]毕查德·拉扎维.Design of Analog CMOS Integrated Circuits[M].陈贵灿(译).模拟CMOS
17