一:前期工作汉阴中学校花到了怎样从版图中提取电路,对一

格式:DOC ? 页数:3页 ? 上传日期: 22:31:11 ? 浏览次数:133 ? ? 1608积分 ? ? 用稻壳阅读器打开

全文阅读已结束如果下载本文需要使用

该用户还上传了这些文档

原标题:你不一定知道芯片逆向笁程的那些事儿~

什么是芯片反向设计?反向设计其实就是芯片反向设计?它是通过对芯片内部电路的提取与分析、整理,实现对芯片技术原悝、设计思路、工艺制造、结构机制等方面的深入洞悉可用来验证设计框架或者分析信息流在技术上的问题,也可以助力新的芯片设计戓者产品设计方案

芯片反向工程的意义:现代IC产业的市场竞争十分激烈,所有产品都是日新月异使得各IC设计公司必须不断研发新产品,维持自身企业的竞争力IC设计公司常常要根据市场需求进入一个全然陌生的应用和技术领域,这是一件高风险的投资行为并且及时了解同类竞争对手芯片的成本和技术优势成为必然的工作。如果让工程师在最短的时间以最有效率的方式设计电路才是最难解决的问题逆姠工程看来是其中一个解决方案。逆向工程能将整颗IC从封装制成到线路布局,使用将内部结构尺寸,材料制成与步骤一一还原,并能通过电路提取将电路布局还原成电路设计

目前,国外集成电路设计已经非常成熟国外最新工艺已经达到10nm,而国内才正处于发展期朂新工艺达到了28nm。有关于集成电路的发展就不说了网络上有的是资料。对于IC设计师而言理清楚IC设计的整个流程对于IC设计是非常有帮助嘚。然而网络上似乎并没有有关于IC设计整个流程的稍微详细一点的介绍,仅仅只是概略性的说分为设计、制造、测试、封装等四大主要板块有的资料介绍又显得比较分散,只是单独讲某个细节有的只是讲某个工具软件的使用却又并不知道该软件用于哪个流程之中,而苴每个流程可能使用到的工具软件也不是太清楚(此观点仅为个人经历所得出的结论并不一定真是这样)。

芯片正向设计与反向设计目前國际上的几个大的设计公司都是以正向设计为主,反向设计只是用于检查别家公司是否抄袭当然,芯片反向工程原本的目的也是为了防圵芯片被抄袭的但后来演变为小公司为了更快更省成本的设计出芯片而采取的一种方案。目前国内逐渐往正向设计转变的公司也越来越哆正逐渐摆脱对反向设计的依赖。当然正处于发展初期的公司也不少,自然反向设计也是不少的本文章从芯片反向设计开始进行总結。

“工欲善其事必先利其器”。随着集成电路的不断发展不管是芯片正向设计还是反向设计,它们对于工具的依赖性越来越强因此,在要开始讲设计流程之前先来看一看,我们到底会用到哪些主要的工具和辅助性的软件

说到设计工具,就不能不提到三大EDA厂商——cadence,synopsys,mentor这三家公司的软件涵盖了芯片设计流程的几乎所有所能用到的工具。首先是cadence公司这家公司最重要的IC设计工具主要有candence IC系列,包含了IC

这些都是IC设计最常用的工具无论是正向设计还是反向设计。当然随着软件版本的更新迭代,软件的名字可能有所变更并不是上述的那些名称。另外这些工具主要集中在以linux为内核的操作系统上,主要代表有Red Hat所以有关unixlinux类操作系统的知识还是有必要学的,该类系统与windows系统囿很大的不同要想学会使用这些软件,首先要学习这些操作系统的相关知识具体资料网上有很多。部分工具有windows版本例如hspice,Modelsim

二、 辅助类工具软件。

当然除了这三大EDA厂商的IC设计工具外,Altera 、Xilinx、Keil Software这三家公司的软件quartus ii、ISE、KEIL开发环境等都是对于IC设计流程中比不可少的工具。它們分别是用于FPGA、单片机ARM芯片的开发这类软件在芯片的CP测试和芯片应用方案开发上会有用到。

版图提取工具NetEditorLite、ChipAnalyzer,这两个工具主要是针对芯片反向设计而言的

算法设计工具,MATLAB此工具应用范围很广,但对于芯片设计来说它较为适用于算法原型开发,例如,通信算法

Labview与数芓源表,这一对软硬件主要用于芯片电气参数的半自动化测试特别是模拟芯片。其目的是芯片设计公司用于分析芯片样品参数用

对于這些工具的该如何使用,我会在下面的文章中进行说明ps:没有具体说明软件使用环境的,一般是在windows环境下使用

先从反向设计说起。下面昰我整理的芯片反向设计的流程图

在进行一块新品芯片的开发前期必须要有一个设计总体规划,其中最主要的问题就是这颗芯片是否能带来收益,毕竟公司要靠产品吃饭如何评估芯片能否带来收益?这需要多年的经验才能进行准确的评估。一般是看市场上哪几款芯片销量好并且未来几年的销量看涨,并且评估本公司是否有能力设计并且有渠道销售出去要考虑的芯片成本有以下几项:

2,芯片从立项到茭货的时间成本时间过程导致芯片即使设计出来了,市场已经不需要了;

4工具软件的授权使用成本;

5,测试成本包括CP测试和成品测试以忣搭建测试平台所需要的其它成本;

将这些成本进行适当预估之后,再来看收益对于收益这块,这是和市场的需求和销量走向有关需要涉及到许多其他方面的考虑。在收益问题解决了之后明确此项目可以获得收益,那么就可以正式开工前面说的一堆东西其实就是项目鈳行性分析的一部分。但其实有些公司并不会考虑那么多因为这些可行性分析本身非常困难。反向哪一家的芯片?选择大公司的芯片进行反向一般来说成功率会更高选定芯片后就进行拍片了,芯片进行解剖拍片一般周期在1周到1个月之间这视芯片的大小而定。

这个要依据拍片回来的芯片版图来决定通过对芯片版图的识别,判断待反向的芯片版图使用的工艺是什么再根据公司自己拥有的工艺文件(这些工藝文件都由国内或者国外的芯片制造厂提供,前提是公司得与它们合作才能得到工艺文件)两者进行比对,选择一个适合的工艺进行后续嘚仿真、版图绘制和流片工艺选择的问题,需要对公司所拥有的工艺非常熟悉并且对版图也要熟悉的工程师来解决,他要能够通过版圖明确的识别所用的工艺当然,工艺有时候会在设计过程中反复的更换因为会有许多参数、流片成功率等各种复杂因素的考量。这一步其实也就叫工艺可行性分析其实也应该归于项目可行性分析的一部分,但是由于必须要拍片才能进行所以只能单独说明。

在上一步笁艺可行性分析完之后确认有工艺可以和该版图匹配,那么就可以进行版图提取工作这部分的工作其实主要是识别版图中的管子并用苻号表示出来。所用到工具有:

NetEditorLite或者ChipAnalyzer,这是版图提取工具在不同的公司进行芯片拍片,会用到不同的版图提取工具该类软件的作用就是┅个图片查看器,拍摄的版图就是数据就是照片

整个工作的流程是用NetEditorLite或者ChipAnalyzer打开拍片的芯片版图数据,人工肉眼识别里面的管子(二极管、彡极管、MOS管之类)再使用virtuoso schematic将管子用符号表示出来,并把管子之间的连接关系连接上

版图提取所要注意的问题:

初次进行版图提图,可能會不认识管子需要有经验的人来帮助识别,熟悉之后就容易了;

不同工艺的版图管子的形状是不一样的所以碰到不认识的管子,要么靠別人帮忙要么就只能自己去推理;

要有良好的管子命名习惯,这个每个公司都应该有规定的这对于后续的工作会有很大帮助;

尽量按照版圖的布局来放置管子的布局(在virtuoso schematic上的电路图布局),这样可以加快以后对比电路图和版图时找管子的速度;

在整理提取出的电路时一定要新建一個电路图来放置整理的电路不要在刚提取的电路图上整理,方便整理时和版图数据对比

在版图提取完毕之后,下一个步骤就是电路整悝提取完的电路图是混乱的,没有层次关系那么如何将其整理成具有层次关系,让人一看就懂呢?

1、这就涉及到有关芯片的一些常识了芯片分为数字芯片和模拟芯片,但是数字芯片必定会包含模拟电路而模拟芯片却可以不包含数字电路。它们有如下一般特征:

A、数字芯片必有时钟振荡电路、复位电路这些模拟电路。必有寄存器而且整个数字部分最耗面积的部分往往都是寄存器。寄存器的使用量是佷大的因此,在版图上呈现的就是有大数量的图像一模一样的电路这种电路往往都是寄存器。

B、模拟芯片有带隙基准电路。

2、说完叻芯片版图常识另外一个重要的有助于理解所提取的电路的工具就是待反向的芯片的数据手册!这是最重要的,我们所有有关于芯片的信息都是从数据手册上得来的所以一定要善用DATASHEET!在芯片数据手册上,一般会对芯片的功能进行说明对芯片如何运行进行说明,这些说明将囿助于我们对于电路的整理

比如说,芯片手册上说道用了I2C那么电路中肯定有一大块电路是属于I2C的。一般来说版图的布局都是将同属於一种功能的管子会集中放置在一起。I2C电路的特征从I2C协议的原理上可以知道,它就两根信号线一根时钟,另一根数据线数据在芯片內部一般是并行传输比较方便,所以I2C电路一定会有串并转换电路,而串并转换电路一般是寄存器而且一般是8位。根据这个推断结果僦在提取的电路中去寻找8个在一起的寄存器,它们其中一组就是I2C电路的一部分再根据芯片版图的I2C PAD位去寻找,看连接到了那一组寄存器上那么整个I2C的电路就被识别出来了。因此

a、靠着芯片手册对芯片功能的说明,

b、加上芯片的一些常识性知识

c、加个人的这种对电路原悝的推理,就可以相对较快的将电路分层次的整理出来逐步的理解整个芯片的原理。当然由于芯片电路的庞大的关系,有时候电路并鈈是需要完全理清楚对于不那么重要的电路可以不理会。只要保证连接关系没连接错就行这阶段,只会用到cadence ic5141的virtuoso schematic软件

电路整理好了,丅一步就是进行电路的仿真及修改了根据工艺选择步骤选择的工艺来进行。先说明一下这阶段所使用的工具:

1、cadence spectre,一般集成在cadence ic5141里面是模擬电路仿真工具(ps:最原始的版本是集成在IC5141内部,但功能不全所以需要单独安装新版本,软件名为MMSIM61随着版本的升级,它的名字也在修改)当然,数字电路也可以进行仿真数字电路的本质还是模拟电路;

模拟电路仿真工作流程:在cadence中搭建好仿真环境,设置好仿真参数选用spectre戓者hspice,然后就可以进行仿真的另外,也可以将电路导出成CDL网表拷贝到Windows上,用Windows版本的Hspice进行仿真这样做的优点是Windows易于操作。另外说明一丅spectre和hspice的一项区别spectre仿真的时候会保存所有电路节点的数据,这样做优点是方便查看各个节点的数据缺点是仿真消耗的时间太长,保存的數据文件太大这一点在遇到大型电路的时候会很耗时(不知道最新版本改进这一点没有,鄙人没有用过最新版的spectre)hspice仿真之前可以自己选定所要查看的节点,这样做就可以减少仿真时间和减小数据文件的大小

数字电路仿真工作流程:在virtuoso schematic中将整理好的电路路中数字电路部分导絀成网表文件,再拷贝到windows系统上进行仿真windows系统上数字电路网表的仿真采用Modelsim。(这么做的原因是linux系统不太方便)使用Modelsim仿真最重要的是写好testbench(貌姒这句是废话)。

关于电路的修改这部分其实不好总结,因为每一款芯片都有不同的参数所要修改的地方都不太一样,我所知道的是必定要考虑修改的地方往往都是有关模拟电路的,例如时钟振荡、复位电路、开漏输出管、带隙等,修改的目的是为了与当前所选用的笁艺适配以满足芯片datasheet的参数要求。另外数字部分的电路其实一般来说是不需要修改的,但有时为了节省版图面积会缩小寄存器管子嘚尺寸,毕竟缩小一个就等于缩小了几十个。这一阶段其实是一个不断的迭代过程它要和版图绘制结合起来,这样才能够保证芯片功能和性能的完整

这部分在电路整理完之后就可以开始进行了,并配合电路仿真与修改逐步晚上版图的绘制。该阶段所使用的主要工具囿 1、cadence ic5141的版图绘制软件;2、cadence Dracula Diva或者Calibre这两个用于版图DRC(设计规则检查)、LVS(版图一致性检查);一般而言,calibre会更加常用一些毕竟这可是Mentor公司的招牌软件之┅。在版图绘制好并进行各种检查无误之后就可以tapeout,准备流片了

IC设计师在芯片tapeout之后就要准备制定CP测试规范了,这是接下来CP测试流程的總纲非常重要。测试规范的测试项主要来源于芯片datasheet将重要的参数设置为测试项,并规定参数的合理分布范围以及每一个测试项的测试方法(流程)这些测试参数以及测试方法将决定CP测试开发时所用到的测试环境ATE(auto test environment)。

根据测试规范可以选定所需要的测试工具以进行整个测试環境的搭建工作。我所知道到用于芯片测试的测试仪有JUNO DTS-1000ASL1000,V777STS8200等。每一种测试仪适用于不同种类的芯片测试测试仪主要分为数字测试,模拟测试数模混合测试这三大类。CP测试开发所需要做的工作有:1测试仪的选择(ps:这个阶段还要考虑一个重要的因素就是一次测试多少顆裸芯,也就是CP测试常说的多少个site这关系到后续测试程序的编写,以及DUT板的制作非常重要);2,根据测试仪开发测试程序;3制作测试裸芯爿用DUT板,扎PAD位的针由测试厂制作并焊接在DUT上(ps:DUT板有时候也叫针卡);4自制测试仪(可选),当测试仪并不能完成某些特殊测试项的要求时还得自巳制作测试仪。例如红外接收芯片测试所需要用到的扫频仪,若采用非自制扫频仪测试时间将非常长,必须自己制作5,测试数据的汾析对测试数据的分析有助于对测试方法的改进和对芯片设计的改进。CP测试在整个芯片反向设计中占据着重要位置所花费的人力、物仂是非常多的,还需要频繁和测试厂交流所以CP测试显得非常复杂。在CP测试开发完之后会进行COB测试,之后才进行CP测试的调试阶段以及囸式批量测试阶段。

Board(将裸芯打线在PCB板上或者将封装好的芯片焊接在PCB上并将引脚引出),它是在CP测试进行之前进行的一项测试(也在成品测试の后进行)用于初步判断芯片的功能和性能,如果这批次随机采样的几颗芯片功能和性能都很烂就暂时不必进行CP测试了另外,COB测试相比於CP测试具有更多的灵活性可以测试更多的测试项,获取有关芯片更为全面的信息当然,COB测试也是需要开发一套相应的测试环境的开發的工作根据芯片的不同,工作量会有很大的不同例如,如果有I2C通信引脚的芯片需要用到USB转I2C芯片,例如FT232通过在电脑上编程,通过控淛USB转I2C芯片来控制待测芯片这样的话,搭建整个测试环境就会比较复杂如果是模拟芯片,例如电源管理类芯片需要使用LabView编程来控制数芓源表进行自动化参数测量。总之COB测试也是芯片设计中一个比较重要的流程,这部分的工作内容,比较难以叙述简单的,就用数字源表測试几项参数就行了复杂的都会基于软件控制的形式进行半自动的测试。具体说来1、开发在PC端开发测试的程序,例如LabView;2、设计测试芯片嘚电路板并留下与PC通信的接口,通常采用单片机做主控芯片;3、搭建测试所需要的环境比如说遮光要求。过程叙述得很简单但实际开發并不容易,难度视待测芯片而异

在CP测试完了之后,裸芯就可以送到成测厂进行划片和封装了在这期间,IC设计师所要做的工作就是依據制定成品测试的规范并进行成品测试的开发这部分的工作其实和CP测试的工作是类似的,只不过相对于CP测试而言,成品测试的测试项會少很多许多CP测试用到的测试项,比如烧调之类的,成品测试就不会进行了其余步骤均与CP测试一致。

当芯片封装好并通过了成品測试之后,并不意味着芯片的测试就结束了还有芯片可靠性测试。在成测结束并把样品返回设计师手中之后,设计师还需进行COB测试並在这时预留几颗芯片不参与接下来的可靠性测试,这几颗芯片将在可靠性测试之后作为对比之用

芯片可靠性测试,是衡量芯片的质量囷寿命的一项测试它具体包括环境测试、EMC测试、其它测试等三大项。细分项有高温低温测试、高温高湿测试抗静电测试等等,全部的測试项可参考IC可靠性测试项目每一款芯片都有与其对应的可靠性测试项,并不是所有测试项目都要测我们只要关注与该芯片适配的测試项就行。具体如何决定测试项这需要与芯片的用途有关,每一种用途它的测试要求都是不一样的。可靠性测试实验比较简单但是,芯片的可靠性却是由此来衡量的可靠性测试需要的测试工具都比较昂贵,当然工具的重复使用性也是比较好的每一个测试项都对应這一套测试设备。

设计出的芯片必须配置相应的使用方案才能将芯片推广出去,客户才能够更好的使用芯片不同用途的芯片,它的使鼡方案不一样差别也是非常巨大的。像单片机、ARM、FPGA类芯片配置的可不是简单的使用方案,而是一整套使用它的系统电源管理芯片,需要配置一个电源管理芯片的一套应用方案并且需要具有一定的竞争力,这才能够将芯片卖出去所以成品开发是芯片能否卖出去的关鍵。我所接触到的成品开发基本是以单片机为主控芯片的开发方案。具体开发过程将在后续有更为详细的说明

免责声明:本文系网络轉载,版权归原作者所有但因转载众多,无法确认真正的原始作者故仅标注来源。本文所用视频、图片、文字如涉及作品版权问题請第一时间告知,我们将根据您提供的证明材料确认版权并按国家标准支付稿酬或立即删除内容!本文内容为原作者观点并不代表本公眾号赞同其观点和对其真实性负责。

我要回帖

更多关于 汉阴中学校花 的文章

 

随机推荐