Modular CPU Platform - i960 Processor board (that doesn't quite work...)

Another processor module, but this time a less successful one - a board based around the Intel i960 (specifically the 80960SA / 80960SB). The i960 is one of the more challenging processors I've worked with, for a few reasons:

Image of a PCB, with a PLCC-68 Intel I960SB in the middle

The status of the project is:

In case it's useful for anyone else trying to get the checksum correct, here's an example of a working SAT (I've included a Python script used to calculate it at the end of this page):

Address Value Comment
0x00 0x00000000 SAT pointer
0x04 0x00001000 PRCB pointer
0x08 0x00000000
0x0C 0x00002000 Instruction Pointer
0x10 0x00000000
0x14 0x00000000
0x18 0xFFFFFFFF
0x1C 0xFFFFD000 Checksum

Note that the Processor Control Block (PRCB) also needs to contain specific values at certain locations (it's used to configure the i960).

Here's a view of the waveforms on startup:

Image of the GTKwave logic analyser, with a processor startup visible

At some point, I'll return to this project after a bit of a break, and see if I can make any more progress - but for the moment, I've parked it.

Some design resources are here, but should be viewed with caution - as the project isn't working!