Unless you use a very, very obsolete device, you won't find 5V tolerance in any FPGAs. On inputs, 5V tolerance is easy to add, using just a pair of r esistors as a voltage divider. On output, you will need to use at least a transistor to allow switching to 5V. But if you are working with TTL inpu ts, you don't need 5V drive, 3.3V drive should be enough.
There are also ways to use resistors on outputs, to allow higher rise, by g iving up something on the low end. What do you need to interface to?
+ Get 1,000 miles of free Supercharging
It's a very old SingleBoardComputer with an HD64180 and lots of LS TTL stuff. I need to interface to inputs (eg DMA requests), outputs (eg address lines) and bidirectional (data lines). I am considering using level shifters on the latter.
IIRC I had been asking here before and got the same answer you gave above, but as DJ mentioned it, I thought I might be lucky today.
As I'm hopefully having lots of spare time in the near future (retirement after almost 41 years in the IT industry), I guess I'll put it all together and give it a try.
e in any FPGAs. On inputs, 5V tolerance is easy to add, using just a pair o f resistors as a voltage divider. On output, you will need to use at least a transistor to allow switching to 5V. But if you are working with TTL inpu ts, you don't need 5V drive, 3.3V drive should be enough.
by giving up something on the low end. What do you need to interface to?
I like switch based parts for 5-3.3V level shifting. It drops the 5V power rail to 4.3V internally, which is used to drive the gate of the pass trans istors. This causes them to not conduct above 3.2V or so. So the 5V side can swing as much as it likes and the 3.3V side is protected. The 3.3V sid e can drive the 5V side to 3.3V which is adequate for TTL levels.
Using this with 2.5V logic doesn't work so well since 2.5V CMOS doesn't dri ve high enough for 5V TTL. You have to use real level shifters. Once you open that can of worms, it gets ugly with various parts for unidirectional and bidirectional. How do you control the direction with parts that actual ly drive?
-- Get 1,000 miles of free Supercharging
Second try. About two decades ago there were a lot of lead free conversions in Europe due to the RoHS directive and again last decade when it expanded to medical devices too. So since a lot of old components weren't available lead free, a lot of substitution was done and often that meant replacing 5V parts with 3.3V parts and using level shifters. To be sure, mostly slow interfaces, old microcontrollers running at 8 or 16 MHz and slower than that serial stuff.
In a bunch of such projects there was never any issue with the level shifters. Never. They were completely problem free all the time.
As for the direction control, some level shifters have a direction input and some autodetect. As I recall, the autodetecting ones were fine already back when.
series for "Elektor" (German hobbyist electronics magazine, german edition of Dutch "Elektuur") and there I learned the simple level shifter using a FET and two pull-ups. That's what I'll (probably) use, at least for the bidirectional signals. As only a one side is actually driving, it should work.
nce in any FPGAs. On inputs, 5V tolerance is easy to add, using just a pair of resistors as a voltage divider. On output, you will need to use at leas t a transistor to allow switching to 5V. But if you are working with TTL in puts, you don't need 5V drive, 3.3V drive should be enough.
, by giving up something on the low end. What do you need to interface to?
drive high enough for 5V TTL. You have to use real level shifters. Once yo u open that can of worms, it gets ugly with various parts for unidirectiona l and bidirectional. How do you control the direction with parts that actua lly drive?
I assume you mean a FET as a pass element with limited pull up capability? That's what I use on a board I have currently in production. TI SN74CBTD3
384CPW, 10 bits, separate enables for the two 5 bit sections. Works well. This chip is designed for the job. There are smaller versions. Hacking y our own out of FETs means have to select the FETs with appropriate gate thr esholds and variance. This is not normally controlled carefully. You als o have to generate the drive voltage for the gate. That's why they invente d the such switch parts.
++ Get 1,000 miles of free Supercharging
I'm only a software person (with a strong hardware interest), but I assume that it centers around the fact that on a bidirectional connection at any one time only one side is actually driving the connection. I'd need to consult an ex-colleague who at that time explained the conecpt of this FET-Level-Shifter to me.
s some sort of limitation on the output drive, no?
I believe the way these work is to wire the two drivers so each one drives the other input. This makes a stable FF arraingment. The output is throug h a resistor to limit the current drive. Then, when one side or the other is driven, the resistor on the output (or just a current limited driver) al lows the external drive to overcome the internal drive and so control the i nput. This is reflected on the other output, which drives the other input, which switches this side output to match the level driven by the external driver. This also acts as a bus keeper, preventing the buses from drifting to invalid voltage levels which can be an issue with excessive supply curr ent or even damage. The current limited output can be a problem with fast switching the output.
I think I saw on some fancier parts, where, to deal with the slow switching , would drive with two drivers in parallel, a high current driver for fast switching speed and a low current driver as the "bus keeper". They used an internal timing circuit to disable the high current driver after a short t ime. This is a bit fuzzy to me as it was a long time ago I saw this.
--- Get 1,000 miles of free Supercharging
Tell us more please. How does your number of LUTs used compare with traditional offerings for your use case? Can you tell us more about the kind of architecture you're implementing?
Asking because I've heard that the Trion's have minimal routing fabric, so the tools tend to use LUTs for routing. The tradeoff is because Efinix can radically reduce the number of mask layers, cutting both cost and power consumption to about a third of "equivalent" devices.
I'm considering trying to port the Hermes SDR software to a Trion, and need to know how big a device would be needed. It looks like it might fit in a T35.