mirror of
https://github.com/MPSU/APS.git
synced 2025-09-15 17:20:10 +00:00
ЛР3. Изменение имени входа в памяти инструкций
This commit is contained in:
@@ -266,7 +266,7 @@ module instr_mem
|
||||
import memory_pkg::INSTR_MEM_SIZE_BYTES;
|
||||
import memory_pkg::INSTR_MEM_SIZE_WORDS;
|
||||
(
|
||||
input logic [31:0] addr_i,
|
||||
input logic [31:0] read_addr_i,
|
||||
output logic [31:0] read_data_o
|
||||
);
|
||||
|
||||
@@ -279,14 +279,14 @@ import memory_pkg::INSTR_MEM_SIZE_WORDS;
|
||||
end // файла program.mem
|
||||
|
||||
// Реализация асинхронного порта на чтение, где на выход идет ячейка памяти
|
||||
// инструкций, расположенная по адресу addr_i, в котором обнулены два младших
|
||||
// бита, а также биты, двоичный вес которых превышает размер памяти данных
|
||||
// в байтах.
|
||||
// инструкций, расположенная по адресу read_addr_i, в котором обнулены два
|
||||
// младших бита, а также биты, двоичный вес которых превышает размер памяти
|
||||
// данных в байтах.
|
||||
// Два младших бита обнулены, чтобы обеспечить выровненный доступ к памяти,
|
||||
// в то время как старшие биты обнулены, чтобы не дать обращаться в память
|
||||
// по адресам несуществующих ячеек (вместо этого будут выданы данные ячеек,
|
||||
// расположенных по младшим адресам).
|
||||
assign read_data_o = ROM[addr_i[$clog2(INSTR_MEM_SIZE_BYTES)-1:2]];
|
||||
assign read_data_o = ROM[read_addr_i[$clog2(INSTR_MEM_SIZE_BYTES)-1:2]];
|
||||
|
||||
endmodule
|
||||
```
|
||||
|
Reference in New Issue
Block a user