I'm simply trying to have the Spartan set a GPIO to high when an SPI Slave transaction is completed.
To test the hardware trigger portion, I modified the led_blink code to output to the beaglebone GPIO_45. I may have done this wrong as VHDL is completely new to me. It also seems that this pin is used for GPMC for the logi....
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
--use IEEE.NUMERIC_STD.ALL;
entity logibone_blink is
port( OSC_FPGA : in std_logic;
LED : out std_logic_vector(1 downto 0);
GPMC_AD : out std_logic_vector(15 downto 0)
);
end logibone_blink;
architecture Behavioral of logibone_blink is
-- Led counter
signal counter_output : std_logic_vector(31 downto 0);
begin
process(OSC_FPGA)
begin
if OSC_FPGA'event and OSC_FPGA = '1' then
counter_output <= counter_output + 1 ;
end if;
end process ;
LED(0) <= counter_output(24);
LED(1) <= counter_output(23);
GPMC_AD(13) <= counter_output(22);
end Behavioral;
--------------------------------------------------------------------------------------------------------------------------------------------
Have I completely butchered this or is there a better workflow I should approach?
Comments
If you want to use the gpmc pins as gpio you will need to modify the device tree setup. I can generate an image for you with a device tree file that setup the gpmc pins as gpios (preferably not the one that are shared with the emmc) when I get back (not before the 13th). N the device tree these pins are pulled high in the MUX settings and controlled by the gpmc controller (which might force them in a given state). When I debugged the gpmc interface, the logic analyzer showed that the gpmc pins were forced in a given state even after a transaction occured. I will be of better help when I will have my computer and logo board on hand ...
Regards,
Jonathan piat