Forum Discussion
Altera_Forum
Honored Contributor
13 years agointerfacing Flex10k10 to CMOS
Hi There!
Bit of a dumb question but can I directly interface a 10k10 to a 5v CMOS device or do I need to use pull-ups? From what I can tell it outputs *just* above 3.5v (on a 5v core/IO voltage) so it should be okay, right? Thanks! -Mux13 Replies
- Altera_Forum
Honored Contributor
--- Quote Start --- Bit of a dumb question but can I directly interface a 10k10 to a 5v CMOS device or do I need to use pull-ups? From what I can tell it outputs *just* above 3.5v (on a 5v core/IO voltage) so it should be okay, right? --- Quote End --- Direct interfacing should be fine. Check the data sheet of the device the FPGA interfaces to and see what its input high minimum is. If its less than 3.5V, then you don't need to worry. If it is higher than 3.5V, then you might need to do a little more testing. For example, actually drive the device with an FPGA output and measure the voltage. Worst-case if the device does not recognize 3.5V as a logic high, you would then need to add a pull-up, but you would also have to change your FPGA logic to drive-high and then tri-state (you want to drive high first so that the output gets to 3.5V fast). Cheers, Dave - Altera_Forum
Honored Contributor
--- Quote Start --- Direct interfacing should be fine. Check the data sheet of the device the FPGA interfaces to and see what its input high minimum is. If its less than 3.5V, then you don't need to worry. If it is higher than 3.5V, then you might need to do a little more testing. For example, actually drive the device with an FPGA output and measure the voltage. Worst-case if the device does not recognize 3.5V as a logic high, you would then need to add a pull-up, but you would also have to change your FPGA logic to drive-high and then tri-state (you want to drive high first so that the output gets to 3.5V fast). Cheers, Dave --- Quote End --- Yeah, that's what I figured. VIH is listed as 2.2v min which should give it plenty of margin. Thanks for the quick reply Dave! -Mux - Altera_Forum
Honored Contributor
--- Quote Start --- Bit of a dumb question but can I directly interface a 10k10 to a 5v CMOS device or do I need to use pull-ups? From what I can tell it outputs *just* above 3.5v (on a 5v core/IO voltage) so it should be okay, right? --- Quote End --- Did you read the datasheet throughly? Flex10k outputs driving CMOS (effectively zero Ioh) have full CMOS swing (Voh > 4.0V). - Altera_Forum
Honored Contributor
Must've missed that. Got a page number? I measured ~3.5v, hence my question... Either way, the device I'm interfacing accepts anything > 2.2v, so I'm good :-)
-Mux - Altera_Forum
Honored Contributor
--- Quote Start --- Must've missed that. Got a page number? I measured ~3.5v, hence my question... Either way, the device I'm interfacing accepts anything > 2.2v, so I'm good :-) --- Quote End --- Here's a copy of the FLEX10K data sheet, I couldn't find a link on Altera's site. The information you want is in Table 19 on p44, and in Figure 20 on p46. The output high voltage depends on how much current your external device is drawing. If you really were driving a high-impedance input and were drawing no current, then Figure 20 indicate you should get a high voltage of 4V. Since you are getting 3.5V, either your VCCIO voltage is low, or your external device is drawing a few milliamps. As you comment, your interface logic levels are compatible, so you're fine. Cheers, Dave - Altera_Forum
Honored Contributor
--- Quote Start --- Here's a copy of the FLEX10K data sheet, I couldn't find a link on Altera's site. The information you want is in Table 19 on p44, and in Figure 20 on p46. The output high voltage depends on how much current your external device is drawing. If you really were driving a high-impedance input and were drawing no current, then Figure 20 indicate you should get a high voltage of 4V. Since you are getting 3.5V, either your VCCIO voltage is low, or your external device is drawing a few milliamps. As you comment, your interface logic levels are compatible, so you're fine. Cheers, Dave --- Quote End --- It seems pretty much in line with what I was getting. I don't remember what kind of load I had but it can't have been much, so yeah... All good :-) Figure 20 is pretty informative, thanks for pointing that out! -Mux - Altera_Forum
Honored Contributor
So here's an odd follow-up question:
The figures on page 19 specify either TTL or LVCMOS/LVTTL, assuming that VCCIO is 3.0 volts or thereabouts. For an all 5-volt system interfacing to CMOS, which one should I select under the device settings? TTL or LVCMOS/LVTTL? Both seem to work fine but neither seems to be right :-) -Mux - Altera_Forum
Honored Contributor
--- Quote Start --- The figures on page 19 specify either TTL or LVCMOS/LVTTL, assuming that VCCIO is 3.0 volts or thereabouts. --- Quote End --- You must have your reference page number incorrect. Page 19 has FLEX10K LE operating modes. --- Quote Start --- For an all 5-volt system interfacing to CMOS, which one should I select under the device settings? TTL or LVCMOS/LVTTL? Both seem to work fine but neither seems to be right :-) --- Quote End --- The tables on p47 might have what you want. Note how they indicate that VCCIO = 3.3V and that VIH(max) = 5.75V. This indicates that the inputs are 5V tolerant, and note 5 tells you that you can drive external signals onto these I/Os before the power is on. Cheers, Dave - Altera_Forum
Honored Contributor
You're right, I meant figure 19 :-) p47 is for 10k50v and 10k130v btw.
Maybe I'm making this more complicated than it is and it basically boils down to this question: For an all 5v system interfacing to CMOS components, do I select: TTL or LVCMOS/LVTTL? I'm guessing the latter as that would drive VOH up higher than 2.4v (TTL) but the 'low voltage' throws a wrench into that and is (perhaps?) not relevant? -Mux - Altera_Forum
Honored Contributor
--- Quote Start --- For an all 5v system interfacing to CMOS components, do I select: TTL or LVCMOS/LVTTL? I'm guessing the latter as that would drive VOH up higher than 2.4v (TTL) but the 'low voltage' throws a wrench into that and is (perhaps?) not relevant? --- Quote End --- If its an all 5V system, then why would you suggest you are using VCCIO = 3.3V? :) I'm not sure that anything really changes in the I/O cells based on these selections. I recall that selecting between standards gives you more current drive options in some of the newer devices, but I don't recall the FLEX10Ks as having a lot of flexibility. It may be that these settings are more "you telling the tool about the PCB" rather than the tool using those settings to set a bit in the configuration bit stream. Either way, the I/Os are 5V tolerant, so you can try both. Generate a toggling signal and look at it with a scope for each setting. Cheers, Dave