|
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- library ieee;
- use ieee.std_logic_1164.all;
- use ieee.numeric_std.all;
-
- library work;
- use work.reg32.all;
- use work.task.all;
-
- entity task_add is
- port (
- clk : in std_logic;
- reset : in std_logic;
-
- address : in std_logic_vector( 3 downto 0 );
- read : in std_logic;
- readdata : out std_logic_vector( 31 downto 0 );
- write : in std_logic;
- writedata : in std_logic_vector( 31 downto 0 );
-
- signal_a_read : out std_logic;
- signal_a_readdata : in std_logic_vector( 31 downto 0 );
-
- signal_b_read : out std_logic;
- signal_b_readdata : in std_logic_vector( 31 downto 0 );
-
- signal_write : out std_logic;
- signal_writedata : out std_logic_vector( 31 downto 0 )
- );
- end entity task_add;
-
- architecture struct of task_add is
-
- signal task_start : std_logic;
- signal task_state : work.task.State := work.task.TASK_IDLE;
- signal task_config : work.reg32.RegArray( 0 to 2 );
-
- begin
- u_control: entity work.hardware_task_control
- port map (
- clk => clk,
- reset => reset,
-
- address => address,
- read => read,
- readdata => readdata,
- write => write,
- writedata => writedata,
-
- task_start => task_start,
- task_state => task_state,
- task_config => task_config
- );
-
- u_add: entity work.add
- port map (
- clk => clk,
- reset => reset,
-
- task_start => task_start,
- task_state => task_state,
-
- signal_a_read => signal_a_read,
- signal_a_readdata => signal_a_readdata,
-
- signal_b_read => signal_b_read,
- signal_b_readdata => signal_b_readdata,
-
- signal_write => signal_write,
- signal_writedata => signal_writedata
- );
-
- end architecture struct;
-
|