On 2010 Oct 29, at 8:39 AM, Chuck Guzis wrote:
On 29 Oct 2010 at 0:17, Philip Pemberton wrote:
On Thu, 2010-10-28 at 14:14 -0700, Chuck Guzis
wrote:
Interesting challenge, Tony. I'll work on it
before bed tonight if
no one else does. It should put me right to sleep...
If you want something to put you to sleep, try ISO 13818 (the MPEG
Transport Stream spec) will do a damn good job. One of my work
colleagues called it "the finest cure for insomnia known to man, even
better than Nytol." :)
You should try working your way through ANSI programming language
specifications.
I've got my solution, that uses at most 16-pin packages and 6 of
them, but (a) I also need a few pullup resistors, and (b) I employ a
cheat. After making Karnaugh maps of the entire 0-F decoder and
simplifying terms, I realized that I was making the job too difficult
than the rules demanded. A common 74LS247 decoder provides the "6"
with the correct "tail"; the problem boils down to creating the
letters A-F (which, interestingly, is much less complex than making 0-
9) and wire-ANDing the outputs with that of the 247.
I did the same thing, a '247, along with a '138 1-of-8 decoder to
decode the high values, feeding a bunch of NAND gates. Use the blanking
input on the 247 to disable it when A-F is being displayed. Did you
avoid the use of the 1-of-8 decoder?
I expect Tony's solution was 7 16-to-1 muxes, essentially a hardwired
ROM.
There would be another solution with a 1-of-16 decoder feeding 7 NAND
gates, doable in 8 packages (1 24-pin).
Not what Tony had in mind, I suspect.
I wonder what the smallest combinatorial implemenation is using at
most 4-input NAND and NOR gates and inverters. That's for another
time when I feel bored...