Isaac Marino Bavaresco wrote: > If your FPGA's I/Os are 5V tolerant then you may use the 74HCT245, which > work with TTL input levels (it will understand the 3.3V CMOS levels from > the FPGA) and outputs 5V CMOS logic levels. I'm not that lucky -- the FPGA I/Os are configurable for 3.3V, LVDS, 2.5V, 1.8V and a ton of other I/O standards, but not 5VCMOS or 5VTTL. I usually use the Xilinx XC9500XL CPLD chips where I can, because they do have 5V tolerant inputs (as long as they're fed via a resistor to limit the current). Anyway, I've found a few ICs that appear to do what I need -- the TI 74LVC4245, and the 74ALVC164245. The first is an 8-bit level translator, the second is a 16-bit. > If you need bi-directional communications then you will need to control > the direction input to allow data to flow to the appropriated direction. > If not, then you may tie the direction input to a fixed logic level or > use the 74HCT541 (it is usually more expensive than the 245 and don't > allow bi-directional communications, so I never use it). It's partially bi-directional -- the SPP has an 8-bit bidirectional part which is used for data transfer, and 3 control lines (OE, ALE and DLE -- with the SPP in Mode 00, OESPP, CK1SPP and CK2SPP respectively). OE controls the direction of the data buffer, ALE is Address Logic Enable (which clocks a 4-bit address into the FPGA) and DLE is Data Logic Enable (effectively a clock signal -- DLE=1 with OE=1 is a read from FPGA to PIC, DLE=1 with OE=0 is a write from PIC to FPGA). It looks like it'll work... now to solder up an adapter for the ALVC164245 and try it out... -- Phil. piclist@philpem.me.uk http://www.philpem.me.uk/ -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist