Reading several recent posts about hardware implemented on solderless breadboard spurred me to think about an add-on board that may help the debugging of breadboard hardware. Assuming the breadboard contains a microprocessor in 600-mil DIP package such as 6502, Z80, 6809, etc, the basic idea is a board that stacks over the microprocessor to provides user interface. This board has 2 rows of pins 0.8" wide with pin functions match the target microprocessor. It plugs over the microprocessor and monitor/control the activities of the microprocessor with several modes of operations. This board contains two components, 128K RAM and CPLD, and 2 headers, serial port and JTAG port. Different processors will have different routed add-on board, but the concept is the same.
I'm thinking of 4 different modes of operations depending on how the CPLD is programmed:
1. Enhanced NOP test where a small ROM is programmed in CPLD to bootstrap the processor and perform simple test of the breadboard hardware.
2. Instruction tracing where every instruction executed is output on the serial port. This requires processor to run very slowly but serial port to transmit data at high data rate such as 460K.
3. Instruction logging where processor is running at full speed and data is saved in RAM.
4. Functioning computer where processor with RAM+CPLD forms a simple computer that can load and run program through serial port.
Mode 1 is easy to do because CPLD can be programmed with 64-128 bytes of ROM data; mode 2 was done for
RC2014 Z80 where Z80 clock is 10KHz and address/data are send out serially at 460K. With hoglet's 6502 instruction decoder the CPU clock maybe 3 times higher; mode 3 hasn't been done (by me) so it is an unknown; mode 4 is basically
CRC65 design but without compact disk interface.
Solderless breadboard have 5 rows of connections on each side so two rows at 0.8" spacing plugged over 0.6" DIP allow one row of solderless connections at one side and two rows of connections at the other side. The 0.8" wide footprint is sufficient to accommodate hand-wired SOJ RAM and PLCC44 CPLD. For PC board, the row spacing needs to be 0.9" to accommodate PLCC44 or 100-pin QFP.
To check out the concept, I have started building a prototype board mounting SOJ RAM and PLCC44 CPLD in "dead bug" fashion on perf board. The two rows of pins are 0.8" wide. The CPLD is pre-programmed with CRC65 equations and the schematic is based on CRC65.
I've layout the ground/VCC and connected up the clock and 8 data line. While I enjoy building hardware, this prototype effort is tedious and I can only do a dozen or so connections before the fun ran out. I'm stopping tonight to write down my work so far. To be continued.
Bill