Министерство цифрового развития, связи и массовых коммуникаций Российской Федерации
Ордена Трудового Красного Знамени федеральное государственное бюджетное образовательное учреждение высшего образования
Московский технический университет связи и информатики
___________________________________________________________________
Факультет
«Радио и телевидение»
Кафедра
«Радиотехнических систем»
Лабораторная работа №1 по дисциплине «Микропроцессорные устройства» «Реализация простейшей логической схемы на ПЛИС»
Выполнили |
|
|
Студент группы БРВ2201 |
_________________________ |
Велит А.И. |
Студент группы БРВ2201 |
_________________________ |
Мусаев Д.Ш. |
Студент группы БРВ2201 |
_________________________ |
Зейналов Р.А. |
Проверил |
|
|
Ассистент кафедры РТС |
_________________________ |
Шубин Д.Н. |
Москва 2025
1. Цель работы
Целями выполняемой лабораторной работы являются: синтез логической функции по заданной таблице истинности; ознакомление с САПР Xilinx ISE; реализация синтезированной логической функции на ПЛИС с использованием функционала графического редактора.
2.Расчётная часть
2.1.Исходные данные
Выполнение осуществляется для варианта №2. В качестве исходных данных выступает следующая таблица истинности (ТИ):
Таблица 2.1.1 – Исходная таблица истинности
X1 X2 X3 X4 Y2
0 0 0 0 0
0 0 0 1 0
0 0 1 0 1
0 0 1 1 0
0 1 0 0 0
0 1 0 1 0
0 1 1 0 1
0 1 1 1 0
1 0 0 0 0
1 0 0 1 0
1 0 1 0 1
1 0 1 1 0
1 1 0 0 0
1 1 0 1 0
1 1 1 0 1
1 1 1 1 0
По ней необходимо синтезировать логическую функцию, которую необходимо привести к операциям «И-НЕ» или «ИЛИ-НЕ».
2.2. Составление СДНФ
Для составления СДНФ (совершенной дизъюнктивной нормальной формы), необходимо сперва выделить все единичные строки из ТИ (коих, ожидаемо, всего четыре):
X1 X2 X3 X4 Y2
0 0 1 0 1
0 1 1 0 1
1 0 1 0 1
1 1 1 0 1
Каждая строка полученной ТИ – это логическое слагаемое в СДНФ. Сами слагаемые составляются по следующему правилу: все
внутренние элементы логически перемножаются, а сами элементы записываются как есть (если они 1 в ТИ) или с отрицанием (в ином случае). Полученная СДНФ представлена ниже, в виде функции.
F(x1,x2,x3,x4) |
‖f1 |
← ¬x1 |
¬x2 x3 ¬x4 |
| |
– СДНФ. |
|
|
‖ |
|
|
|
| |
|
|
‖f2 |
← ¬x1 |
x2 x3 ¬x4 | |
|
||
|
‖f3 |
← x1 |
¬x2 x3 ¬x4 |
| |
|
|
|
‖ |
← x1 |
x2 x3 ¬x4 |
| |
|
|
|
‖f4 |
| |
|
|||
|
‖ |
|
|
|
| |
|
|
‖returnf1 f2 f3 f4 |
| |
|
|||
Можно проверить её правильность, подставив в неё таблицу истинности, а потом взять сумму от XOR-а результата работы функции и результата заданного. Если сумма равна нулю, то СДНФ построена верно.
length(Y)-1
∑ F X0 ,X1 ,X2 ,X3 Y i=0 i=0
Получен ноль, значит СДНФ верна.
2.3. Минимизация СДНФ
Для перехода к логическим элементам необходимо произвести минимизацию (сокращение) СДНФ. Существуют много способов это сделать, но один из них – метод Куайна.
Метод Куайна основан на операциях склеивания и и поглощения. В рамках лабораторной работы он будет применяться в упрощённом виде.
Сперва необходимо попрано выделить из СДНФ скобки, которые различаются всего на один бит (то есть всего будет две большие скобки):
¬x1¬x2 x3¬x4 ¬x1 x2 x3¬x4 |
– слагаемые первой |
|
большой скобки; |
x1¬x2 x3¬x4 x1 x2 x3¬x4 |
– слагаемые второй |
|
большой скобки. |
Далее необходимо из каждого слагаемого выносится одинаковая часть (как при умножении), а разница отбрасывается (так логическое сложение переменной и её отрицания равно единице). В результате получаются следующие скобки:
¬x1 x3¬x4 |
– первая большая скобка после сокращения; |
x1 x3¬x4 |
– вторая большая скобка после сокращения. |
После проведения аналогичной операции во второй раз, получится итоговая сокращённая СДНФ. Её уже можно реализовывать на логических элементах.
F2(x1,x2,x3,x4) x3¬x4 – сокращённая СДНФ.
Проверить правильность сокращённой СДНФ можно аналогично пункту 2.2:
length(Y)-1
∑ F2 X0 ,X1 ,X2 ,X3 Y i=0 i=0
Так как результат равен нулю, то СДНФ была сокращена верно.
3.Экспериментальная часть
3.1.Составление электрической схемы из логических элементов
Необходимо составить электрическую схему из базисных логических элементов, на основе полученной сокращённой СДНФ.
Так как в качестве представления была СДНФ, то в качестве базиса логичнее всего выбрать элемент «И-НЕ». Синтезированная схема представлена ниже, на рисунке 3.1.1.
Рисунок 3.1.1 – Синтезированная схема по сокращённой СДНФ
3.2. Реализация синтезированной схемы на ПЛИС
Реализация синтезированной логической функции производится на ПЛИС Xilinx spartan 6 в специализированном ПО.
Первый шаг – создание проекта. Описание созданного проекта представлено ниже, на рисунке 3.2.2.
Далее необходимо воссоздать схему с рисунка 3.1.1 внутри созданного проекта. Так как пины x1 и x2 на исходной схеме, по сути, бесполезны, было принято решение оставить лишь задействованные пины х3 и х4. Полученная схема также представлена ниже.
Рисунок 3.2.1 – Синтезированная схема внутри проекта
Рисунок 3.2.2 – Описание созданного проекта
Далее необходимо сопоставить пины на схеме с пинами на самой плате. Для этого использовалось ПО PlanAhead. Окно программы с назначенными пинами представлено ниже.
Рисунок 3.2.3 – Назначение пинов на плате
После сопоставления пинов необходимо создать конфигурационный файл для ПЛИС. Результаты генерации представлены ниже (генерация прошла без ошибок).
Рисунок 3.2.4 – Результаты процесса создания конфигурационного файла
В итоге необходимо проверить, что файл можно загрузить на ПЛИС для дальнейшей работы на ней. Для этого используется ПО iMPACT.
Отдельно стоит отметить, что лабораторная выполняется на виртуальной машине, то есть физическая плата отсутствует. По этому через iMPACT можно разве что убедиться, что программа видит файл конфигурации и может проводить с ним различные операции.
Как видно из рисунка ниже, iMPACT успешно распознал конфигурационный файл.
Рисунок 3.2.5 – Окно программы iMPACT с загруженным файлом конфигурации
3.3. Симуляция схемы
Необходимо убедиться в работоспособности синтезированной схемы с помощью симуляции.
Так как вы пункте 2 было показано, что таблица истинности определяется исключительно последними двумя разрядами, то проверку первых двух можно опустить (что и было сделано при построении схемы). Для проверки двух последних разрядов достаточно, чтобы они различались по периоду в два раза, а время симуляции равнялось восьмикратному значению максимального периода.
Для симуляции были выбраны следующие значения периодов: T3 8 μs, T4 4 μs. Соответственно, параметр CTO для обоих входов
был выбран по максимальному периоду (64 μs). STO для обоих входов равен нулю, а Duty Cycle оставлен на значении 50%.
Результаты симуляции представлены ниже, на рисунке 3.3.1. Из него видно, что ТИ симуляции соответствует исходной для требуемых пинов.
0 0 0 |
|
|
|
|
0 1 0 |
|
– требуемая ТИ (последний столбец – выход). |
|
1 0 1 |
|
|
|
|
|
|
1 1 0 |
|
||
|
|
|
|
Рисунок 3.3.1 – Результаты симуляции
0 0 0
0 1 0 – ТИ из симуляции (последний столбец – выход).
1 0 11 1 0
4. ВЫВОДЫ
В результате выполнения лабораторной работы были изучены способы синтеза логических функций по таблице истинности, а также способы их оптимизации.
Так же был изучен процесс синтеза схемы на ПЛИС с использованием виртуальной машины и специального ПО. В процессе изучения было выяснено, что процесс программирования ПЛИС с использованием графического интерфейса включает в себя: составление принципиальной электрической схемы требуемой функции; ручное сопоставление пинов на схеме с пинами самой ПЛИС; создание файла конфигурации для дальнейшей загрузки на плату с ПЛИС.
Скорее всего, за графической оболочкой скрываются множественные программные блоки, а визуальное представление – более высокий уровень абстракции.
