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...
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.
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".
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.
© 2014-2016 James Newman.