Estoy tratando de probar la funcionalidad GPIO de Altera (DE1, Cyclone II) con este sencillo programa.
Si GPIO_0 [0] recibe una señal alta (1), LEDG [0] se encenderá. Si recibe una señal baja (0), LEDG [0] se apagará.
Para la señal de entrada, estoy afirmando 5 y 0 V DC .
Aquí está mi código:
module gpio_test (CLOCK_50, GPIO_0, LEDG);
input CLOCK_50;
input [35:0] GPIO_0;
output [7:0] LEDG;
reg [7:0] LED;
assign LEDG = LED;
always @ (posedge CLOCK_50)
if (GPIO_0[0] == 1) // if GPIO received a high signal
LED <= 1; // turn LED on
else if (GPIO_0[0] == 0) // if GPIO received a low signal
LED <= 0; // turn LED off
endmodule
El problema es que parece que GPIO_0 [0] siempre está recibiendo una señal alta (aunque afirmo una señal alta o baja) porque el LED está siempre encendido. Suponiendo que mis asignaciones de pines son correctas, ¿qué salió mal?