mirror of
https://github.com/stnolting/neorv32.git
synced 2025-04-24 22:27:21 -04:00
[docs] IMEM/DMEM: minor edits
This commit is contained in:
parent
1be6e1185d
commit
ed59e5e5bc
2 changed files with 12 additions and 10 deletions
|
@ -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.
|
||||
|
||||
|
|
|
@ -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]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue