[docs] IMEM/DMEM: minor edits

This commit is contained in:
stnolting 2024-01-08 16:01:08 +01:00
parent 1be6e1185d
commit ed59e5e5bc
2 changed files with 12 additions and 10 deletions

View file

@ -15,8 +15,9 @@
| CPU interrupts: | none |
|=======================
Implementation of the processor-internal data memory is enabled via the processor's `MEM_INT_DMEM_EN`
generic. The size in bytes is defined via the `MEM_INT_DMEM_SIZE` generic. If the DMEM is implemented,
Implementation of the processor-internal data memory is enabled by the processor's `MEM_INT_DMEM_EN`
generic. The total memory size in bytes is defined via the `MEM_INT_DMEM_SIZE` generic. Note that this
size should be a power of two to optimize physical implementation. If the DMEM is implemented,
it is mapped to base address `0x80000000` by default (see section <<_address_space>>).
The DMEM is always implemented as true RAM.

View file

@ -16,20 +16,21 @@
| CPU interrupts: | none |
|=======================
Implementation of the processor-internal instruction memory is enabled via the processor's
`MEM_INT_IMEM_EN` generic. The size in bytes is defined via the `MEM_INT_IMEM_SIZE` generic. If the
IMEM is implemented, it is mapped to base address `0x00000000` by default (see section <<_address_space>>).
Implementation of the processor-internal instruction memory is enabled by the processor's
`MEM_INT_IMEM_EN` generic. The total memory size in bytes is defined via the `MEM_INT_IMEM_SIZE` generic.
Note that this size should be a power of two to optimize physical implementation. If the IMEM is implemented,
it is mapped to base address `0x00000000` by default (see section <<_address_space>>).
By default the IMEM is implemented as true RAM so the content can be modified during run time. This is
required when using a bootloader that can update the content of the IMEM at any time. If you do not need
the bootloader anymore - since your application development has completed and you want the program to
permanently reside in the internal instruction memory - the IMEM is automatically implemented as _pre-intialized_
ROM when the processor-internal bootloader is disabled (`INT_BOOTLOADER_EN` = `false`).
required when using the bootloader (or the on-chip debugger) so it can update the content of the IMEM at
any time. If this feature is not required the IMEM can be implemented as _pre-intialized_ ROM so that the
application code permanently resides in memory. This is automatically implemented when the
processor-internal bootloader is disabled (`INT_BOOTLOADER_EN` = `false`).
When the IMEM is implemented as ROM, it will be initialized during synthesis with the actual application program
image. The compiler toolchain provides an option to generate and override the default VHDL initialization file
`rtl/core/neorv32_application_image.vhd`, which is automatically inserted into the IMEM. If the IMEM is implemented
as RAM (default), the memory will **not be initialized at all**.
as RAM (default), the memory block will **not be initialized at all**.
.Memory Size
[IMPORTANT]