反向工程流程介绍
从前学电脑,通常有人会把电脑的发展与飞机的发展放在一起比较是为了说明电脑发展是多么的高速。现在看来应该说是半导体的飞速发展才对。对于飞速发展好像中国也不能占上光,现在回头看看一些知名企业那时的产品,你会惊奇的发现原来中国落后于别人比想像中的要多一些。(原本有一大堆废话要讲,暂时省略。不过要提醒的是做反向设计不要落入别人的陷阱里去,免得别人来抢你的辛苦钱。)反正要进步,学习别人的经验,搞搞研究没有什么不好的。
言归正传,在做反向方面,前段时间电子工程专辑上有一篇“圣景为反向正名”的文章,介绍了上海圣景公司的一些情况和他们开发的软件(picasso,chip smith, polaris等)。据我所知,上海提供这一服务的公司有宜硕和复旦微电子,其他也许还有,北京芯愿景网站有此类的介绍,除此之外,其他有半导体的行业的城市都有提供类似服务的企业,这里就不一一列举了。
反向工程最主要的工作就是将一颗完整的芯片转换成所熟悉的版图和电路图。这里的难点在于图像的矢量化,在方面消耗了大量的人力。
大体的流程应该是:芯片样品à解剖去层à数字拍照à拼接对准à完整图像à(码点提取、版图提取、网表提取)
其中芯片剖片拍照过程如下:
1,芯片开盖 开盖以化学法或特殊封装类型开盖,处理金线取出晶粒。
2,层次去除 以蚀刻方式去除层,包括去除保护层polyimide、氧化层、钝化层、金属层等。
3,芯片染色 通过染色以便于识别,主要有金属层加亮,不同类型阱区染色,ROM码点染色。
4,芯片拍照 通过电子显微镜(SEM)对芯片进行拍摄。
5,图像拼接 将拍摄的区域图像进行拼接(软件拼接,照片冲洗后手工拼接)。
6,版图提取 对完整的图像进行软件或人工版图提取。
7,电路提取 进行软件或人工提取。
以上关键之处是显微镜拍摄,如果是通过别的公司的拍摄,通常得到的是冲洗后的照片图像,因为种种原因造成图像不完整,包括得图像放大倍数影响,图像色彩模糊,图像噪点,图像拼接偏差等。
第二个关键点,如果得到相关电子图像,就可利用专业软件对图像进行矢量化处理。如果没有专业软件,可以使用测绘矢量化软件(比如asscan,vect2000,r2v等),同样可以得到相同的结果。(这里的关键点,也是对图像的处理,和图像的矢量化。)
如果矢量化成功,就可以得到相应的矢量图像,至少可以得到相对坐标点。对矢量图像纠正处理,或坐标点成像处理,应该不是很困难。
完整的图像可以得到完整的版图。通过常用的版图编辑工具(如cadence virtuoso)即可对版图提取网表,然后转换成电路图。
通常的情况下,我们得不到高清晰的图像或照片,而且图像都是分层拍摄,所以进行人工提取就变成一件十分困难的事情了。本人对此进行了实例操作,主要以poly/oxide层作为基础图像。
准备工具幻灯透明纸,不同色彩的油性笔(粗细两头,最好是深色笔),直尺,酒精棉等。
划分一个区域,将oxide 层描绘在透明纸上(poly gate暂时不描),复印机明暗模式复印到白纸上用圆珠笔画出poly gate,将metal1层描绘在透明纸上放到poly/oxide 图像上;对应重合图像在画好gate的纸上画出接线;以电路软件画出相应晶体管级电路;转换为门级电路。(对逻辑电路,通常从标准cell开始,将cell提取出来后画到透明纸,去对应照片,标出该cell用到的所有位置,以此类推。)如果觉得此类方法不好,可以将照片扫描或其他方式输入电脑用矢量软件进行描线处理。不过无论采用什么样的方式都需要耐心处理,细致划分和详细标记。
用户355456 2011-9-7 13:26
用户1459334 2008-8-17 10:45