69 lines
2.1 KiB
VHDL
69 lines
2.1 KiB
VHDL
library IEEE;
|
||
use IEEE.STD_LOGIC_1164.ALL;
|
||
use IEEE.STD_LOGIC_ARITH.ALL;
|
||
|
||
library work;
|
||
use work.cpupkg.all;
|
||
|
||
entity SOC is -- Testumgebung f<>r Rechner
|
||
port(clk : in std_logic; -- Taktsignal
|
||
clk_man : in std_logic; -- manuelles Taktsignal
|
||
reset : in std_logic; -- Resetsignal
|
||
led : out std_logic_vector(7 downto 0);
|
||
switch : in std_logic_vector(1 downto 0));
|
||
|
||
end SOC;
|
||
|
||
architecture Struktur of SOC is
|
||
|
||
component Rechner is -- Rechner setzt sich aus CPU, RAM und Bus zusammen
|
||
port( clk : in std_logic; -- Taktsignal
|
||
reset : in std_logic; -- Resetsignal
|
||
data_print_1: out DATA;
|
||
data_print_2: out DATA); -- Ausgabe
|
||
end component Rechner;
|
||
|
||
component antibeat_device is
|
||
port (
|
||
button_in : in std_logic; --! the button input, for example the button from an fpga
|
||
button_out : out std_logic; --! the button output, for example going to the reset or clk of a processor
|
||
counter : in std_logic_vector(31 downto 0); --! the number of clk ticks to wait
|
||
clk : in std_logic; --! input clock
|
||
reset : in std_logic
|
||
);
|
||
end component antibeat_device;
|
||
|
||
|
||
signal data_print_1 : std_logic_vector(31 downto 0);
|
||
signal data_print_2 : std_logic_vector(31 downto 0);
|
||
signal sig_entprellt : std_logic;
|
||
|
||
signal output : std_logic_vector(15 downto 0);
|
||
signal clk_out : std_logic;
|
||
begin
|
||
|
||
-- select what to display on led
|
||
led <= --(others => '1') when reset='1' else
|
||
output(15 downto 8) when switch(0)='1' else
|
||
output(7 downto 0);
|
||
|
||
output <= data_print_1(15 downto 0) when switch(1) = '0' else
|
||
data_print_2(15 downto 0);
|
||
|
||
antibeat: antibeat_device
|
||
port map(
|
||
button_in => clk_man,
|
||
button_out => clk_out,
|
||
counter => x"019BFCC0",
|
||
clk => clk,
|
||
reset => reset
|
||
);
|
||
|
||
|
||
Rechner_0 : Rechner port map(clk => clk_out,
|
||
reset => reset,
|
||
data_print_1=> data_print_1,
|
||
data_print_2=> data_print_2);
|
||
|
||
end Struktur;
|