OpenCores
URL https://opencores.org/ocsvn/core_arm/core_arm/trunk

Subversion Repositories core_arm

[/] [core_arm/] [trunk/] [vhdl/] [bus/] [bus_comp.vhd] - Blame information for rev 2

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 tarookumic
-- $(lic)
2
-- $(help_generic)
3
-- $(help_local)
4
 
5
library IEEE;
6
use IEEE.std_logic_1164.all;
7
use work.leon_target.all;
8
use work.amba.all;
9
use work.memdef.all;
10
 
11
package bus_comp is
12
 
13
type ahbmst_mp_in is record
14
  req              : std_logic;
15
  address          : std_logic_vector(31 downto 0);
16
  data             : std_logic_vector(31 downto 0);
17
  size             : lmd_memsize;
18
  burst            : std_logic;
19
  read             : std_logic;
20
  lock             : std_logic;
21
end record;
22
type ahbmst_mp_in_a is array (natural range <>) of ahbmst_mp_in;
23
 
24
type ahbmst_mp_out is record
25
  data             : std_logic_vector(31 downto 0); -- memory data
26
  ready            : std_logic;                     -- cycle ready
27
  grant            : std_logic;                     -- 
28
  retry            : std_logic;                     -- 
29
  mexc             : std_logic;                     -- memory exception
30
  cache            : std_logic;         -- cacheable data
31
end record;
32
type ahbmst_mp_out_a is array (natural range <>) of ahbmst_mp_out;
33
 
34
component ahbmst_mp
35
  generic ( AHBMST_PORTS : integer := 4 );
36
  port (
37
    rst   : in  std_logic;
38
    clk   : in  std_logic;
39
    i     : in  ahbmst_mp_in_a(AHBMST_PORTS-1 downto 0);
40
    o     : out ahbmst_mp_out_a(AHBMST_PORTS-1 downto 0);
41
    ahbi  : in  ahb_mst_in_type;
42
    ahbo  : out ahb_mst_out_type
43
  );
44
end component;
45
 
46
component ahbarb
47
  generic (
48
    masters : integer := 2;             -- number of masters
49
    defmast : integer := 0               -- default master
50
  );
51
  port (
52
    rst     : in  std_logic;
53
    clk     : in  std_logic;
54
    msti    : out ahb_mst_in_vector(0 to masters-1);
55
    msto    : in  ahb_mst_out_vector(0 to masters-1);
56
    slvi    : out ahb_slv_in_vector(0 to AHB_SLV_MAX-1);
57
    slvo    : in  ahb_slv_out_vector(0 to AHB_SLV_MAX)
58
  );
59
end component;
60
 
61
component apbmst
62
  port (
63
    rst     : in  std_logic;
64
    clk     : in  std_logic;
65
    ahbi    : in  ahb_slv_in_type;
66
    ahbo    : out ahb_slv_out_type;
67
    apbi    : out apb_slv_in_vector(0 to APB_SLV_MAX-1);
68
    apbo    : in  apb_slv_out_vector(0 to APB_SLV_MAX-1)
69
  );
70
end component;
71
 
72
end bus_comp;
73
 
74
 
75
 
76
 
77
 
78
 
79
 
80
 
81
 
82
 
83
 
84
 
85
 
86
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.