强行逆向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芯片版图的尝试 - 全过程记录"

HDSP2000点屏

占着坑,这周末把它写了,下周直接拿去水数字系统课作业((

前言

简单来说动机是这样的:这学期我们有一门数字系统设计的课:每个人发了FPGA实验板子(Ego1 ,芯片是Aritx7系列的),结合实验一起讲Verilog语言。不幸的,我们班80多人,只有我一个没有领到板子。那我就有理由好好用一把自己吃灰已久的XUPV5了不是(x

此前做过一些FPGA开发,也一直停留在做超小系统的级别(比如那个至今没时间填完坑的HP35复刻)。我意识到自己的问题不是说不会用还是怎么的,主要是懒和过度担心,有些时候有些问题明明是安静写那么一段时间就能写出来的,我却经常选择回避或者单纯的kill time,不干正事。现在我感觉有必要给自己找些小模块,花几个小时硬逼自己一个一个一口气不中断地写完,作为练习。

这次我们留了一个作业,基本还是在教同学们怎么用case写查找表,最终来驱动一组段码LED。我的开发板上并没有段码LED,而且我觉得如果我也做一个段码LED那就太无聊了,不如设计一个比较精致的HP字符LED屏控制器,然后再画一个PCB,做成XUPV5上那个LCD模块的形状,将它替代掉?

Continue reading "HDSP2000点屏"

HP35: A Bit-Serial Wonder - 2. Bit What?

Part2. Bit What?

This article is about the "bit-serial" design scheme employed in HP35's digital design.

[Status: Proofreading]

Continue reading "HP35: A Bit-Serial Wonder - 2. Bit What?"

HPJ 阅读列表 1980-1998

Hewlett-Packard Journal

- Read List -    

HP Journal为惠普帕罗奥图总部于1949年开始发行的杂志,内容主要为其最新产品的介绍,以及其实验室的最新发明的介绍与原理讲解。HPJ截至到1998年停止发行纸质刊物,历经了近50年的时光,发行了超过478本杂志,内容涉及面甚广。

惠普与美国当时许多科技公司一样,丝毫不介意让大众从最根本的地方了解自己最新发明的技术,以一种惊人的自信将其先进的理念写入每个电气工程师的心中,在做到产品推广的同时,也起到了一定的教学作用,提高了整个国家电子工业的水平。

HPJ是老惠普为人类留下的宝贵财富,虽然其中有些设计与思想处于当时时代与科技发展水平的局限,已经太过陈旧。我们电子工程师仍然能够从中挖掘到无尽的财富。例如在HP推出到至今仍是最高水准之一的HP3458A八位半台式万用表之后,HPJ拿出了一整期(1989年4月刊)从ADC、交流有效值测定算法到校准算法,详细地介绍了这款万用表的内部设计。这份刊物至今仍是高精度万用表设计入门的圣经。

因此,我决定在自己的闲暇时间,潜入这478本杂志的海洋中,把自己发现有趣的,对现在电子爱好者或者电子学习者仍有帮助的内容摘出来,做成一张表格方便大家翻阅。同时也是为我自己做一个索引,方便自己查看。

本列表仅包含1980年到1998年的157本纸质扫描版杂志,更早期的内容暂时不涉及,以后可能更新70年代的那一部分。另外因为本人知识水平有限,很多内容可能不能很好地理解,关于纯电子学以外的内容(医学、光学等)暂时不涉及太多。

Continue reading "HPJ 阅读列表 1980-1998"

用C扩展你的HP 50g - 总目录与第一部分

Extend your 50g with C

CONTENTS & SECTION 1

总目录与第一部分

原文章版本:1.12 (2008-10-09)
翻译版本:0.01 (2016-09-23)
基于HPGCC版本:2.0SP2
作者:Egan Ford (egan NO_SPAM_AT sense.net)
译者:Andy Lithia (Lithcore.cn)

原文地址:http://sense.net/~egan/hpgcc/

Continue reading "用C扩展你的HP 50g - 总目录与第一部分"

HP-12c的三角函数程序,来证明RPN Keystroke编程的实力吧!

HP-12C,自1981年生产至今,是HP voyager系列最容易买到的一款机器。这款机器是一个纯金融计算器,缺少许多基本的数学机能,所以即便很好看,也没有办法拿来日常使用(失望)

但是这款机器配备了HP祖传的RPN-Keystroke编程功能,虽然被削弱到HP只能称其为“宏”,但是仍然足以实现如三角函数这类常用数学功能。

本文将一步一步讲解如何实现三角函数,并在这个过程中说说RPN-Keystroke这个非常实用的机上编程方式。
Continue reading "HP-12c的三角函数程序,来证明RPN Keystroke编程的实力吧!"

HP-Saturn 02-指令集

.xlsx格式下载(16.08.15)
根据HP-ASM语法编辑而成,因为将所有指令完全展开来写而略显冗长
内容来自Gilbert Fernandes和Eric Rechlin的著作《Introduction to Saturn Assembly Language》,经过本人的加工,可能与实情有所出入,欢迎指出错误。