Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Основы конструирования электронных средств. Учебно-методическое пособие

.pdf
Скачиваний:
0
Добавлен:
12.08.2026
Размер:
1 Мб
Скачать

Федеральное агентство связи

Федеральное государственное бюджетное образовательное учреждение высшего образования «Сибирский государственный университет телекоммуникаций и информатики»

(СибГУТИ)

C. Ю. Фарафонтов

Основы конструирования электронных средств

Учебно-методическое пособие

Новосибирск

2020

УДК 621.38(075.8)

Утверждено редакционно-издательским советом СибГУТИ

Рецензент: канд. техн. наук, доц. Ищук А. А.

Фарафонтов С. Ю. Основы конструирования электронных средств: Учеб- но-методическое пособие / Сибирский государственный университет телекоммуникаций и информатики; каф. радиотехнических устройств. – Новосибирск,

2020. – 34 с.

В данном учебно-методическом пособии приведено описание лабораторного практикума, предназначенного для бакалавров и магистров различных профилей в области телекоммуникаций, бакалавров и магистрантов по специальности 11.03.03(02) «Конструирование и технология электронных средств».

Лабораторные работы выполняются на специализированных стендах с программируемой логической интегральной микросхемой (ПЛИС) ЕР1С3Т144С8 учебный стенд LESO2. Процесс синтеза устройств происходит за счет загрузки в память ПЛИС определённых конфигурационных файлов, что дает возможность на одном и том же оборудовании разрабатывать разные по логике работы устройства.

©Фарафонтов С.Ю., 2020

©Сибирский государственный университет телекоммуникаций и информатики, 2020

2

Содержание

 

Исследование двоичных логических элементов..............................................

4

Объявление переменных. Арифметические операции....................................

9

Комбинационные схемы...................................................................................

12

Счетчик делитель ..............................................................................................

18

Таймер счетчик..................................................................................................

20

Бегущий огонь ...................................................................................................

22

Широтно-импульсное регулирование.............................................................

24

Генерация сигнала компонентного видеоинтерфейса VGA.........................

28

Список литературы ...........................................................................................

33

3

Лабораторная работа №1 Исследование двоичных логических элементов

1 Цель работы

Целью работы является изучение способов создания основных двоичных логических элементов на языке Verilog для ПЛИС Altera Intel.

2 Система автоматизированного проектирования Quartus II

2.1 Создание проекта

Разработка конфигурационного файла программируемой интегральной микросхемы (далее ПЛИС) на основе языка описания аппаратуры Verilog производится в среде Quartus II для ПЛИС производства Altera Intel. Для создания проекта требуется создать папку для хранения файлов проекта. Имя папки, а также путь нахождения папки не должен содержать символы кириллического алфавита. Затем следует запустить программу Quartus II. Далее выбираем из меню File раздел New Project Wizard. В открывшемся окне мастера создания проектов нажимаем кнопку Next и попадаем в окно для указания пути к папке проекта и имени проекта. Следует отметить, что имя проекта может быть любым, но не содержать символы кириллического алфавита. После заполнения полей окна следует нажать кнопку Finish. Проект создан.

2.2 Создание файла Verilog

Разработка логической функции, определяющая логику работы ПЛИС, производится на основе языка описания аппаратуры Verilog. Для описания алгоритма на языке Verilog следует создать рабочий файл. Для этого в меню File следует выбрать раздел New, где в выпавшем окне следует выбрать пункт Verilog HDL File и нажать кнопку ОК (рисунок 2.1).

Рис. 2.1. Выбор типа файла проекта

2.3 Создание алгоритма на языке Verilog

4

Создадим алгоритм реализующий логическую функцию элемента «И». При этом зададимся, что при создании проекта проекту было присвоено имя «LAB». Перед написанием алгоритма требуется произвести выбор типа ПЛИС. Для этого следует зайти в меню настройки проекта Settings. В открывшемся окне следует выбрать раздел Device. В списке имен семейств ПЛИС (Список

Device Family) выбрать Cyclone. Далее в таблице Available devices выбрать ПЛИС ЕР1С3Т144С8 (рисунок 2.2). Затем закройте окно, нажав на кнопку ОК.

Перейдем в ранее созданный файл проекта Verilog и напишем следующий алгоритм:

module LAB (X1, X2, Y);

input wire X1; input wire X2; output wire Y;

assign Y = X1 & X2;

endmodule

Далее произведем компиляцию созданного проекта. Для этого следует нажать на кнопку Start Compilation, расположенную на верхней панели.

Рис. 2.2. Выбор ПЛИС

После завершения компиляции и отсутствия ошибок в нижнем окне Messages следует назначить номера входных и выходного порта. Для этого следует нажать на кнопку Pin Planner, расположенную на верхней панели. В открывшемся окне в нижней таблице укажем, что вывод «Х1» нужно подключить к 49 выводу ПЛИС, вывод «Х2» нужно подключить к 50 выводу ПЛИС, вывод «У» следует подключить к выводу 128 (рисунок 2.3). Далее закрываем окно и повторно компилируем проект. После успешной компиляции следует произвести

5

загрузку конфигурационного файла в ПЛИС. Для этого подключаем учебный стенд и программатор USB Blaster к ПЭВМ. Далее нажимаем на кнопку Programmer, расположенную на верхней панели. В открывшемся окне нажимаем на кнопку Hardware Setup. В раскрывающемся списке Currently selected hardware

выбираем программатор USB Blaster. И нажимаем кнопку Close. Далее следует нажать на кнопку Start, что приведет к загрузке конфигурационного файла в ПЛИС (рисунок 2.4).

Рис. 2.3. Задание номеров используемых выводов ПЛИС

Рис. 2.4. Окно мастера загрузки конфигурационного файла в ПЛИС

6

2.4 Исследование созданного алгоритма

После загрузки конфигурационного файла в ПЛИС переведите переключатели S1 и S2 в нижнее положение. При этом светодиод LED1 светиться не будет. Далее переведите оба переключателя S1 и S2 в верхнее положение. При этом светодиод LED1 включится. При этом перевод только одного из двух переключателей S1 и S2 в верхнее положение не приведет к включению светодиода LED1. Как это работает?

При создании файла Verilog мы объявили два входных порта «Х1», «Х2» и один выходной порт «Y». При этом в настройках портов мы указали, что порт «Х1» подключается к 49 выводу ПЛИС. Порт «Х2» подключается к 50 выводу ПЛИС. Порт «У» подключается к 128 выводу ПЛИС. К 49 и 50 выводам ПЛИС подключаются переключатели S1 и S2, формирующие на данных выводах уровень логической единицы в верхнем положении движков переключателей и уровень логического нуля при нижнем положении. К 128 выводу ПЛИС подключен светоизлучающий диод LED1, который включается (начинает излучать свет) при наличии на данном выводе уровня логической единицы.

Далее в созданном модуле LAB мы указали, что в порт «Y» следует записать результат логической операции «И» между портами «Х1» и «Х2»:

assign Y = X1 & X2;

где assign – оператор для непрерывного присвоения; Y – выходной порт;

X1 – входной порт;

& – логический оператор функции «И»; X2 – входной порт.

Поэтому, исходя из таблицы истинности логической операции «И», в порт «Y» запишется логическая единица только тогда, когда на обоих входных портах «Х1» и «Х2» будут присутствовать логические единицы.

3 Задание к работе

По аналогии с логической функцией «И» произведите исследование функционирования логических операторов, приведенных в таблице 3.1. Результаты исследований свести в таблицу.

Табл. 3.1. Логические операции

Исполняемая функция

Обозначение

1

И

&

2

ИЛИ

|

3

НЕ

!

4

Исключающее ИЛИ

^

5

Исключающее ИЛИ-НЕ

~^

 

7

 

4 Содержание отчета

4.1Цель работы.

4.2Алгоритм модуля на языке Verilog для каждого логического элемента.

4.3Таблицы истинности исследуемых логических функций.

4.4Вывод.

5 Контрольные вопросы

5.1Что такое ПЛИС?

5.2Какие преимущества дает проектирование аппаратуры на ПЛИС?

5.3Что такое файл конфигурации?

5.4Этапы создания проекта с помощью программы Quartus II.

5.5Как производится объявление портов на языке Verilog?

5.6Как производится назначение объявленным портам номеров выводов

ПЛИС?

5.7Как устроен лабораторный стенд?

5.8Запишите логические выражения на языке Verilog для исследованных логических функций.

5.9Что такое таблица истинности?

5.10Изобразите таблицы истинности основных логических элементов.

8

Лабораторная работа №2 Объявление переменных. Арифметические операции

1 Цель работы

Целью работы является изучение способов создания массивов портов, объявления переменных и применения арифметических операций.

2 Краткие теоретические сведения

При создании модулей на языке Verilog часто приходится объявлять массив однотипных портов ввода вывода. Ручное перечисление и задание индивидуальных имен портов не оправдано при большом их количестве. Поэтому используется следующий упрощенный прием записи массива портов:

output wire [7:0] Y;

где output – параметр, указывающий, что данные порты являются входными;

wire – параметр, указывающий тип «провода» порта; [7:0] – диапазон портов от 0 до 7, в сумме 8 портов; Y – имя порта.

Таким образом, приведенная запись производит объявление 8 портом с именем «Y» от 0 до 7.

Арифметические операции производятся аналогично, как и логические. Так, например, запись для сложения двух десятичных чисел 8 и 5 с помещением результата сложения в порт «Y», имеет вид:

assign Y=8+5.

При этом следует учесть, что разрядность выходной шины порта «Y» должна быть больше или равна двоичному числу результата. Сложение 5 и 8 дает десятичный результат 13, что в двоичной форме имеет вид 1101. То есть результат операции будет занимать 4 линии порта «Y» и поэтому разрядность шины «Y» должна быть не менее 4-х.

Для реализации алгоритмических и арифметических проектов часто требуется объявление переменных для хранения промежуточных результатов. Объявление переменных на языке Verilog осуществляется с помощью оператора reg и имеет следующий вид:

reg [M:N] X;

где reg – оператор, объявляющий переменную;

[M:N] – значение разрядности переменной в битах от N до M; X – имя переменной.

9

Решим следующую задачу. Объявлены две переменные Х1 и Х2. В данных переменных хранятся числа 5 и 10 соответственно. Требуется сложить эти переменные и вывести результат на выходной порт «Y».

module LAB (Y);

output wire [7:0]Y;

reg[3:0]x1=5;

reg[3:0]x2=10;

assign Y=x1+x2;

endmodule

Кроме сложения в языке описания аппаратуры Verilog существуют и другие арифметические операции. Список доступных арифметических операций приведен в таблице 2.1.

Табл. 2.1. Арифметические операции

Обозначение

Наименование операции

1

+

Сложение

2

-

Вычитание

3

*

Умножение

4

/

Деление

5

%

Остаток от деления

3 Задание к работе

Напишите алгоритм, вычисляющий примеры из переменных «х1», «х2», «х3», «х4», «х5», «х6» и выводящий результат в двоичном виде на светодиоды стенда.

Примеры для вычислений:

2+10+6-14+2-6 9-(18-8-10)+(14-7) 11+(15-11)+(16-5-8) 19-8+6-2+3-15 14+(16-9-5)-10+11 16-(17-14)-(17-7)+10 3+10+7-14+2-6 10-(18-8-10)+(15-7) 12+(15-11)+(16-5-8) 20-8+6-2+4-15

10

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]