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