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

Subversion Repositories mblite

[/] [mblite/] [trunk/] [designs/] [core/] [config_Pkg.vhd] - Diff between revs 6 and 8

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 6 Rev 8
Line 9... Line 9...
--
--
--      Description        : Configuration parameters for the design
--      Description        : Configuration parameters for the design
--
--
----------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------
 
 
LIBRARY ieee;
library ieee;
USE ieee.std_logic_1164.ALL;
use ieee.std_logic_1164.all;
USE ieee.std_logic_unsigned.ALL;
use ieee.std_logic_unsigned.all;
 
 
PACKAGE config_Pkg IS
package config_Pkg is
 
 
    ----------------------------------------------------------------------------------------------
    ----------------------------------------------------------------------------------------------
    -- CORE PARAMETERS
    -- CORE PARAMETERS
    ----------------------------------------------------------------------------------------------
    ----------------------------------------------------------------------------------------------
    -- Implement external interrupt
    -- Implement external interrupt
    CONSTANT CFG_INTERRUPT : boolean := true;      -- Disable or enable external interrupt [0,1]
    constant CFG_INTERRUPT : boolean := true;      -- Disable or enable external interrupt [0,1]
 
 
     -- Implement hardware multiplier
     -- Implement hardware multiplier
    CONSTANT CFG_USE_HW_MUL : boolean := true;     -- Disable or enable multiplier [0,1]
    constant CFG_USE_HW_MUL : boolean := true;     -- Disable or enable multiplier [0,1]
 
 
    -- Implement hardware barrel shifter
    -- Implement hardware barrel shifter
    CONSTANT CFG_USE_BARREL : boolean := true;     -- Disable or enable barrel shifter [0,1]
    constant CFG_USE_BARREL : boolean := true;     -- Disable or enable barrel shifter [0,1]
 
 
    -- Debug mode
    -- Debug mode
    CONSTANT CFG_DEBUG : boolean := true;          -- Resets some extra registers for better readability
    constant CFG_DEBUG : boolean := true;          -- Resets some extra registers for better readability
                                                   -- and enables feedback (report) [0,1]
                                                   -- and enables feedback (report) [0,1]
                                                   -- Set CFG_DEBUG to zero to obtain best performance.
                                                   -- Set CFG_DEBUG to zero to obtain best performance.
 
 
    -- Memory parameters
    -- Memory parameters
    CONSTANT CFG_DMEM_SIZE  : positive := 32;      -- Data memory bus size in 2LOG # elements
    constant CFG_DMEM_SIZE  : positive := 32;      -- Data memory bus size in 2LOG # elements
    CONSTANT CFG_IMEM_SIZE  : positive := 16;      -- Instruction memory bus size in 2LOG # elements
    constant CFG_IMEM_SIZE  : positive := 16;      -- Instruction memory bus size in 2LOG # elements
    CONSTANT CFG_BYTE_ORDER : boolean := true;     -- Switch between MSB (1, default) and LSB (0) byte order policy
    constant CFG_BYTE_ORDER : boolean := true;     -- Switch between MSB (1, default) and LSB (0) byte order policy
 
 
    -- Register parameters
    -- Register parameters
    CONSTANT CFG_REG_FORCE_ZERO : boolean := true; -- Force data to zero if register address is zero [0,1]
    constant CFG_REG_FORCE_ZERO : boolean := true; -- Force data to zero if register address is zero [0,1]
    CONSTANT CFG_REG_FWD_WB     : boolean := true; -- Forward writeback to loosen register memory requirements [0,1]
    constant CFG_REG_FWD_WRB    : boolean := true; -- Forward writeback to loosen register memory requirements [0,1]
    CONSTANT CFG_MEM_FWD_WB     : boolean := true; -- Forward memory result in stead of introducing stalls [0,1]
    constant CFG_MEM_FWD_WRB    : boolean := true; -- Forward memory result in stead of introducing stalls [0,1]
 
 
    ----------------------------------------------------------------------------------------------
    ----------------------------------------------------------------------------------------------
    -- CONSTANTS (currently not configurable / not tested)
    -- CONSTANTS (currently not configurable / not tested)
    ----------------------------------------------------------------------------------------------
    ----------------------------------------------------------------------------------------------
    CONSTANT CFG_DMEM_WIDTH : positive := 32;   -- Data memory width in bits
    constant CFG_DMEM_WIDTH : positive := 32;   -- Data memory width in bits
    CONSTANT CFG_IMEM_WIDTH : positive := 32;   -- Instruction memory width in bits
    constant CFG_IMEM_WIDTH : positive := 32;   -- Instruction memory width in bits
    CONSTANT CFG_GPRF_SIZE  : positive :=  5;   -- General Purpose Register File Size in 2LOG # elements
    constant CFG_GPRF_SIZE  : positive :=  5;   -- General Purpose Register File Size in 2LOG # elements
 
 
    ----------------------------------------------------------------------------------------------
    ----------------------------------------------------------------------------------------------
    -- BUS PARAMETERS
    -- BUS PARAMETERS
    ----------------------------------------------------------------------------------------------
    ----------------------------------------------------------------------------------------------
 
 
    TYPE memory_map_type IS ARRAY(natural RANGE <>) OF std_logic_vector(CFG_DMEM_WIDTH - 1 DOWNTO 0);
    type memory_map_type is array(natural range <>) of std_logic_vector(CFG_DMEM_WIDTH - 1 downto 0);
    CONSTANT CFG_NUM_SLAVES : positive := 2;
    constant CFG_NUM_SLAVES : positive := 2;
    CONSTANT CFG_MEMORY_MAP : memory_map_type(0 TO CFG_NUM_SLAVES) := (X"00000000", X"00FFFFFF", X"FFFFFFFF");
    constant CFG_MEMORY_MAP : memory_map_type(0 to CFG_NUM_SLAVES) := (X"00000000", X"00FFFFFF", X"FFFFFFFF");
 
 
END config_Pkg;
end config_Pkg;
 
 
 No newline at end of file
 No newline at end of file

powered by: WebSVN 2.1.0

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