# IC for data redirection

I was just wondering if an integrated circuit exists that would do the following:

• Has around 10 inputs (8 for 8 bits of data, 1 for output selection and one for output enable) and 16 outputs
• Will output the inputted data through one half of the output pins depending on whether the output selection pin is high or low

• Output bits On are high if (An&(!S)&E)

• Output bits On+8 are high if (An&S&E)

• Where On+x = Output bit (n + x), An = Input bit n, S = Selection bit, E = Enable output

Any ideas?

• Smells like 8-bit demultiplexer with 2 outputs, but not exactrly (that half of pins...). – Kamil Apr 24 '14 at 0:34
• Such an IC is almost never needed in practice. Instead, connect the inputs directly to both sets of outputs (i.e. "bus" them together), and simply use the "select" and "enable" lines to control whatever logic is receiving the data. – Dave Tweed Apr 24 '14 at 0:57

a very small FPGA such as the Lattice ICE40 series which are extremely cheap (~$2) would be perfect for this. Your VHDL program would be a very simple pin-mapping pass-through with some conditions given by the enable and output select pins. Link to part Otherwise a small micro controller can do this, with minimal support circuitry (for low speed of course, can use internal oscillator) • I'm going to investigate these FPGAs – VivaDaylight3 Apr 25 '14 at 10:12 • Are you experienced in hardware design? As in, PCB and general microcontroller circuits? You should first get an ICEPick development board from Lattice (cheap,$30) to test functionality and get familiar with how to program them. Then you should look at the way FPGA need to be supported by other circuitry, such as their power requirements (usually low voltage, 1.2 - 1.8V and high currents) and some of them, like the one i suggested, have a really handy way to use external SPI flash memory to load their program on power-on each time - or a micrcontroller can send them a program on start-up too – KyranF Apr 25 '14 at 10:15