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

Subversion Repositories mips_enhanced

[/] [mips_enhanced/] [trunk/] [grlib-gpl-1.0.19-b3188/] [lib/] [gaisler/] [leon3/] [libproc3.vhd] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 dimamali
------------------------------------------------------------------------------
2
--  This file is a part of the GRLIB VHDL IP LIBRARY
3
--  Copyright (C) 2003, Gaisler Research
4
--
5
--  This program is free software; you can redistribute it and/or modify
6
--  it under the terms of the GNU General Public License as published by
7
--  the Free Software Foundation; either version 2 of the License, or
8
--  (at your option) any later version.
9
--
10
--  This program is distributed in the hope that it will be useful,
11
--  but WITHOUT ANY WARRANTY; without even the implied warranty of
12
--  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
--  GNU General Public License for more details.
14
--
15
--  You should have received a copy of the GNU General Public License
16
--  along with this program; if not, write to the Free Software
17
--  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
18
-----------------------------------------------------------------------------
19
-- Package:     libproc3
20
-- File:        libproc3.vhd
21
-- Author:      Jiri Gaisler Gaisler Research
22
-- Description: LEON3 proc3 component declaration
23
------------------------------------------------------------------------------
24
 
25
library ieee;
26
use ieee.std_logic_1164.all;
27
library grlib;
28
use grlib.amba.all;
29
library techmap;
30
use techmap.gencomp.all;
31
library gaisler;
32
use gaisler.leon3.all;
33
use gaisler.libcache.all;
34
use gaisler.libiu.all;
35
--library fpu;
36
--use fpu.libfpu.all;
37
 
38
package libproc3 is
39
 
40
  component proc3
41
  generic (
42
    hindex    : integer               := 0;
43
    fabtech   : integer range 0 to NTECH  := 0;
44
    memtech   : integer range 0 to NTECH  := 0;
45
    nwindows  : integer range 2 to 32 := 8;
46
    dsu       : integer range 0 to 1  := 0;
47
    fpu       : integer range 0 to 15 := 0;
48
    v8        : integer range 0 to 63 := 0;
49
    cp        : integer range 0 to 1  := 0;
50
    mac       : integer range 0 to 1  := 0;
51
    pclow     : integer range 0 to 2  := 2;
52
    notag     : integer range 0 to 1  := 0;
53
    nwp       : integer range 0 to 4  := 0;
54
    icen      : integer range 0 to 1  := 0;
55
    irepl     : integer range 0 to 2  := 2;
56
    isets     : integer range 1 to 4  := 1;
57
    ilinesize : integer range 4 to 8  := 4;
58
    isetsize  : integer range 1 to 256 := 1;
59
    isetlock  : integer range 0 to 1  := 0;
60
    dcen      : integer range 0 to 1  := 0;
61
    drepl     : integer range 0 to 2  := 2;
62
    dsets     : integer range 1 to 4  := 1;
63
    dlinesize : integer range 4 to 8  := 4;
64
    dsetsize  : integer range 1 to 256 := 1;
65
    dsetlock  : integer range 0 to 1  := 0;
66
    dsnoop    : integer range 0 to 6  := 0;
67
    ilram     : integer range 0 to 1  := 0;
68
    ilramsize : integer range 1 to 512 := 1;
69
    ilramstart: integer range 0 to 255 := 16#8e#;
70
    dlram     : integer range 0 to 1  := 0;
71
    dlramsize : integer range 1 to 512 := 1;
72
    dlramstart: integer range 0 to 255 := 16#8f#;
73
    mmuen     : integer range 0 to 1  := 0;
74
    itlbnum   : integer range 2 to 64 := 8;
75
    dtlbnum   : integer range 2 to 64 := 8;
76
    tlb_type  : integer range 0 to 3  := 1;
77
    tlb_rep   : integer range 0 to 1  := 0;
78
    lddel     : integer range 1 to 2  := 2;
79
    disas     : integer range 0 to 2  := 0;
80
    tbuf      : integer range 0 to 64 := 0;
81
    pwd       : integer range 0 to 2  := 0;     -- power-down
82
    svt       : integer range 0 to 1  := 0;     -- single-vector trapping
83
    rstaddr   : integer               := 0;
84
    smp       : integer range 0 to 15 := 0;     -- support SMP systems
85
    cached    : integer := 0;
86
    clk2x     : integer := 0;
87
    scantest : integer := 0
88
  );
89
  port (
90
    clk    : in  std_ulogic;
91
    rstn   : in  std_ulogic;
92
    holdn  : out std_ulogic;
93
    ahbi   : in  ahb_mst_in_type;
94
    ahbo   : out ahb_mst_out_type;
95
    ahbsi  : in  ahb_slv_in_type;
96
    ahbso  : in  ahb_slv_out_vector;
97
    rfi    : out iregfile_in_type;
98
    rfo    : in  iregfile_out_type;
99
    crami  : out cram_in_type;
100
    cramo  : in  cram_out_type;
101
    tbi    : out tracebuf_in_type;
102
    tbo    : in  tracebuf_out_type;
103
    fpi    : out fpc_in_type;
104
    fpo    : in  fpc_out_type;
105
    cpi    : out fpc_in_type;
106
    cpo    : in  fpc_out_type;
107
    irqi   : in  l3_irq_in_type;
108
    irqo   : out l3_irq_out_type;
109
    dbgi   : in  l3_debug_in_type;
110
    dbgo   : out l3_debug_out_type;
111
    hclk, sclk : in  std_ulogic;
112
    hclken : in std_ulogic
113
  );
114
  end component;
115
 
116
  component grfpwx
117
  generic (fabtech  : integer range 0 to NTECH := 0;
118
           memtech  : integer range 0 to NTECH := 0;
119
           mul      : integer range 0 to 2 := 0;
120
           pclow    : integer range 0 to 2 := 2;
121
           dsu      : integer              := 0;
122
           disas    : integer range 0 to 2 := 0;
123
           netlist  : integer              := 0;
124
           index    : integer              := 0);
125
  port (
126
    rst    : in  std_ulogic;                    -- Reset
127
    clk    : in  std_ulogic;
128
    holdn  : in  std_ulogic;                    -- pipeline hold
129
    cpi    : in  fpc_in_type;
130
    cpo    : out fpc_out_type
131
    );
132
  end component;
133
 
134
  component mfpwx
135
  generic (tech     : integer := 0;
136
           pclow    : integer range 0 to 2 := 2;
137
           dsu      : integer range 0 to 1 := 0;
138
           disas    : integer range 0 to 2 := 0);
139
  port (
140
    rst    : in  std_ulogic;                    -- Reset
141
    clk    : in  std_ulogic;
142
    holdn  : in  std_ulogic;                    -- pipeline hold
143
    cpi    : in  fpc_in_type;
144
    cpo    : out fpc_out_type
145
    );
146
  end component;
147
 
148
  component grlfpwx
149
  generic (tech     : integer := 0;
150
           pclow    : integer range 0 to 2 := 2;
151
           dsu      : integer range 0 to 1 := 0;
152
           disas    : integer range 0 to 2 := 0;
153
           pipe     : integer              := 0;
154
           netlist  : integer              := 0);
155
  port (
156
    rst    : in  std_ulogic;                    -- Reset
157
    clk    : in  std_ulogic;
158
    holdn  : in  std_ulogic;                    -- pipeline hold
159
    cpi    : in  fpc_in_type;
160
    cpo    : out fpc_out_type
161
    );
162
  end component;
163
 
164
 
165
end;

powered by: WebSVN 2.1.0

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