top left Image    Boards


This is a gallery of the circuit boards I've made for the Megaprocessor.

Logic Functions:

1 BUF
(design files)
buffer
2 AND
(design files)
2and
2 OR
(design files)
2or
3 AND
(design files)
3and
3 OR
(design files)
3or
4 AND
(design files)
4and
4 OR
(design files)
4or
4 BUF
(design files)
4buf
5OR
(design files)
5or
8OR
(design files)
8or
2x2AND OR
(design files)
2andor
2x3AND OR
(design files)
2x3andor
4x2AND OR
(design files)
4x2andor
8x2AND OR
Somehow when doing this board I messed up the power plane so it didn't extend over the whole board. So there's a few wires underneath to sort things out.
(design files)
8x2andor
2 to 4 DECODE
(design files)
2ecode
4 to 16 DECODE
(design files)
4decode
16x2MUX
(design files)
2mux
16x4MUX
This is the most
tedious to solder.
(design files)
4mux
8BIT ADD/SUB
This is my favourite board
(design files)
adder
8BIT LOGIC
(design files)
logic
Shifter
The shifting is just by wiring from one connector to the other with an offset. Depending on which side you call the input and which the output its a left or right shifter. It also generates some status data (is zero etc).
(design files)
shifter
Word Byte Converter
This splits a 16 bus into an LSB and MSB, or vice versa. Its purely wiring.
(design files)
word byte converter

Display

I spent a bit of time trying to work out how to do the 7-segment display using discrete transistors but the answer is vast. Really, really big. It would have near doubled the size of the thing and the circuitry for the display would have obscured the circuitry for the processor which would have undermined what I was trying to do. As its only for debug and not proper function I went for chips. This is definitely NOT cheating, it is just for debug. It is irritating though.
3x2, 4DIGITS
Same board, there's
two ways of
fitting the display.
(design files)
7seg
STATUS_DISPLAY
Used for state machine
and status flags,
only does 0 & 1,
or - & 1.
(design files)
status

Connectivity

I ended up needing a lot simple boards just to be able to connect things together in a reasonably manner. Some of early decisions were a little poor, this should have been easier.

Data bus breakout.
This is just used for generating constant values.
(design files)
bus breakout board
Data bus breakout with display.

(design files)
bus breakout with display
Address bus breakout
(design files)
address breakout board
Data bus Tee
This is purely wiring.
(design files)
2 way bus tee
Data bus Tee (buffered)
I use this when I want to tee a bus to send it to a different frame.
(design files)
buffered 2 way bus tee
Data bus Tee (4 way)
(design files)
4 way bus tee
Data bus to data bus
Used on the
edge of modules.
(design files)
bus to bus interconnect
frame to frame
This combines four data buses together to make a 64 way bus for joining frames together (a small number of wide cables is easier to deal with than lots of small ones).
(design files)
top of frame interconnect boardbottom of frame to frame interconnect board
frame to frame (protected)
Does the same as above but I added some protection circuitry for when its used for incoming buses. I don't know if its necessary, or if I did it correctly.
(design files)
frame to frame interconnect with protection
frame to frame memory connection
This combines the address and data bus into a single cable for transferring between frames. It includes protection circuitry for inputs.
(design files)
mem p2p topmem p2p bot
Services
This is a partially populated version that I used for the processor emulator during testing.
(design files)
services board

Memory

16 bit register
(design files)
16 bit register
RAM
(design files)
picture of circuit board for 8 bytes of RAM
I/O Mux 4 way
(design files)
4 way memory mux
I/O Mux 2 way
(design files)
2 way memory bus mux



Test

Test Board
To test the larger scale structures I need a huge amount of I/O out of the PC so I built an I/O expander. These can be daisy chained (I hope, not tried it yet) to give me what I need to test the largest modules. Made a stupid stupid mistake on the pinout for the very simplest chip. Hence the carbuncle.
(design files)
test
IGOR
This consists of an FPGA development board from Lattice piggybacking on a board that provides 3 to 5V level translation to allow it to talk to the Megaprocessor. I was originally only going to build one of these but I ended up splitting out its functions (control, memory, peripherals) to try and make it easier to see what was happening rather than just having one board doing magic.
He's described in more detail
here .
(design files)
igor board








© 2014-2016 James Newman.