top left Image    7 segment Display Driver

I have claimed that the Megaprocessor is built entirely from discrete components. This is a true claim.

The alert observer may have noticed that there are some chips used on the boards carrying the 7 segment displays. This is also true.
The 7 segment displays are for debug and user friendliness. You can disconnect them and the Megaprocessor operation and performance will be totally unaffected.

It has to be said though that it would be in many ways nicer and more satisfying if the 7 segment displays were also driven by discrete components. So I spent a bit of time looking at it. It turns out that the logic to convert a 4 bit nibble to the required 7 segment value is largeish. Similar in size in fact to whatever it was that was producing the 4 bit nibble (adder for example). There are some things you can do. For example you can do some of the work with a ROM. I did actually go so far as to try building part of the required ROM program from diodes...
diode matrix for 7 seg decoder
I managed about 10 of the required 16 options before I lost the will to live and gave up. The diodes are mounted vertically to try and save some space. You can also try multiplexing the 4-7 decoder between several digits, but then you need a multiplexer and something to control that. It's all doable but you still end up with something quite big and I had to ask myself if this was really the right thing to do.
The7-segment display is irrelevant to the processor operation yet, if done using discrete, requires as much space as the operations it is supposed to be helping explain and so obscures the operation. Not good. So I went for using chips. I have made sure that the boards using chips can be simply detached from the processor without affecting operation or performance.

I was rather surprised to discover that having decided to use a 7 segment hexadecimal decoder chip they were no longer being made ! You can still get 7 segment decimal decoders but I failed to find any that could do hexadecimal. In the end I found it easiest to use a PIC.
7 segment display board
I'm getting to be quite fond of PICs, they cost nearly nothing. Its the small chip nearest the big chip, which is the driver for the displays (provides the current). (Rather irritatingly that £5, 2 sq cm bit of plastic is more powerful than the Megaprocessor itself. Just not as beautiful.) The other chips are 74LS244 which I use to construct a multiplexer.

Having said that its difficult to drive a 7 segment display with discrete components, there is one case where I was able to. This is when instead of trying to translate a 4 bit nibble to a hexadecimal digit I instead translate a single bit to either "-" or "1".
status display
This only takes two transistors. Though in fact I used three as I wasn't sure whether I wanted "-"&"1" or "0"&"1" so I hedged my bets and implemented both. I use this type of board for the status and state registers.

link to previous
link to next

© 2014-2016 James Newman.