原创 反向工程流程介绍

2008-7-15 17:14 3220 3 4 分类: 模拟


反向工程流程介绍



 



从前学电脑,通常有人会把电脑的发展与飞机的发展放在一起比较是为了说明电脑发展是多么的高速。现在看来应该说是半导体的飞速发展才对。对于飞速发展好像中国也不能占上光,现在回头看看一些知名企业那时的产品,你会惊奇的发现原来中国落后于别人比想像中的要多一些。(原本有一大堆废话要讲,暂时省略。不过要提醒的是做反向设计不要落入别人的陷阱里去,免得别人来抢你的辛苦钱。)反正要进步,学习别人的经验,搞搞研究没有什么不好的。



 



言归正传,在做反向方面,前段时间电子工程专辑上有一篇“圣景为反向正名”的文章,介绍了上海圣景公司的一些情况和他们开发的软件(picasso,chip smith, polaris)。据我所知,上海提供这一服务的公司有宜硕和复旦微电子,其他也许还有,北京芯愿景网站有此类的介绍,除此之外,其他有半导体的行业的城市都有提供类似服务的企业,这里就不一一列举了。



 



反向工程最主要的工作就是将一颗完整的芯片转换成所熟悉的版图和电路图。这里的难点在于图像的矢量化,在方面消耗了大量的人力。



 



 大体的流程应该是:芯片样品à解剖去层à数字拍照à拼接对准à完整图像à(码点提取、版图提取、网表提取)



 



其中芯片剖片拍照过程如下:



1芯片开盖  开盖以化学法或特殊封装类型开盖,处理金线取出晶粒。



2层次去除 以蚀刻方式去除层,包括去除保护层polyimide、氧化层、钝化层、金属层等。



3芯片染色 通过染色以便于识别,主要有金属层加亮,不同类型阱区染色,ROM码点染色。



4芯片拍照  通过电子显微镜(SEM)对芯片进行拍摄。



5图像拼接  将拍摄的区域图像进行拼接(软件拼接,照片冲洗后手工拼接)



6版图提取  对完整的图像进行软件或人工版图提取。



7电路提取  进行软件或人工提取。



 



以上关键之处是显微镜拍摄,如果是通过别的公司的拍摄,通常得到的是冲洗后的照片图像,因为种种原因造成图像不完整,包括得图像放大倍数影响,图像色彩模糊,图像噪点,图像拼接偏差等。



 



第二个关键点,如果得到相关电子图像,就可利用专业软件对图像进行矢量化处理。如果没有专业软件,可以使用测绘矢量化软件(比如asscanvect2000,r2v),同样可以得到相同的结果。(这里的关键点,也是对图像的处理,和图像的矢量化。)



 



如果矢量化成功,就可以得到相应的矢量图像,至少可以得到相对坐标点。对矢量图像纠正处理,或坐标点成像处理,应该不是很困难。



 



完整的图像可以得到完整的版图。通过常用的版图编辑工具(cadence virtuoso)即可对版图提取网表,然后转换成电路图。



 



 



通常的情况下,我们得不到高清晰的图像或照片,而且图像都是分层拍摄,所以进行人工提取就变成一件十分困难的事情了。本人对此进行了实例操作,主要以poly/oxide层作为基础图像。



 



准备工具幻灯透明纸,不同色彩的油性笔(粗细两头,最好是深色笔),直尺,酒精棉等。



 



划分一个区域,将oxide 层描绘在透明纸上(poly gate暂时不描),复印机明暗模式复印到白纸上用圆珠笔画出poly gate,将metal1层描绘在透明纸上放到poly/oxide 图像上;对应重合图像在画好gate的纸上画出接线;以电路软件画出相应晶体管级电路;转换为门级电路。(对逻辑电路,通常从标准cell开始,将cell提取出来后画到透明纸,去对应照片,标出该cell用到的所有位置,以此类推。)如果觉得此类方法不好,可以将照片扫描或其他方式输入电脑用矢量软件进行描线处理。不过无论采用什么样的方式都需要耐心处理,细致划分和详细标记。



 




PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户355456 2011-9-7 13:26

鼎澳电子 kejismsd.taobao.com 专业配套电子元器件 本店唯一客服是贴片 电阻 电容专家哦 帮查二三极管代码.欢迎前来咨询问价 谢谢!!。

用户1459334 2008-8-17 10:45

博主的文章很专业,对反向工程流程进行了系统的研究,我公司是做反向设计服务的,主要业务有 ASIC电路提取,电路整理,电路分析, ASIC电路转FPGA(即用FPGA取代ASIC,应用于电子系统), ASIC版图设计等, 从事此行业十多年,我公司在深圳,如有兴趣,可联系我,共同探讨此方面的问题. Tel: 0755-86330348 13923806465 苏生 Email: justin0000@163.com
相关推荐阅读
用户131639 2010-03-23 16:35
Awk 介绍
通用线程:Awk 实例第 1部分 一种名称很奇特的优秀语言介绍 http://www-128.ibm.com/developerworks/cn/linux/shell/awk/awk-1/index...
用户131639 2010-03-23 16:32
shell的输入与输出操作
shell的输入与输出主要包括:echo命令read命令cat命令管道tee命令标准输入、输出和标准错误重定向 echo [-e] [-n] stringstring : 字符串,可以含 shell...
用户131639 2009-08-22 21:22
PCB基本设计流程
  就随便写点对PCB有一个系统的、合理的设计流程。     一般PCB基本设计流程如下:前期准备->PCB结构设计->PCB布局->布线->布线优化和丝印->网络和DR...
用户131639 2009-08-22 00:06
香港金融危机全解密
引用1997年的金秋10月20日,国东强早早地打开了电脑等待着香港股市开盘。今天是一个特殊的日子,10年前的今天,正是美国华尔街股市的“黑色星期一”。现在香港回归的喜悦气氛还未散尽,人们已经感到了危机...
用户131639 2008-09-18 17:13
Why we should do gate-level simulation?
1. Since scan and other test structures are added during and after synthesis, they are notchecked by...
用户131639 2008-09-07 17:05
FPGA STA
静态时序分析在高速FPGA设计中的应用摘要:介绍了采用STA (静态时序分析)对FPGA (现场可编程门阵列)设计进行时序验证的基本原理,并介绍了几种与STA相关联的时序约束。针对时序不满足的情况,提...
我要评论
1
3
关闭 站长推荐上一条 /3 下一条