On 28 Oct 2010 at 20:07, Tony Duell wrote:
If you ingnroe 'progammable' devices
(PROMs, PALs, FPGAs, etc), what's
the simplest solution for getting 0-9,A-F from 4 bits of binary using
only 74xxx devices (and preferably common ones). I can trivially do it
in 7 such chips, but alas they're all 24 pin devices. Anything
simpler?
Interesting challenge, Tony. I'll work on it before bed tonight if
no one else does. It should put me right to sleep...
I see...
For those who are wondeirng, the 'trivial' solution I mentioned uses 7
off 74150 16-input multiplexers, one for each segment. You tie the inputs
high low to determine if that segment is on or off for a given set fo 4
input bits.
After posing that, I thought of other solutions that make no assumptions
about the segment patterns -- they always work. For example 7 off 74151 8
input muxes and a single inverter (1/6 of a 7404) That has the advantage
of automatically providing actrive high and active low outputs.
Or use a 74154 to decode the input bits and then logically OR the active
low outputs together with 7430 8-input NANDs. The thing is that a given
segment is either on in 8 or fewer patterns or it's off in 8 or fewer
patterns (it must be one or the other since there are only 16 patterns).
So you can get away with 8 input NAND gates, maybe you need to invert the
outputs (7404s again) [1]. So that's 9 packages (74154, 24 pin, 7 off
7430, 14 pin and a 7404, also 14 pin. If you need to invert all 7 putputs,
and thus need more than the contents of a 7404, then I would simply
redefine the problem to use the other type of display :-). Actually, in
all cases you probably want some kind of driver on the outputs, so you
can pck a normal or inverting onme.
I've not writtne down the turth table so I don't know if you can use
smaller NAND gates for some of the outputs, and thus get away with fewer
packages.
Anyother thought I had is to use a 7447 for the lower 8 or 10 patterns
(as it's designed to do!) and add logic for the higher ones. I don't know
if that saves chips.
[1] I beleive you need this sort of trick to build such a decoder in a
stnadard PAL or GAL device.
-tony