Add Instruction Memory

Mario Romero 2023-08-07 19:18:08 +00:00
parent 49abcc67a4
commit 7091945ed8

18
Instruction-Memory.md Normal file

@ -0,0 +1,18 @@
# Instruction Memory
> *Defined in [rtl/instr_memory.sv](https://git.1159.cl/Mario1159/RVSCC/src/branch/main/rtl/extend.sv)*
<table>
<tr>
<th>Figure</th>
<th>Direction</th>
<th>Signal</th>
</tr>
<tr>
<td></td>
<td>Interface</td>
<td>instr_mem_if</td>
</tr>
</table>
The instruction memory is read only and the data can be specified using the `FILE_PATH` parameter. The file to read needs to be in the hexadecimal format provided by the `$readmemh` function of the SystemVerilog standard. Binary executables can be transformed to the hexadecimal format using `objcopy` or more convenient using the `rvscc_bin_to_verilog_mem_file` CMake function from [cmake/utils.cmake](https://git.1159.cl/Mario1159/RVSCC/src/branch/main/cmake/utils.cmake) that is being used when building the test or the sandbox project.