82 lines
2 KiB
VHDL
82 lines
2 KiB
VHDL
library ieee;
|
|
use ieee.std_logic_1164.all,
|
|
ieee.numeric_std.all;
|
|
|
|
entity arty_a7 is
|
|
generic (
|
|
IS_SIMULATION : std_logic := '0'
|
|
);
|
|
port (
|
|
n_reset : in std_logic;
|
|
buttons : in std_logic_vector(3 downto 0);
|
|
switches : in std_logic_vector(3 downto 0);
|
|
leds_simple : out std_logic_vector(3 downto 0);
|
|
led0, led1, led2, led3 : out std_logic_vector(2 downto 0);
|
|
|
|
-- Pmod connectors - A+D standard, B+C high-speed.
|
|
-- Defined as inputs by default for safety, change
|
|
-- when necessary
|
|
pmod_a : in std_logic_vector(7 downto 0);
|
|
pmod_b : in std_logic_vector(7 downto 0);
|
|
pmod_c : in std_logic_vector(7 downto 0);
|
|
pmod_d : in std_logic_vector(7 downto 0);
|
|
|
|
clock_100mhz : in std_logic;
|
|
|
|
uart_rx : in std_logic;
|
|
uart_tx : out std_logic;
|
|
|
|
mii_clk_25mhz : out std_logic;
|
|
mii_n_reset : out std_logic;
|
|
mii_mdio : inout std_logic;
|
|
mii_mdc : out std_logic;
|
|
mii_rx_clk : in std_logic;
|
|
mii_rx_er : in std_logic;
|
|
mii_rx_dv : in std_logic;
|
|
mii_rx_data : in std_logic_vector(3 downto 0);
|
|
mii_tx_clk : in std_logic;
|
|
mii_tx_en : out std_logic;
|
|
mii_tx_data : out std_logic_vector(3 downto 0);
|
|
mii_col : in std_logic;
|
|
mii_crs : in std_logic;
|
|
|
|
ck_dig_l : inout std_logic_vector(13 downto 0);
|
|
ck_dig_h : inout std_logic_vector(41 downto 26)
|
|
);
|
|
end arty_a7;
|
|
|
|
architecture a of arty_a7 is
|
|
constant NUM_DRIVERS: positive := 16;
|
|
signal drivers: std_logic_vector(NUM_DRIVERS-1 downto 0);
|
|
begin
|
|
--leds_simple <= (others => '0');
|
|
led0 <= (others => '0');
|
|
led1 <= (others => '0');
|
|
led2 <= (others => '0');
|
|
led3 <= (others => '0');
|
|
|
|
uart_tx <= '0';
|
|
|
|
mii_clk_25mhz <= '0';
|
|
mii_n_reset <= '0';
|
|
mii_mdio <= 'Z';
|
|
mii_mdc <= '0';
|
|
mii_tx_en <= '0';
|
|
mii_tx_data <= (others => '0');
|
|
|
|
ck_dig_l <= (others => 'Z');
|
|
ck_dig_h <= (others => 'Z');
|
|
|
|
leds_simple <= drivers(3 downto 0);
|
|
|
|
splink: entity work.splink
|
|
generic map (
|
|
NUM_DRIVERS => NUM_DRIVERS
|
|
)
|
|
port map (
|
|
clk => clock_100mhz,
|
|
reset => not n_reset,
|
|
|
|
drivers => drivers
|
|
);
|
|
end architecture;
|