So, my BlackIce MX arrived today on the mailbox And after my previous experience of having ISE running in a virtualised Windows environment, being able to do everything from within VSCode and MacOS is a bliss! Thanks @Folknology for this wonderful board
Anyway, I was doing some sanity checking on the board (which of course includes the mandatory
blink example), when I've found @lawrie open ebook. There, he explains that two of the included buttons are hardwired to the blue (49) and green (52) led. Looking at the schematics, the buttons connect to GND, so they are active low. The example @lawrie gives thus make sense; my top module is:
module chip (
assign yellow_led = button1;
... with this
set_io clk 60
set_io yellow_led 55
set_io -pullup yes button1 52
When the button is not pressed, the internal pull-up resistor keeps
button1 high. Once it's pressed, both
PIN52 and the green led now have a path to
GND, thus registering LOW and making
PIN55 (the yellow led) LOW too. Right?
The pickle is, that's not what happens: both button 1 and 2 make the yellow led turn on, and it is kept on.
However, handling (literally putting my hands on the board), tends to turn it off. This is probably because my fingers touch a specific contact on the pin header, and thus turn the signal off; which is confusing for me, because a potential
GND connection from my hands would actually turn it on, not off. Further handling do not turn it on.
So my question is: what is wrong? my (@lawrie) code or my board?
P.S. Debouncing problems?