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

Subversion Repositories mblite

[/] [mblite/] [trunk/] [hw/] [core/] [gprf.vhd] - Blame information for rev 8

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 takar
----------------------------------------------------------------------------------------------
2
--
3
--      Input file         : gprf.vhd
4
--      Design name        : gprf
5
--      Author             : Tamar Kranenburg
6
--      Company            : Delft University of Technology
7
--                         : Faculty EEMCS, Department ME&CE
8
--                         : Systems and Circuits group
9
--
10
--      Description        : The general purpose register infers memory blocks to implement
11
--                           the register file. All outputs are registered, possibly by using
12
--                           registered memory elements.
13
--
14
----------------------------------------------------------------------------------------------
15
 
16 8 takar
library ieee;
17
use ieee.std_logic_1164.all;
18
use ieee.std_logic_unsigned.all;
19 2 takar
 
20 8 takar
library mblite;
21
use mblite.config_Pkg.all;
22
use mblite.core_Pkg.all;
23
use mblite.std_Pkg.all;
24 2 takar
 
25 8 takar
entity gprf is port
26 2 takar
(
27 8 takar
    gprf_o : out gprf_out_type;
28
    gprf_i : in gprf_in_type;
29
    ena_i  : in std_logic;
30
    clk_i  : in std_logic
31 2 takar
);
32 8 takar
end gprf;
33 2 takar
 
34
-- This architecture is the default implementation. It
35
-- consists of three dual port memories. Other
36
-- architectures can be added while configurations can
37
-- control the implemented architecture.
38 8 takar
architecture arch of gprf is
39
begin
40
    a : dsram generic map
41 2 takar
    (
42 8 takar
        WIDTH => CFG_DMEM_WIDTH,
43
        SIZE  => CFG_GPRF_SIZE
44 2 takar
    )
45 8 takar
    port map
46 2 takar
    (
47
        dat_o   => gprf_o.dat_a_o,
48
        adr_i   => gprf_i.adr_a_i,
49
        ena_i   => ena_i,
50
        dat_w_i => gprf_i.dat_w_i,
51
        adr_w_i => gprf_i.adr_w_i,
52
        wre_i   => gprf_i.wre_i,
53
        clk_i   => clk_i
54
    );
55
 
56 8 takar
    b : dsram generic map
57 2 takar
    (
58 8 takar
        WIDTH => CFG_DMEM_WIDTH,
59
        SIZE  => CFG_GPRF_SIZE
60 2 takar
    )
61 8 takar
    port map
62 2 takar
    (
63
        dat_o   => gprf_o.dat_b_o,
64
        adr_i   => gprf_i.adr_b_i,
65
        ena_i   => ena_i,
66
        dat_w_i => gprf_i.dat_w_i,
67
        adr_w_i => gprf_i.adr_w_i,
68
        wre_i   => gprf_i.wre_i,
69
        clk_i   => clk_i
70
    );
71
 
72 8 takar
    d : dsram generic map
73 2 takar
    (
74 8 takar
        WIDTH => CFG_DMEM_WIDTH,
75
        SIZE  => CFG_GPRF_SIZE
76 2 takar
    )
77 8 takar
    port map
78 2 takar
    (
79
        dat_o   => gprf_o.dat_d_o,
80
        adr_i   => gprf_i.adr_d_i,
81
        ena_i   => ena_i,
82
        dat_w_i => gprf_i.dat_w_i,
83
        adr_w_i => gprf_i.adr_w_i,
84
        wre_i   => gprf_i.wre_i,
85
        clk_i   => clk_i
86
    );
87 8 takar
end arch;

powered by: WebSVN 2.1.0

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