I am using an ATF16V8 PLD for some simple glue logic. While testing it on a prototyping board, I noticed that it gets warm to the touch almost immediately. I checked that no outputs were short circuited, but I also knew many inputs were left unconnected.

ATF16V8 is a CMOS circuit and I read that floating inputs can be an issue with this technology, unlike with TTL. Could this be the cause of the heat output and why?

  • 2
    \$\begingroup\$ Floating inputs will cause current consumption of the chip to go up considerably. Maybe even to the point of noticable heat. \$\endgroup\$
    – JimmyB
    Commented Oct 25, 2016 at 10:35
  • 4
    \$\begingroup\$ First google result for "CMOS floating": ti.com/lit/an/scba004d/scba004d.pdf \$\endgroup\$
    – JimmyB
    Commented Oct 25, 2016 at 10:35
  • 7
    \$\begingroup\$ @NeonMan: You will find that you will lead a longer, healthier and happier life if you follow these 3 rules: A. Look both ways before crossing any street (including one-way streets). B) Do not stand in front of outward swinging doors. C) Tie off all unused CMOS inputs to Ground or Vcc. \$\endgroup\$
    – FiddyOhm
    Commented Oct 25, 2016 at 10:44
  • 1
    \$\begingroup\$ Can confirm (C). I forgot to tie one pin to GND and I got cancer. Learn from my mistake, lads. \$\endgroup\$ Commented Oct 25, 2016 at 10:48
  • \$\begingroup\$ Ok. Tie all CMOS inputs to something. \$\endgroup\$
    – NeonMan
    Commented Oct 25, 2016 at 11:31

3 Answers 3


Yes, CMOS circuits can get hot when there are floating inputs. You should always connect unused CMOS input pins to a defined voltage, usually GND or Vdd, unless the datasheet tells you otherwise (see also the end of this answer and Michael's answer). If a pin could be configured as either input or output and you are not sure which it will be, then you could place a resistor between the pin and GND/Vdd.

If you leave pins unconnected, they are said to "float" and have an unspecified voltage. That voltage can be from induction on the package leads, leakage currents inside or outside the package, static discharge, etc. The key point is that you don't know the voltage at the gates of the input transistors to which the pin is connected (signal A in the CMOS inverter below).

CMOS inverter

In the worst case, this undefined voltage will be somewhere between "high" and "low", so that both transistors are conductive at the same time. Thus, a high current (several 10-100 mA) flows through the transistors from Vdd to GND (Vss), thereby generating heat and possibly destroying the chip.

Some ICs have special circuits at their input pins to prevent this from happening. This circuit is typically called bus-holder or bus-keeper, but can also be found under other names like pad-keeper (e.g. i.MX processors). It is essentially a buffer (two inverters in series) and a large resistor connected to the input pin. This ensures that the input pin is always driven to either high or low when nothing else is driving it.


Image sources: Wikimedia, public domain.


Not in this case. To quote the datasheet:

All ATF16V8B(QL) family members have internal input and I/O pull-up resistors. Therefore, whenever inputs or I/Os are not being driven externally, they will float to VCC. This ensures that all logic array inputs are at known states. These are relatively weak active pull-ups that can easily be over driven by TTL-compatible drivers (see input and I/O diagrams below).

The diagram shows a “>50kΩ” pull-up resistor. So unless you have very long wires combined with very strong electronic emissions I very much doubt it could cause unwanted toggling.

Other devices can have increased power consumption with floating pins, but I doubt it would be enough to make it perceptibly warm.

To quote e.g. an EFM32 microcontroller application note:

All unconnected pins on the EFM32 should be configured with the GPIO->P[x].MODEL/MODEH settings to 0 (Disabled). In this setting, both the input schmitt trigger and the output driver are turned off. If the input is enabled (schmitt trigger enabled), floating inputs could otherwise lead to frequent toggling of the schmitt trigger and increased power consumption.


Question says

it gets warm on touch almost immediatly

under normal circumstances it should not happen. Let's look into GAL16V8 datasheet because it contains some useful info:

Lattice Semiconductor recommends that all unused inputs and tri-stated I/O pins be connected to another active input, Vcc, or Ground. Doing this will tend to improve noise immunity and reduce Icc for the device.

It states that inputs and tri-stated I/O should be connected to somewhere, including power rails. As PLDs are configurable device, it is possible to configure pin as input, I/O or as an output.

In case you connect pin to ground or power rail, and pin appears to be active output because if was configured so, there will be excessive current leak and device will start heating.

I had such case before (found out when I was asked to troubleshoot overheating PLD), GAL device did not fry but was heating really heavily. It might be your case too. You should check PLD's configuration, and ensure that output pins are not connected to power rails and not connected to another output pins.

  • \$\begingroup\$ This is a particularly unclear answer... \$\endgroup\$ Commented Oct 25, 2016 at 11:50
  • \$\begingroup\$ @SeanHoulihane added clarification. Is it clearer now? \$\endgroup\$
    – Anonymous
    Commented Oct 25, 2016 at 12:18
  • \$\begingroup\$ The first paragraph - reads like an anecdote, not an answer. No need to break out the edit, just re-write. It still makes no sense to me. \$\endgroup\$ Commented Oct 25, 2016 at 12:26
  • \$\begingroup\$ @SeanHoulihane does it make sense for you now? Thank you. \$\endgroup\$
    – Anonymous
    Commented Oct 25, 2016 at 12:43
  • \$\begingroup\$ Yes, there are some new details there which make it easy to understand. You're actually providing one justification for using resistor tie-offs. (after the fact design modification being another benefit) \$\endgroup\$ Commented Oct 25, 2016 at 13:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.