From working with classical microcontrollers, I am used to the fact that pins in input mode appear to have high input impedance - when connecting them to a high voltage, only a small current flows, and the voltage is sampled in order to obtain a digital state reading.
I'm using a ice40-HX8K FPGA, and I have a pin set to input, and connected to some inner working of my core. When I briefly connect the voltage supply to the pin, it is indeed registered as a digital HIGH by my core (it's an interrupt line), but such a high current flows that the whole board browns out for a split second.
The external circuit looks as following:
The pin is declared as an input in my top level module:
module top(
// ...
input INT0
)
And connected to a pin of the FPGA in my pin constraint file:
set_io INT0 P16
Did I understand something wrong here? Are FPGA input pins low impedance?