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

Subversion Repositories neorv32

[/] [neorv32/] [trunk/] [docs/] [datasheet/] [soc_sysinfo.adoc] - Diff between revs 63 and 64

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

Rev 63 Rev 64
Line 19... Line 19...
 
 
This device is always implemented – regardless of the actual hardware configuration. The bootloader as well
This device is always implemented – regardless of the actual hardware configuration. The bootloader as well
as the NEORV32 software runtime environment require information from this device (like memory layout
as the NEORV32 software runtime environment require information from this device (like memory layout
and default clock speed) for correct operation.
and default clock speed) for correct operation.
 
 
.SYSINFO register map
.SYSINFO register map (`struct NEORV32_SYSINFO`)
[cols="<2,<4,<7"]
[cols="<2,<4,<7"]
[options="header",grid="all"]
[options="header",grid="all"]
|=======================
|=======================
| Address | Name [C] | Function
| Address | Name [C] | Function
| `0xffffffe0` | _SYSINFO_CLK_         | clock speed in Hz (via top's <<_clock_frequency>> generic)
| `0xffffffe0` | `NEORV32_SYSINFO.CLK`         | clock speed in Hz (via top's <<_clock_frequency>> generic)
| `0xffffffe4` | _SYSINFO_CPU_         | specific CPU configuration (see <<_sysinfo_cpu_configuration>>)
| `0xffffffe4` | `NEORV32_SYSINFO.CPU`         | specific CPU configuration (see <<_sysinfo_cpu_configuration>>)
| `0xffffffe8` | _SYSINFO_FEATURES_    | specific SoC configuration (see <<_sysinfo_soc_configuration>>)
| `0xffffffe8` | `NEORV32_SYSINFO.SOC`         | specific SoC configuration (see <<_sysinfo_soc_configuration>>)
| `0xffffffec` | _SYSINFO_CACHE_       | cache configuration information (see <<_sysinfo_cache_configuration>>)
| `0xffffffec` | `NEORV32_SYSINFO.CACHE`       | cache configuration information (see <<_sysinfo_cache_configuration>>)
| `0xfffffff0` | _SYSINFO_ISPACE_BASE_ | instruction address space base (via package's `ispace_base_c` constant)
| `0xfffffff0` | `NEORV32_SYSINFO.ISPACE_BASE` | instruction address space base (via package's `ispace_base_c` constant)
| `0xfffffff4` | _SYSINFO_IMEM_SIZE_   | internal IMEM size in bytes (via top's <<_mem_int_imem_size>> generic)
| `0xfffffff4` | `NEORV32_SYSINFO.IMEM_SIZE`   | internal IMEM size in bytes (via top's <<_mem_int_imem_size>> generic)
| `0xfffffff8` | _SYSINFO_DSPACE_BASE_ | data address space base (via package's `sdspace_base_c` constant)
| `0xfffffff8` | `NEORV32_SYSINFO.DSPACE_BASE` | data address space base (via package's `sdspace_base_c` constant)
| `0xfffffffc` | _SYSINFO_DMEM_SIZE_   | internal DMEM size in bytes (via top's <<_mem_int_dmem_size>> generic)
| `0xfffffffc` | `NEORV32_SYSINFO.DMEM_SIZE`   | internal DMEM size in bytes (via top's <<_mem_int_dmem_size>> generic)
|=======================
|=======================
 
 
 
 
===== SYSINFO - CPU Configuration
===== SYSINFO - CPU Configuration
 
 
Line 59... Line 59...
|=======================
|=======================
 
 
 
 
===== SYSINFO - SoC Configuration
===== SYSINFO - SoC Configuration
 
 
._SYSINFO_FEATURES_ bits
._SYSINFO_SOC_ bits
[cols="^1,<10,<11"]
[cols="^1,<10,<11"]
[options="header",grid="all"]
[options="header",grid="all"]
|=======================
|=======================
| Bit | Name [C] | Function
| Bit | Name [C] | Function
| `0`  | _SYSINFO_FEATURES_BOOTLOADER_       | set if the processor-internal bootloader is implemented (via top's <<_int_bootloader_en>> generic)
| `0`  | _SYSINFO_SOC_BOOTLOADER_       | set if the processor-internal bootloader is implemented (via top's <<_int_bootloader_en>> generic)
| `1`  | _SYSINFO_FEATURES_MEM_EXT_          | set if the external Wishbone bus interface is implemented (via top's <<_mem_ext_en>> generic)
| `1`  | _SYSINFO_SOC_MEM_EXT_          | set if the external Wishbone bus interface is implemented (via top's <<_mem_ext_en>> generic)
| `2`  | _SYSINFO_FEATURES_MEM_INT_IMEM_     | set if the processor-internal DMEM implemented (via top's <<_mem_int_dmem_en>> generic)
| `2`  | _SYSINFO_SOC_MEM_INT_IMEM_     | set if the processor-internal DMEM implemented (via top's <<_mem_int_dmem_en>> generic)
| `3`  | _SYSINFO_FEATURES_MEM_INT_DMEM_     | set if the processor-internal IMEM is implemented (via top's <<_mem_int_imem_en>> generic)
| `3`  | _SYSINFO_SOC_MEM_INT_DMEM_     | set if the processor-internal IMEM is implemented (via top's <<_mem_int_imem_en>> generic)
| `4`  | _SYSINFO_FEATURES_MEM_EXT_ENDIAN_   | set if external bus interface uses BIG-endian byte-order (via top's <<_mem_ext_big_endian>> generic)
| `4`  | _SYSINFO_SOC_MEM_EXT_ENDIAN_   | set if external bus interface uses BIG-endian byte-order (via top's <<_mem_ext_big_endian>> generic)
| `5`  | _SYSINFO_FEATURES_ICACHE_           | set if processor-internal instruction cache is implemented (via top's <<_icache_en>> generic)
| `5`  | _SYSINFO_SOC_ICACHE_           | set if processor-internal instruction cache is implemented (via top's <<_icache_en>> generic)
| `14` | _SYSINFO_FEATURES_HW_RESET_         | set if on-chip debugger implemented (via top's <<_on_chip_debugger_en>> generic)
| `14` | _SYSINFO_SOC_OCD_              | set if on-chip debugger implemented (via top's <<_on_chip_debugger_en>> generic)
| `15` | _SYSINFO_FEATURES_HW_RST_           | set if a dedicated hardware reset of all core registers is implemented (via package's `dedicated_reset_c` constant)
| `15` | _SYSINFO_SOC_HW_RESET_         | set if a dedicated hardware reset of all core registers is implemented (via package's `dedicated_reset_c` constant)
| `16` | _SYSINFO_FEATURES_IO_GPIO_          | set if the GPIO is implemented (via top's <<_io_gpio_en>> generic)
| `16` | _SYSINFO_SOC_IO_GPIO_          | set if the GPIO is implemented (via top's <<_io_gpio_en>> generic)
| `17` | _SYSINFO_FEATURES_IO_MTIME_         | set if the MTIME is implemented (via top's <<_io_mtime_en>> generic)
| `17` | _SYSINFO_SOC_IO_MTIME_         | set if the MTIME is implemented (via top's <<_io_mtime_en>> generic)
| `18` | _SYSINFO_FEATURES_IO_UART0_         | set if the primary UART0 is implemented (via top's <<_io_uart0_en>> generic)
| `18` | _SYSINFO_SOC_IO_UART0_         | set if the primary UART0 is implemented (via top's <<_io_uart0_en>> generic)
| `19` | _SYSINFO_FEATURES_IO_SPI_           | set if the SPI is implemented (via top's <<_io_spi_en>> generic)
| `19` | _SYSINFO_SOC_IO_SPI_           | set if the SPI is implemented (via top's <<_io_spi_en>> generic)
| `20` | _SYSINFO_FEATURES_IO_TWI_           | set if the TWI is implemented (via top's <<_io_twi_en>> generic)
| `20` | _SYSINFO_SOC_IO_TWI_           | set if the TWI is implemented (via top's <<_io_twi_en>> generic)
| `21` | _SYSINFO_FEATURES_IO_PWM_           | set if the PWM is implemented (via top's <<_io_pwm_en>> generic)
| `21` | _SYSINFO_SOC_IO_PWM_           | set if the PWM is implemented (via top's <<_io_pwm_en>> generic)
| `22` | _SYSINFO_FEATURES_IO_WDT_           | set if the WDT is implemented (via top's <<_io_wdt_en>> generic)
| `22` | _SYSINFO_SOC_IO_WDT_           | set if the WDT is implemented (via top's <<_io_wdt_en>> generic)
| `23` | _SYSINFO_FEATURES_IO_CFS_           | set if the custom functions subsystem is implemented (via top's <<_io_cfs_en>> generic)
| `23` | _SYSINFO_SOC_IO_CFS_           | set if the custom functions subsystem is implemented (via top's <<_io_cfs_en>> generic)
| `24` | _SYSINFO_FEATURES_IO_TRNG_          | set if the TRNG is implemented (via top's _IO_TRNG_EN_ generic)
| `24` | _SYSINFO_SOC_IO_TRNG_          | set if the TRNG is implemented (via top's _IO_TRNG_EN_ generic)
| `25` | _SYSINFO_FEATURES_IO_SLINK_         | set if the SLINK is implemented (via top's <<_slink_num_tx>> and/or <<_slink_num_rx>> generics)
| `25` | _SYSINFO_SOC_IO_SLINK_         | set if the SLINK is implemented (via top's <<_slink_num_tx>> and/or <<_slink_num_rx>> generics)
| `26` | _SYSINFO_FEATURES_IO_UART1_         | set if the secondary UART1 is implemented (via top's <<_io_uart1_en>> generic)
| `26` | _SYSINFO_SOC_IO_UART1_         | set if the secondary UART1 is implemented (via top's <<_io_uart1_en>> generic)
| `27` | _SYSINFO_FEATURES_IO_NEOLED_        | set if the NEOLED is implemented (via top's <<_io_neoled_en>> generic)
| `27` | _SYSINFO_SOC_IO_NEOLED_        | set if the NEOLED is implemented (via top's <<_io_neoled_en>> generic)
|=======================
|=======================
 
 
 
 
===== SYSINFO - Cache Configuration
===== SYSINFO - Cache Configuration
 
 

powered by: WebSVN 2.1.0

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