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

Subversion Repositories mblite

[/] [mblite/] [trunk/] [designs/] [core_syn/] [config_Pkg.vhd] - Blame information for rev 2

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

Line No. Rev Author Line
1 2 takar
----------------------------------------------------------------------------------------------
2
--
3
--      Input file         : config_Pkg.vhd
4
--      Design name        : config_Pkg
5
--      Author             : Tamar Kranenburg
6
--      Company            : Delft University of Technology
7
--                         : Faculty EEMCS, Department ME&CE
8
--                         : Systems and Circuits group
9
--
10
--      Description        : Configuration parameters for the design
11
--
12
----------------------------------------------------------------------------------------------
13
 
14
LIBRARY ieee;
15
USE ieee.std_logic_1164.ALL;
16
USE ieee.std_logic_unsigned.ALL;
17
 
18
PACKAGE config_Pkg IS
19
 
20
    ----------------------------------------------------------------------------------------------
21
    -- CORE PARAMETERS
22
    ----------------------------------------------------------------------------------------------
23
    -- Implement external interrupt
24
    CONSTANT CFG_INTERRUPT : boolean := true;      -- Disable or enable external interrupt [0,1]
25
 
26
     -- Implement hardware multiplier
27
    CONSTANT CFG_USE_HW_MUL : boolean := false;     -- Disable or enable multiplier [0,1]
28
 
29
    -- Implement hardware barrel shifter
30
    CONSTANT CFG_USE_BARREL : boolean := false;     -- Disable or enable barrel shifter [0,1]
31
 
32
    -- Debug mode
33
    CONSTANT CFG_DEBUG : boolean := false;          -- Resets some extra registers for better readability
34
                                                   -- and enables feedback (report) [0,1]
35
                                                   -- Set CFG_DEBUG to zero to obtain best performance.
36
 
37
    -- Memory parameters
38
    CONSTANT CFG_DMEM_SIZE  : positive := 32;      -- Data memory bus size in 2LOG # elements
39
    CONSTANT CFG_IMEM_SIZE  : positive := 16;      -- Instruction memory bus size in 2LOG # elements
40
    CONSTANT CFG_BYTE_ORDER : boolean := true;     -- Switch between MSB (1, default) and LSB (0) byte order policy
41
 
42
    -- Register parameters
43
    CONSTANT CFG_REG_FORCE_ZERO : boolean := true; -- Force data to zero if register address is zero [0,1]
44
    CONSTANT CFG_REG_FWD_WB     : boolean := true; -- Forward writeback to loosen register memory requirements [0,1]
45
    CONSTANT CFG_MEM_FWD_WB     : boolean := true; -- Forward memory result in stead of introducing stalls [0,1]
46
 
47
    ----------------------------------------------------------------------------------------------
48
    -- CONSTANTS (currently not configurable / not tested)
49
    ----------------------------------------------------------------------------------------------
50
    CONSTANT CFG_DMEM_WIDTH : positive := 32;   -- Data memory width in bits
51
    CONSTANT CFG_IMEM_WIDTH : positive := 32;   -- Instruction memory width in bits
52
    CONSTANT CFG_GPRF_SIZE  : positive :=  5;   -- General Purpose Register File Size in 2LOG # elements
53
 
54
    ----------------------------------------------------------------------------------------------
55
    -- BUS PARAMETERS
56
    ----------------------------------------------------------------------------------------------
57
 
58
    TYPE memory_map_type IS ARRAY(natural RANGE <>) OF std_ulogic_vector(CFG_DMEM_WIDTH - 1 DOWNTO 0);
59
    CONSTANT CFG_NUM_SLAVES : positive := 2;
60
    CONSTANT CFG_MEMORY_MAP : memory_map_type(0 TO CFG_NUM_SLAVES) := (X"00000000", X"00FFFFFF", X"FFFFFFFF");
61
 
62
END config_Pkg;

powered by: WebSVN 2.1.0

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