From 5aec33bb782b40f8729e3ba7db484f3c7e4378af Mon Sep 17 00:00:00 2001 From: Andrei Solodovnikov Date: Thu, 20 Mar 2025 18:29:15 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9B=D0=A04.=20=D0=94=D0=BE=D0=B1=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BF=D0=BE=D0=B4=D0=BF=D0=B8?= =?UTF-8?q?=D1=81=D0=B5=D0=B9=20=D0=BA=20=D0=BB=D0=B8=D1=81=D1=82=D0=B8?= =?UTF-8?q?=D0=BD=D0=B3=D0=B0=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Labs/04. Primitive programmable device/README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Labs/04. Primitive programmable device/README.md b/Labs/04. Primitive programmable device/README.md index d34447a..73bd292 100644 --- a/Labs/04. Primitive programmable device/README.md +++ b/Labs/04. Primitive programmable device/README.md @@ -304,6 +304,8 @@ _Рисунок 5. Реализация безусловного переход out_o = reg_file[1], PC ← PC + 0 // бесконечное повторение этой инструкции // с выводом на out_o значения в регистре 1 ``` +_Листинг 1. Пример программы для CYBERcobra._ + Теперь в соответствии с кодировкой инструкций переведем программу в машинные коды: @@ -315,6 +317,7 @@ _Рисунок 5. Реализация безусловного переход 0 1 00 11110 00001 00010 11111111 00000 1 0 00 00000 00001 00000 00000000 00000 ``` +_Листинг 2. Представление листинга 1 в виде машинных кодов._ Полученную программу можно помещать в память программ и выполнять на процессоре. @@ -348,7 +351,7 @@ endmodule ## Порядок выполнения задания -1. Добавьте в `Design Sources` проекта файл [program.mem](program.mem). +1. Добавьте в `Design Sources` проекта файл [program.mem](program.mem), содержащий программу из Листинга 1. 2. Опишите модуль `CYBERcobra` с таким же именем и портами, как указано в задании (обратите внимание на регистр имени модуля). 1. В первую очередь, необходимо создать счётчик команд и все вспомогательные провода. При создании, **следите за разрядностью**. 2. Затем, необходимо создать экземпляры модулей: памяти инструкции, АЛУ, регистрового файла и сумматора. При подключении сигналов сумматора, надо **обязательно** надо подать нулевое значение на входной бит переноса. Выходной бит переноса подключать не обязательно. Объекту памяти инструкций нужно дать имя `imem`.