Image

How to “Excel” at ROM Data Extraction

I have isolated what Freescale called the MICROROM, though I don't know why it is called that. We had earlier found a test article that talked about it, but I haven't read it yet.  This ROM is organized as 80 rows by 280 columns. Externally it is 640 x 35, or 22.4K bits.

For a background, this is how a ROM works. Seven address bits are decoded to activate one of the 80 word lines. The programming consists of an optional transistor that will allow a word line to pull down the precharged bit lines. Three more address bits run an analog mux that selects 1 of each group of 8 bit lines. This decoded bit line then passes through a sense amp and is stored in a latch. And there is usually some sort of timing that determines when things happen.

For reverse engineering, the ROM is a very regular structure, and it is easier for me to extract each piece, and then assemble them into the larger ROM. I can look at a word line decode, and then repeat it 80 times.

The program data is another matter, since it is random. I need to come up with a table that says that this address has this data. What I have is 8364 cells placed at various physical locations.

My CAD editor has the ability to convert polygons into a text file. It looks like this:

ADD CELL "LEFT" ID=8364 AT (-4866.0, 4097.5)

ADD CELL "LEFT" ID=8363 AT (-4659.0, 4097.5)

ADD CELL "RIGHT" ID=8362 AT (-4985.0, 4097.5)

ADD CELL "LEFT" ID=8361 AT (-5004.0, 4097.5)

ADD CELL "LEFT" ID=8360 AT (-4958.0, 4097.5)

ADD CELL "RIGHT" ID=8359 AT (-5192.0, 4097.5)

I took this file and pasted in into Excel. I recopied the x and y address columns into separate columns, sorted them, and removed duplicates. This left me with 80 X coordinates and 280 Y coordinates. I was relieved to see they matched up with the manual count I did.

I gave each of the X and Y coordinates an address number. Then I went back to the original list of addresses, and used the SUMIF function to look up the matching X and Y addresses and sum (copy, since there was only one match) the address back to the bit. Excel is your friend.

Currently, I don't know which address lines correspond to which location. Once I know that, I'll be able to make a Verilog data file for simulations. I will also convert the programming data into a spice transistor net list, and use that for layout verification.

But that is for later on. Other tasks are calling me this morning.

 

Date

2011-11-18

Lynn Reed
Lynn ReedFounding Partner
As a Tekmos co-founding partner, Lynn Reed helped lead a groundbreaking company powered by culture and drive to redefine what's possible for new products and experiences in the semiconductor industry. This entry is one of many that he wrote prior to his passing.

Main Office

Tekmos, Inc.
14121 Highway 290 West
Building #15

Austin, TX 78737
Phone: (512) 342-9871

Tekmos' 25 Years + Image