mirror of
https://github.com/stnolting/neorv32.git
synced 2025-04-23 13:47:33 -04:00
relocated DEVNULL
This commit is contained in:
parent
eb1fc5d312
commit
26607fb697
2 changed files with 20 additions and 23 deletions
|
@ -82,9 +82,10 @@ package neorv32_package is
|
|||
constant gpio_in_addr_c : std_ulogic_vector(31 downto 0) := std_ulogic_vector(unsigned(gpio_base_c) + x"00000000");
|
||||
constant gpio_out_addr_c : std_ulogic_vector(31 downto 0) := std_ulogic_vector(unsigned(gpio_base_c) + x"00000004");
|
||||
|
||||
-- RESERVED --
|
||||
--constant ???_base_c : std_ulogic_vector(data_width_c-1 downto 0) := x"FFFFFF88"; -- base address, fixed!
|
||||
--constant ???_size_c : natural := 1*4; -- bytes, fixed!
|
||||
-- Dummy Device (with SIMULATION output) (DEVNULL) --
|
||||
constant devnull_base_c : std_ulogic_vector(data_width_c-1 downto 0) := x"FFFFFF88"; -- base address, fixed!
|
||||
constant devnull_size_c : natural := 1*4; -- bytes, fixed!
|
||||
constant devnull_data_addr_c : std_ulogic_vector(31 downto 0) := std_ulogic_vector(unsigned(devnull_base_c) + x"00000000");
|
||||
|
||||
-- Watch Dog Timer (WDT) --
|
||||
constant wdt_base_c : std_ulogic_vector(data_width_c-1 downto 0) := x"FFFFFF8C"; -- base address, fixed!
|
||||
|
@ -129,14 +130,9 @@ package neorv32_package is
|
|||
constant trng_ctrl_addr_c : std_ulogic_vector(31 downto 0) := std_ulogic_vector(unsigned(trng_base_c) + x"00000000");
|
||||
constant trng_data_addr_c : std_ulogic_vector(31 downto 0) := std_ulogic_vector(unsigned(trng_base_c) + x"00000004");
|
||||
|
||||
-- Dummy Device (with SIMULATION output) (DEVNULL) --
|
||||
constant devnull_base_c : std_ulogic_vector(data_width_c-1 downto 0) := x"FFFFFFC8"; -- base address, fixed!
|
||||
constant devnull_size_c : natural := 1*4; -- bytes, fixed!
|
||||
constant devnull_data_addr_c : std_ulogic_vector(31 downto 0) := std_ulogic_vector(unsigned(devnull_base_c) + x"00000000");
|
||||
|
||||
-- RESERVED --
|
||||
--constant ???_base_c : std_ulogic_vector(data_width_c-1 downto 0) := x"FFFFFFCC"; -- base address, fixed!
|
||||
--constant ???_size_c : natural := 5*4; -- bytes, fixed!
|
||||
--constant ???_base_c : std_ulogic_vector(data_width_c-1 downto 0) := x"FFFFFFC8"; -- base address, fixed!
|
||||
--constant ???_size_c : natural := 6*4; -- bytes, fixed!
|
||||
|
||||
-- System Information Memory (with SIMULATION output) (SYSINFO) --
|
||||
constant sysinfo_base_c : std_ulogic_vector(data_width_c-1 downto 0) := x"FFFFFFE0"; -- base address, fixed!
|
||||
|
@ -393,10 +389,10 @@ package neorv32_package is
|
|||
CSR_COUNTERS_USE : boolean := true; -- implement RISC-V perf. counters ([m]instret[h], [m]cycle[h], time[h])?
|
||||
USER_CODE : std_ulogic_vector(31 downto 0) := x"00000000"; -- custom user code
|
||||
-- RISC-V CPU Extensions --
|
||||
CPU_EXTENSION_RISCV_C : boolean := true; -- implement compressed extension?
|
||||
CPU_EXTENSION_RISCV_C : boolean := false; -- implement compressed extension?
|
||||
CPU_EXTENSION_RISCV_E : boolean := false; -- implement embedded RF extension?
|
||||
CPU_EXTENSION_RISCV_M : boolean := true; -- implement muld/div extension?
|
||||
CPU_EXTENSION_RISCV_U : boolean := false; -- implement user mode extension?
|
||||
CPU_EXTENSION_RISCV_M : boolean := false; -- implement muld/div extension?
|
||||
CPU_EXTENSION_RISCV_U : boolean := false; -- implement user mode extension?
|
||||
CPU_EXTENSION_RISCV_Zicsr : boolean := true; -- implement CSR system?
|
||||
CPU_EXTENSION_RISCV_Zifencei : boolean := true; -- implement instruction stream sync.?
|
||||
-- Physical Memory Protection (PMP) --
|
||||
|
@ -669,7 +665,7 @@ package neorv32_package is
|
|||
-- Physical memory protection (PMP) --
|
||||
PMP_USE : boolean := false; -- implement physical memory protection?
|
||||
PMP_NUM_REGIONS : natural := 4; -- number of regions (1..4)
|
||||
PMP_GRANULARITY : natural := 0 -- granularity (0=none, 1=8B, 2=16B, 3=32B, ...)
|
||||
PMP_GRANULARITY : natural := 0 -- granularity (1=8B, 2=16B, 3=32B, ...)
|
||||
);
|
||||
port (
|
||||
-- global control --
|
||||
|
|
|
@ -81,6 +81,7 @@ enum NEORV32_CPU_CSRS_enum {
|
|||
|
||||
CSR_MCYCLE = 0xb00, /**< 0xb00 - mcycle (r/w): Machine cycle counter low word */
|
||||
CSR_MINSTRET = 0xb02, /**< 0xb02 - minstret (r/w): Machine instructions-retired counter low word */
|
||||
|
||||
CSR_MCYCLEH = 0xb80, /**< 0xb80 - mcycleh (r/w): Machine cycle counter high word - only 20-bit wide!*/
|
||||
CSR_MINSTRETH = 0xb82, /**< 0xb82 - minstreth (r/w): Machine instructions-retired counter high word - only 20-bit wide! */
|
||||
|
||||
|
@ -241,6 +242,15 @@ enum NEORV32_CLOCK_PRSC_enum {
|
|||
/**@}*/
|
||||
|
||||
|
||||
/**********************************************************************//**
|
||||
* @name IO Device: Dummy Device (DEVNULL)
|
||||
**************************************************************************/
|
||||
/**@{*/
|
||||
/** DEVNULL data register (r/w) */
|
||||
#define DEVNULL_DATA (*(IO_REG32 0xFFFFFF88UL))
|
||||
/**@}*/
|
||||
|
||||
|
||||
/**********************************************************************//**
|
||||
* @name IO Device: Watchdog Timer (WDT)
|
||||
**************************************************************************/
|
||||
|
@ -454,15 +464,6 @@ enum NEORV32_TRNG_DUTY_enum {
|
|||
/**@}*/
|
||||
|
||||
|
||||
/**********************************************************************//**
|
||||
* @name IO Device: Dummy Device (DEVNULL)
|
||||
**************************************************************************/
|
||||
/**@{*/
|
||||
/** DEVNULL data register (r/w) */
|
||||
#define DEVNULL_DATA (*(IO_REG32 0xFFFFFFC8UL))
|
||||
/**@}*/
|
||||
|
||||
|
||||
/**********************************************************************//**
|
||||
* @name IO Device: System Configuration Info Memory (SYSINFO)
|
||||
**************************************************************************/
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue