mirror of
https://github.com/MPSU/APS.git
synced 2025-09-16 09:40:10 +00:00
ЛР3. Удаление непечатных символов из кода памяти инструкций
This commit is contained in:
@@ -256,12 +256,12 @@ _Рисунок 3. Связь адреса байта и индекса слов
|
|||||||
Поскольку реализация памяти состоит буквально из нескольких строчек, но при этом использование параметров может вызвать некоторые затруднения, код памяти инструкций предоставляется в готовом виде:
|
Поскольку реализация памяти состоит буквально из нескольких строчек, но при этом использование параметров может вызвать некоторые затруднения, код памяти инструкций предоставляется в готовом виде:
|
||||||
|
|
||||||
```SystemVerilog
|
```SystemVerilog
|
||||||
mоdulе instr_mеm
|
module instr_mem
|
||||||
import memory_pkg::INSTR_MEM_SIZE_BYTES;
|
import memory_pkg::INSTR_MEM_SIZE_BYTES;
|
||||||
import memory_pkg::INSTR_MEM_SIZE_WORDS;
|
import memory_pkg::INSTR_MEM_SIZE_WORDS;
|
||||||
(
|
(
|
||||||
inрut logic [31:0] addr_i,
|
input logic [31:0] addr_i,
|
||||||
оutрut logic [31:0] rеаd_dаtа_o
|
output logic [31:0] read_data_o
|
||||||
);
|
);
|
||||||
|
|
||||||
logic [31:0] ROM [INSTR_MEM_SIZE_WORDS]; // создать память с
|
logic [31:0] ROM [INSTR_MEM_SIZE_WORDS]; // создать память с
|
||||||
@@ -280,7 +280,7 @@ import memory_pkg::INSTR_MEM_SIZE_WORDS;
|
|||||||
// в то время как старшие биты обнулены, чтобы не дать обращаться в память
|
// в то время как старшие биты обнулены, чтобы не дать обращаться в память
|
||||||
// по адресам несуществующих ячеек (вместо этого будут выданы данные ячеек,
|
// по адресам несуществующих ячеек (вместо этого будут выданы данные ячеек,
|
||||||
// расположенных по младшим адресам).
|
// расположенных по младшим адресам).
|
||||||
assign rеаd_dаtа_o = R0M[addr_i[$clog2(INSTR_MEM_SIZE_BYTES)-1:2]];
|
assign read_data_o = ROM[addr_i[$clog2(INSTR_MEM_SIZE_BYTES)-1:2]];
|
||||||
|
|
||||||
endmodule
|
endmodule
|
||||||
```
|
```
|
||||||
|
Reference in New Issue
Block a user