现代IC产业的市场竞争十分激烈,所有产品都是日新月异,使得各IC设计公司必须不断研发新产品,维持自身企业的竞争力。IC设计公司常常要根据市场需求进入一个全然陌生的应用和技术领域,这是一件高风险的投资行为。并且及时了解同类竞争对手芯片的成本和技术优势成为必然的工作。
什么是芯片反向设计#反向设计其实就是芯片反向设计#,它是通过对芯片内部电路的提取与分析、整理,实现对芯片技术原理、设计思路、工艺制造、结构机制等方面的深入洞悉,可用来验证设计框架或者分析信息流在技术上的问题,也可以助力新的芯片设计或者产品设计方案。
芯片反向工程的意义:现代IC产业的市场竞争十分激烈,所有产品都是日新月异,使得各IC设计公司必须不断研发新产品,维持自身企业的竞争力。IC设计公司常常要根据市场需求进入一个全然陌生的应用和技术领域,这是一件高风险的投资行为。并且及时了解同类竞争对手芯片的成本和技术优势成为必然的工作。如果让工程师在最短的时间以最有效率的方式设计电路才是最难解决的问题,逆向工程看来是其中一个解决方案。逆向工程能将整颗IC从封装,制成到线路布局,使用将内部结构,尺寸,材料,制成与步骤一一还原,并能通过电路提取将电路布局还原成电路设计。
目前,国外集成电路设计已经非常成熟,国外最新工艺已经达到10nm,而国内才正处于发展期,最新工艺达到了28nm。有关于集成电路的发展就不说了,网络上有的是资料。对于IC设计师而言,理清楚IC设计的整个流程对于IC设计是非常有帮助的。然而,网络上似乎并没有有关于IC设计整个流程的稍微详细一点的介绍,仅仅只是概略性的说分为设计、制造、测试、封装等四大主要板块,有的资料介绍又显得比较分散,只是单独讲某个细节,有的只是讲某个工具软件的使用却又并不知道该软件用于哪个流程之中,而且每个流程可能使用到的工具软件也不是太清楚(此观点仅为个人经历所得出的结论,并不一定真是这样)。
芯片正向设计与反向设计。目前国际上的几个大的设计公司都是以正向设计为主,反向设计只是用于检查别家公司是否抄袭。当然,芯片反向工程原本的目的也是为了防止芯片被抄袭的,但后来演变为小公司为了更快更省成本的设计出芯片而采取的一种方案。目前国内逐渐往正向设计转变的公司也越来越多,正逐渐摆脱对反向设计的依赖。当然,正处于发展初期的公司也不少,自然反向设计也是不少的。本文章从芯片反向设计开始进行总结。
“工欲善其事,必先利其器”。随着集成电路的不断发展,不管是芯片正向设计还是反向设计,它们对于工具的依赖性越来越强,因此,在要开始讲设计流程之前,先来看一看,我们到底会用到哪些主要的工具和辅助性的软件。
一、主要工具软件
说到设计工具,就不能不提到三大EDA厂商——cadence,synopsys,mentor。这三家公司的软件涵盖了芯片设计流程的几乎所有所能用到的工具。首先是cadence公司,这家公司最重要的IC设计工具主要有candence IC系列,包含了IC 5141(目前最新版本是IC617),NC_VERILOG(verilog仿真),SPECTRE(模拟仿真),ENCOUNTER(自动布局布线)等等synopsys公司,最出名的是它的综合工具design complier,时序分析工具prime TIme,模拟仿真工具hspice等;mentor公司最出名的工具是calibre(版图DRC LVS检查),modelsim(verilog仿真)。
这些都是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,此工具应用范围很广,但对于芯片设计来说,它较为适用于算法原型开发,例如,通信算法。
PCB版图工具,AlTIum Designer,Orcad,Allegro。其中,目前Orcad,Allegro是属于cadence电路系统设计套件内的主要软件,而AlTIum Designer是最常用的软件,它的前身是Protel。
Labview与数字源表,这一对软硬件主要用于芯片电气参数的半自动化测试,特别是模拟芯片。其目的是芯片设计公司用于分析芯片样品参数用。
对于这些工具的该如何使用,我会在下面的文章中进行说明。ps:没有具体说明软件使用环境的,一般是在windows环境下使用。
先从反向设计说起。下面是芯片反向设计的流程图。