A Machine for Testing of Static RAM
by Ralph Klimek 2007, Based on work from 1987
Abstract. A Digital machine for the rapid go no-go testing of some
commodity static ram chips. The design principals are based on
the Zero Bit Computer/Sequencer.
Introduction.
Way back in 1987 I was servicing a large mini computer, the Pyramid 90X
which as based on 74Sxxx series logic. It was based on a 32Mhz
clock divided into 4 phases, and a risc architecture that gave it about
8 MIPS. Built of discrete SSI and MSI devices, the only VLSI devices
were the console processor which used a Motorola 68000 and
assorted high speed bipolar static RAMS. We did repair these
machines to chip level, back then , just swapping boards until it
worked was not an option. The CPU was heavily microcoded and came
with extensive , very effective diagnostics that ran at both the "cpu"
level and at the microcode level. The machine had many caches,
instruction buffers, microcode caches, writable control stores
implemented with high speed bipolar static rams. In those days, the
static ram failure rate was fairly high, Monash University had 6 of
these machines at one stage. Diagnosing static ram failures was
rendered easy by the microcode diagnostics. They basically told you
which chip to change. All well and good, but what if the bad ram was in
the writable control store ?
This machine was born of a necessity to bulk checking of machine ram
and our small stock of spare ram. Somehow bad ram had found its way
into the spares and maybe a third of our spares were suspect. One fine
day a Pyramid died with a control store parity so not even diagnostics
would run.
So over a weekend I struggled to complete this machine. This machine
"mattered" and had been down for a while and the powers that be
were not impressed. I had on hand an intel type 2149 that
we knew was bad and one 2149 that we thought was good. So with that I
wire wrapped away my weekend and by Sunday night it could tell apart
good from bad. Why not a microprocessor design ? That would have meant
for me a Z80, eprom, static ram, debugger, display and maybe a week of
futzing around to get a sign of life. The hard wired design would "just
work", as it did.
The core of the design is based on what I call a "Zero Bit Computer".
It is a micro sequencer based on a small handful of MSI 74xxx logic.
The unique design attribute of the zero bit computer design paradigm is
that there exists a one to one isomorphism between a plain natural
language description of a sequencing problem and the wiring ( that
would be programming) of the zero bit computer. I have discussed this
idea in another article in this site. There are two zero bit
computers in this design, one does the creation of a chip enable and
write enable signals to the static ram under test and it ensures
correct setup and hold times of address,data and the WE signal. The
other does "gross" sequencing, address generation, write cycle, read
back and compare cycle, next data pattern cycle. The machine will
write/read/compare ones, zeros , and selection of address bits and halt
on error and alarm. It could test 1 bit, 4 bit and 8 bit wide
rams with up to 16 address lines.
I built it from discarded mainframe components at zero net cost, this
being a university department was a good thing as we had no budget for
this kind of playing around.

The above drawing shows the two micro sequencer, address generator,
test data multiplexer, and random pattern data generator for 1 bit wide
static rams.

A table of static rams that my machine could test, these were all the
ones that we used in the Pyramid, VAX and Burroughs mainframes here at Monash in 1987.

This is the data read back and compare circuit. Xor gates are used to perform bit wise comparison.



The machine was wired on these
prototype boards that were not prototype boards at all. They were
salvaged from redundant Burroughs type BX350 disk pack drive
controllers which were mini computers in their own right. Most of the
chips are recycled Burroughs mainframe 74xxx seris logic.


