Path: utzoo!attcan!utgpu!news-server.csri.toronto.edu!rutgers!apple!julius.cs.uiuc.edu!zaphod.mps.ohio-state.edu!swrinde!ucsd!orion.oac.uci.edu!ucivax!zardoz.cpd.com!dhw68k!felix!dennisg From: dennisg@felix.UUCP (Dennis Griesser) Newsgroups: sci.electronics Subject: Re: cheap address decode ideas? Message-ID: <152086@felix.UUCP> Date: 6 Oct 90 01:17:45 GMT References: <28711@nuchat.UUCP> Sender: daemon@felix.UUCP Reply-To: dennisg@felix.UUCP (Dennis Griesser) Organization: FileNet Corp., Costa Mesa, CA Lines: 27 In article <28711@nuchat.UUCP> steve@nuchat.UUCP (Steve Nuchia) writes: >Given a desire to have N (=5 in this case) I/O port groups >decoded at arbitrary addresses without using a whole boatload >of parts? > >My current best, decoding 6 bits (sufficient) is a pair of 74ls138 >3->8 demux chips and a jumper field. This would be ok, except that >the jumper field would take 160 pins to permit truly arbitrary >addressing using regular shorting blocks. How about an exclusive-OR gave for every address bit to be compared. Feed one input from the address and the other from a DIP-switch. The XOR output goes low when the address matches the DIP-switch. OR together the XOR outputs. If it's high, one of the address bits didn't match. Depending on whether the rest of the circuit needs active-high or active-low enable, you can invert the output (or use a NOR). This might use more chips than you want... The address-recognition RAM sounds like more trouble than it's worth. You will need some way to initialize it, and that probably means some form of dual-porting, with some well-known location (so you can find the address to tell the port its address...). If you really want the demux/field/select like you mentioned, it might be a better idea to replace the jumper field with a matrix switch - prettier and uses less space.