I was looking at this application note about bi-directional level shifting:
http://ics.nxp.com/support/documents/interface/pdf/an97055.pdfThe design calls for discrete MOSFETs (N enh) plus some passive resistors. For a simple shifting implementation, it requires two transistors per signal line. In this case, I would like to perform automatic level shifting for a lot of signals - roughly 80 to 90. Going with discrete transistor packages, there is no way I could hope to fit that many (plus three resistors for each signal) on a PCB of reasonable size. And while buying a few chips won't break the bank, when you need ~200 for a single board it adds up. Example transistor mentioned in the app note:
http://www.digikey.com/product-detail/en/BSN20,215/568-1658-1-ND/763485I've tried looking for multi-FET array packages for this application, but haven't turned up anything. Surely someone must offer quad FETs in a single chip (or 16, or even 8 )?
I know that normally, you would only perform level-shifting on the few signals you care about, but in this case I want to have a general-purpose level shifting adapter that lets me plug average 5v Arduino-style shields into my FPGA board that only wants 3v3 (and I don't think it is 5v tolerant, nor would I expect the 5v shields to be 3v3 tolerant).
All of the purpose-made level-shifting chips I have seen that can handle multiple signals are useless for this purpose, because they are either unidirectional or they require another external signal to control the direction of all shifted lines.