Министерство науки и высшего образования Российской Федерации Федеральное государственное автономное образовательное учреждение
высшего образования
«ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ» (ТУСУР)
Кафедра безопасности информационных систем (БИС)
ПРИМЕНЕНИЕ ТРИГГЕРОВ, РЕГИСТРОВ И СЧЁТЧИКОВ
Отчёт по лабораторной работе №3
По дисциплине «Электроника и схемотехника»
Вариант №21
-
Студент гр.
_____
-
Руководитель
Доцент кафедры КИБЭВС, к.т.н., доцент
_______Мальчуков А.Н.
___.___.2026
Введение
Цель работы – научиться совместно применять триггеры, регистры и счетчики. Постановка задачи:
Из ЛР1 взять 4 функции:
,
,
,
.
Для них необходимо построить таблицу
истинности.
Собрать схемы на холсте .bdf согласно полученным формулам.
Для выполнения 4-х параллельных операций организовать прием и выдачу согласно данным параметрам: прием - убывающий, последовательным кодом младшими разрядами вперед и синхронный сброс. Выдача - возрастающая, параллельным кодом и активный уровень сигнала «read» равный 1.
Промоделировать схемы в режимах «Timing» и «Functional» так, чтобы в результате каждая функция принимала значения 0 и 1.
Сверить с результатами из таблицы истинности и результатом моделирования.
Повторить эти пункты, только для описания устройств вместо схем на .bdf использовать HDL SV и реализовать автомат для выдачи данных и их тактирования.
Создать схему из RTL Viewer для кода HDL.
Написать выводы о проделанной работе.
1 Функциональная схема
Для функций 22, 21, 20, 19 были составлены схемы на холсте .bdf (рис. 1.1), описаны на SystemVerilog (рис. 2.1) и промоделированы в режимах «Functional» и «Timing» (рис. 3.1-3.2). Также был промоделирован код на SystemVerilog в режимах «Functional» и «Timing» (рис. 3.3-3.4). Схема из RTL viewer для кода HDL представлена на рисунке 2.2.
Функции по заданию:
|
(1.1) |
|
(1.2) |
|
(1.3) |
|
(1.4) |
Рисунок 1.1 — Схемы на холсте .bdf для функций 22, 21, 20, 19
2 Код на systemverilog
Рисунок 2.1 — Описание на SystemVerilog
Строки 1-4. Объявление модуля lab31 с входными сигналами (read, g, cint, RST, cext) и выходными (F19, F20, F21, F22, clkout).
Строки 6-8. Внутренние сигналы:
temp [3:0] – 4-битный регистр для хранения принятого слова (биты: temp[3] – A, temp[2] – B, temp[1] – C, temp[0] – D).
clkout_reg – внутренний регистр для формирования выходного строба clkout.
clr – внутренний сигнал синхронного сброса (формируется из внешнего RST).
A, B, C, D – промежуточные сигналы для удобства чтения.
Строки 10-13. начальная инициализация (выполняется один раз при старте симуляции): temp обнуляется, clkout_reg сбрасывается в 0.
Строка 15. Сигнал clkout повторяет значение внутреннего регистра clkout_reg.
Строки 16-19. Выделение битов из регистра temp: старший бит temp[3] соответствует A, temp[2] – B, temp[1] – C, temp[0] – младшему биту D.
Строки 21-24. Описание комбинационных логических функций:
F19 = A & (B | ~(C ^ D)) – функция варианта 19;
F20 = (~(A ^ B) & C) | D – функция варианта 20;
F21 = (A | ~(B ^ C)) & D – функция варианта 21;
F22 = A & ~((B | C) ^ D) – функция варианта 22.
Строки 26-31. Процесс приёма данных (тактирование cext):
Чувствителен к спадающему фронту cext (negedge cext) и фронту сигнала clr (posedge clr).
При clr = 1 регистр temp мгновенно обнуляется (асинхронный сброс).
При clr = 0 по каждому спаду cext выполняется сдвиг вправо: temp <= {g, temp[3:1]}. Новый бит g заносится в старший разряд, остальные сдвигаются вправо. За 4 такта формируется 4-битное слово.
Строки 32-37. Процесс формирования выходного строба (тактирование cint):
Чувствителен к нарастающему фронту cint (posedge cint) и сигналу clr.
При clr = 1 регистр clkout_reg обнуляется.
При clr = 0 по каждому фронту cint в clkout_reg записывается значение. сигнала read. Таким образом, clkout = 1 только во время интервала read = 1.
Строки 38-43. Процесс формирования внутреннего сигнала сброса:
Чувствителен к спадающему фронту cext и фронту clr.
При clr = 1 сигнал clr сбрасывается в 0.
При clr = 0 сигнал clr принимает значение внешнего сигнала RST.
Р
исунок
2.2 — Схема из RTL Viewer для кода SystemVerilog
