ЛР3. Обновление порядка выполнения задания

Указано, что:
- файл program.mem должен добавляться в Design Sources;
- порт на чтение памяти инструкций является асинхроннм.
This commit is contained in:
Andrei Solodovnikov
2024-03-22 15:53:12 +03:00
committed by GitHub
parent 28cda20170
commit e5cefc1097

View File

@@ -311,9 +311,10 @@ mоdulе rf_r𝚒sсv(
1. В `Design Sources` проекта с предыдущих лаб, создайте `SystemVerilog`-файл `instr_mem.sv`.
2. Опишите в нем модуль памяти инструкций с таким же именем и портами, как указано в задании.
1. Сперва необходимо создать память (массив регистров). Как это сделать, сказано в разделе [описание памяти на языке SystemVerilog](#описание-памяти-на-языке-systemverilog). Разрядность ячеек памяти должна быть 32 бита, количество ячеек — 1024.
2. Добавить в проект [`файл с содержимым памяти инструкций`](program.mem). Данный файл будет использоваться при вызове системной функции `$readmemh` в описании памяти инструкций.
2. Добавить в `Design Sources` проекта [`файл с содержимым памяти инструкций`](program.mem). Данный файл будет использоваться при вызове системной функции `$readmemh` в описании памяти инструкций.
3. К созданной памяти необходимо подключить выход модуля `read_data_o`. При подключении должен быть использован вход модуля `addr_i`, значение которого должно быть уменьшено в 4 раза (побайтовая адресация).
4. При реализации выхода `read_data_o` помните, что обращаясь к ячейке памяти, вам необходимо использовать `[11:2]` биты адреса.
5. Реализуемый порт на чтение памяти инструкций должен быть **асинхронным**.
3. После описания памяти инструкций, её необходимо проверить с помощью тестового окружения.
1. Тестовое окружение находится [`здесь`](tb_instr_mem.sv).
2. Для запуска симуляции воспользуйтесь [`этой инструкцией`](../../Vivado%20Basics/Run%20Simulation.md).