ЛР4. Добавление подписей к листингам

This commit is contained in:
Andrei Solodovnikov
2025-03-20 18:29:15 +03:00
committed by GitHub
parent 4ae48b39ff
commit 5aec33bb78

View File

@@ -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`.