mirror of
https://github.com/MPSU/APS.git
synced 2025-09-15 17:20:10 +00:00
ЛР3. Обновление указания по реализации памяти данных
Добавлено примечание о количестве ячеек памяти данных.
This commit is contained in:
committed by
GitHub
parent
e6b58feb4b
commit
9c011077bb
@@ -322,7 +322,7 @@ mоdulе rf_r𝚒sсv(
|
||||
3. Реализуйте память данных. Для этого:
|
||||
1. В `Design Sources` проекта создайте `SystemVerilog`-файл `data_mem.sv`.
|
||||
2. Опишите в нем модуль памяти данных с таким же именем и портами, как указано в задании.
|
||||
1. Описание модуля будет схожим с описанием модуля памяти инструкций, однако порт чтения в этот раз будет **синхронным** (запись в него будет происходить в блоке `always_ff`). Кроме того, необходимо будет описать логику записи данных в память.
|
||||
1. Описание модуля будет схожим с описанием модуля памяти инструкций, однако порт чтения в этот раз будет **синхронным** (запись в него будет происходить в блоке `always_ff`). Количество ячеек в памяти данных — 4096. Кроме того, необходимо будет описать логику записи данных в память.
|
||||
2. Запись в ячейки памяти описывается подобно записи данных в [регистры](../../Basic%20Verilog%20structures/Registers.md), только при этом, происходит доступ к конкретной ячейке памяти с помощью входа `addr_i` (как осуществляется доступ к ячейкам памяти сказано в разделе [описание памяти на языке SystemVerilog](#описание-памяти-на-языке-systemverilog)).
|
||||
3. Доступ к ячейкам (на запись и чтение) осуществляется по адресу `addr_i[13:2]`.
|
||||
4. Обратите внимание что работа с памятью должна осуществляться только когда сигнал `mem_req_i == 1`, в противном случае запись не должна производиться, а на шине `read_data_o` должен оставаться результат предыдущего чтения.
|
||||
|
Reference in New Issue
Block a user