El siguiente código escrito para la placa Basys 2 que es una placa Spartan 3E PERO Tendrá que modificar las restricciones para adaptarse a su tablero. Simplemente elige un pin IO y un botón en tu tablero para usar.
Todo lo que tienes que hacer es pasar el valor de tu botón a tu pin de IO así:
PIO <= btn;
Esto hará que cuando tu botón esté en ALTO, tu pin IO también lo esté, y viceversa en LOW.
Aquí hay un proyecto de demostración simple que utiliza este principio. Se ha probado en el Basys 2. Simplemente conecte su LED al pin IO y a tierra.
Módulo superior VHDL:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity buttonLED_top is
PORT(
PIO: out std_logic;
btn: in std_logic
);
end buttonLED_top;
architecture Behavioral of buttonLED_top is
begin
-- This is where we connect the button to the LED
-- Make sure to connect your LED to the IO pin and Ground
PIO <= btn;
end Behavioral;
Restricciones (ucf):
# Connect your LED to B2 and GND
# Pin B2
NET "PIO" LOC = "B2" | PULLDOWN;
# Push Button 0
# This will be used to activate the LED
NET "btn" LOC = "G12";