What do I need to learn in order to understand more about ringing? I feel like I'm missing basic understanding of fundamentals here.
Well, back when TTL was king, we could buy sockets that had the decoupling capacitor factory installed across the VCC and GND pins. One capacitor per package, no matter what. The modern FPGA board will have hundreds of decoupling capacitors.
The current spike during switching is related to the rise time of the signal and the capacitance. Specifically, the current i = C dv/dt where the dv/dt term dominates. It is the total change in voltage divided by the time required to accomplish the change. A 5V signal switching in 10 ns is a change of 500 million volts per second. That's a HUGE number! Now multiply that by some capacitance, say .001 ufd , and you're looking at a 50 amp spike in the power supply.
True, 0.001 ufd is pretty high but the idea is that high speed switching causes spikes and spikes are damped down by decoupling capacitors as their charge is used to supply that current for the spike.
Inductance works the other way, it won't allow the current spike to occur in near zero time. The voltage drop across an inductor is related to the rate of change of current ('i' from above) and the inductance L (in Henries): v = L di/dt. Since the current through the capacitor is trying to change as fast as the voltage, suddenly di/dt is a big number and for any appreciable value of L, there will be a high voltage drop across the inductor - those long leads in the power supply. So, when you add capacitance to provide current to provide for the spikes, you better not add inductance because it will cancel out the capacitance. In effect...
Removing the capacitor appears to reduce the ringing - I thought a decoupling capacitor was supposed to help reduce noise (same thing as ringing?). Without the capacitor the amplitude of the 1st overshoot bump is 0.136V lower. Removing the probe on the adjacent I/O port helps a little bit more, but nowhere near as much as removing the capacitor.
Right! The capacitance is gone so the inductance isn't creating an oscillator. Instead, there will be voltage spikes across the inductor when signals change state. But those spikes affect Vcc and could presumably be transmitted to every signal.
The problem with capacitance and inductance is that there are only two ways to talk about them. We can hand-wave like I did above, recognizing that the description is close but not perfect, or we can go for the math; many hobbyists aren't up for that. If you are, you might get a lot out of the Khan Academy Electrical Engineering program. It is definitely math-centric but then so is engineering. The cool thing is that there is also a math track that covers EVERYTHING but from a math perspective, not an engineering perspective.
The difference in perspective is profound: It is the reason the the University of Florida has two math tracks. One is for math majors, the other for engineers. As an engineer, I just want to use math, I don't want to derive it; I'm not looking for hidden beauty. I want a 'match', not 'the history of fire'. Hence the engineering track at Khan Academy.
In the short term, add another decoupling capacitor as close to Vcc and Gnd on the chip as you can get.