强行逆向HP35 ARC芯片版图的尝试 - 全过程记录

9年前,Peter Monta拍摄了一台HP35中ROM和ARC这两个芯片的版图,并通过直接记录版图上的图形的方法人工读出了HP35的ROM内容,这为模拟器社区提供了重要的素材。这些芯片的高清照片被发表在pmonta.com上。自一年前看到它我就非常想尝试逆向它,但是因为当时的知识水平限制没能做到。今天在积累了一定相关知识后我进行了尝试,最后的结果基本还是正确的,不过现在只能在这里记录我的方法,至于实际将这个芯片逆向成网表这种工作因为时间关系暂时没法做,希望未来什么时候能闲到把它逆向完…

图1. ARC照片的缩略图,原图见pmonta.com,有6919 x 8327

在70年代早期,因为钠离子沾染问题,NMOS很难制造出来,于是当时的数字芯片普遍是PMOS工艺。再加上这个计算器使用的是负逻辑,很容易判断这一定是一个PMOS芯片。

可惜我对PMOS工艺的了解完全是0,资料也几乎没法找到。在刚刚决定开始做逆向时我做的非常痛苦,因为相比于前一个结构非常清晰的CMOS,这个PMOS芯片没有任何标识:掺杂区、过孔、多晶硅长的完全一样,这几乎让我放弃了逆向,但考虑到pmonta.com上,站长已经发了他对ROM的逻辑部分的逆向结果,我觉得自己只要“Try Hard Enough”,总是能看明白的。在尝试了超过8个小时后我终于完全明白了这个芯片的工艺,我将我的探索过程发在这里。

Continue reading "强行逆向HP35 ARC芯片版图的尝试 - 全过程记录"

分享一个有趣的芯片逆向练习,以及我自己的解法

自以前就对芯片的逆向非常感兴趣,最早是看Ken Shirriff在他的博客righto.com发的文章入的坑,学了一点芯片逆向的知识,算是从课本往实际实现靠近了一点,后来经常在zeptobars.com看晶圆照片洗眼。但是即便如此,我的知识只能是纸上谈兵,实际的电路分析还是从来没做过,今天逛Siliconpr0n.org时看到他给出了一个小练习题,我才算是第一次尝试做逆向。

将每个晶体管的结构对应到实际的照片上完全不是一个直观的过程,尤其是在完全不知道管脚排布和功能的前提下。在做完后和Siliconpr0n的页面上提供的解答对比了一下,大体上是正确的,我将我探索的过程po在了后面,希望能给出一些参考。

QUIZ (src)

(点击看大图)

原题如此,文件名:“Metal Gate_CMOS”,作者还补充道:“关于文件名里的Metal Gate,我应该是误解了,但它确实是个CMOS”(换句话说这不是Metal Gate)除此之外无附加信息

=== 点开就剧透 ===
Continue reading "分享一个有趣的芯片逆向练习,以及我自己的解法"