From e5cefc1097e4f77c2b4c1d1e98a24c81b4d85855 Mon Sep 17 00:00:00 2001 From: Andrei Solodovnikov Date: Fri, 22 Mar 2024 15:53:12 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9B=D0=A03.=20=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BF=D0=BE=D1=80=D1=8F=D0=B4?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=B2=D1=8B=D0=BF=D0=BE=D0=BB=D0=BD=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F=20=D0=B7=D0=B0=D0=B4=D0=B0=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Указано, что: - файл program.mem должен добавляться в Design Sources; - порт на чтение памяти инструкций является асинхроннм. --- Labs/03. Register file and memory/README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Labs/03. Register file and memory/README.md b/Labs/03. Register file and memory/README.md index f61591e..efdf46a 100644 --- a/Labs/03. Register file and memory/README.md +++ b/Labs/03. Register file and memory/README.md @@ -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).