
HP Nanoprocessor part II: Reverse-engineering the circuits from the masks - parsecs
http://www.righto.com/2020/09/hp-nanoprocessor-part-ii-reverse.html
======
bob1029
I wonder if you could train a neural network to analyze these masks. I.e.
going from physical mask images back down to EDA simulation without humans
needing to decode everything visually.

~~~
7373737373
There is pretty impressive work going on in bioinformatics, using image
segmentation to digitally reconstruct three dimensional networks of tens of
thousands of neurons:

[https://www.youtube.com/watch?v=h6dF0htsTFc](https://www.youtube.com/watch?v=h6dF0htsTFc)

[https://www.youtube.com/watch?v=PeyHKdmBpqY](https://www.youtube.com/watch?v=PeyHKdmBpqY)

So yeah, probably!

------
kens
Author here to answer your questions about the Nanoprocessor :-)

~~~
klelatti
Thanks for another great post!

One thing I don't fully understand is the economics. How could HP make a
processor that was competitive with the 6800 using inferior metal gate
technology (which presumably meant a much bigger die size) for only $15
compared to $360 for the 6800?

~~~
kens
My guess is that there were two aspects to the economics. First, Motorola's
price included a big profit margin, since the price rapidly dropped when the
6502 provided competition. Second, if HP already had paid for a metal-gate
fab, it was probably cheaper to use it than build a new fab.

------
ncmncm
Speaking of increment/decrement architectures and Turing completeness, the
Brainfuck programming language provides only one-byte increment, decrement,
index via the single register and inc/dec, and branch-on-zero operations, and
is Turing complete. It is very specifically designed to be unpleasant to
program in, but to provide a glow of satisfaction at having succeeded in
programming anything at all recognizable.

A Brainfuck interpreter in Brainfuck is around ~4-500 bytes. In C, it has been
achieved (taking truly gross liberties with C semantics) in 144 bytes -- about
two lines, necessarily including substrings "main(c,v)" and "putchar(".

Programming a nanoprocessor would differ from programming Brainfuck, but would
feel curiously familiar.

------
MichaelZuo
Seeing the detail analysis of what is now an esoteric item is really
fascinating. How much work does it take to get a close look at a chip this
sized?

~~~
kens
I haven't taken die photos of the Nanoprocessor myself (yet), but it's pretty
easy with a chip like that. Since it has a metal lid, it can be opened up in
about 5 seconds with a chisel; no boiling acids required. The inconvenient
part is that you need a metallurgical microscope to get a good view. A
metallurgical microscope shines the light down through the lens so you get a
clear image under high magnification. You can see interesting stuff with a
regular microscope or an inspection scope, but the details are obscured.

To make a detailed die photo, I take about 50-100 closeup image and then
stitch them together using the Hugin panorama program. This usually takes a
couple of hours.

