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

ЭИС-2 / ЛР-3 / ЭиС2 №3

.pdf
Скачиваний:
3
Добавлен:
02.06.2026
Размер:
350.77 Кб
Скачать

Министерство науки и высшего образования Российской Федерации Федеральное государственное автономное образовательное учреждение высшего образования

«ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ» (ТУСУР) Кафедра безопасности информационных систем (БИС)

ПРИМЕНЕНИЕ ТРИГГЕРОВ, РЕГИСТРОВ И СЧЁТЧИКОВ

Отчёт по лабораторной работе №3 По дисциплине «Электроника и схемотехника»

Вариант №21

Студент гр.

_____

Руководитель Доцент кафедры

КИБЭВС, к.т.н., доцент

_______Мальчуков А.Н.

___.___.2026

Томск 2026

Введение

Цель работы – научиться совместно применять триггеры, регистры и счетчики. Постановка задачи:

Из ЛР1 взять 4 функции:F 22= A ((B C) D), F 21=( A (B C)) D,

F 20=(( A B) C) D, F 19= A (B (C D)). Для них необходимо построить таблицу истинности.

Собрать схемы на холсте .bdf согласно полученным формулам.

Для выполнения 4-х параллельных операций организовать прием

ивыдачу согласно данным параметрам: прием - убывающий, последовательным кодом младшими разрядами вперед и синхронный сброс. Выдача - возрастающая, параллельным кодом и активный уровень сигнала «read» равный 1.

Промоделировать схемы в режимах «Timing» и «Functional» так, чтобы в результате каждая функция принимала значения 0 и 1.

Сверить с результатами из таблицы истинности и результатом моделирования.

Повторить эти пункты, только для описания устройств вместо схем на .bdf использовать HDL SV и реализовать автомат для выдачи данных

иих тактирования.

Создать схему из RTL Viewer для кода HDL.

Написать выводы о проделанной работе.

2

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)

F 22= A

((B C) D)

 

 

 

 

 

 

 

(1.2)

F 21=( A

(B C)) D

 

 

 

(1.3)

F 20=((

A B)

C) D

 

 

 

(1.4)

F 19= A (B

(C D))

Рисунок 1.1 — Схемы на холсте .bdf для функций 22, 21, 20, 19

3

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 – промежуточные сигналы для удобства чтения.

4

Строки 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.

5

Рисунок 2.2 — Схема из RTL Viewer для кода SystemVerilog

6

3 МОДЕЛИРОВАНИЕ СХЕМЫ

Рисунок 3.1 — Моделирование схемы «Functional» для схемы

Рисунок 3.2 — Моделирование схемы «Timing» для схемы

Рисунок 3.3 — Моделирование кода «Functional» для SystemVerilog

Рисунок 3.4 — Моделирование кода «Timing» для SystemVerilog

Из-за присутствующей задержки в режиме «Timing» происходят выходы за границы интервала.

Приём первой пачки данных осуществляется по спадающему фронту

cext:

В момент времени t = 200 нс происходит первый активный (спадающий) фронт сигнала cext, на входе g присутствует логический 0.

7

Вмомент времени t = 500 нс — второй спадающий фронт cext, на входе g логический 0.

Вмомент времени t = 800 нс — третий спадающий фронт cext, на входе g логический 0.

Вмомент времени t = 1100 нс — четвёртый спадающий фронт cext, на входе g логическая 1.

Таким образом, принято 4-битное слово ABCD = 1000, младшими разрядами вперед.

Сигнал запроса на чтение read подаётся в активном уровне в интервале времени от 1,3 мкс до 1,5 мкс. По переднему фронту выходного синхросигнала clkout в момент t = 1,35 мкс на выходах устройства фиксируются и становятся достоверными значения вычисленных функций: F19 = 1, F20 = 0, F21 = 0, F22

=1. Сигнал clkout удерживается в активном уровне до момента t = 1,55 мкс, подтверждая валидность данных на шине.

Приём второй пачки данных осуществляется по спадающему фронту

cext:

Вмомент времени t = 1,7 мкс происходит первый активный (спадающий) фронт сигнала cext, на входе g присутствует логическая 1.

Вмомент времени t = 2 мкс — второй спадающий фронт cext, на входе g логический 0.

Вмомент времени t = 2,3 мкс — третий спадающий фронт cext, на входе g логический 0.

Вмомент времени t = 2,6 нс — четвёртый спадающий фронт cext, на входе g логическая 1.

Таким образом, принято 4-битное слово ABCD = 1001, младшими разрядами вперед.

Сигнал запроса на чтение read подаётся в активном уровне в интервале времени от 2,8 мкс до 3,0 мкс. По переднему фронту выходного синхросигнала clkout в момент t = 2,85 мкс на выходах устройства фиксируются и становятся достоверными значения вычисленных функций: F19 = 0, F20 = 1, F21 = 1, F22

8

= 0. Сигнал clkout удерживается в активном уровне до момента t = 3,05 мкс, подтверждая валидность данных на шине.

Сигнал внешнего сброса RST подаётся в интервале времени от 3,3 мкс до 3,5 мкс. Поскольку вариант предусматривает синхронный сброс (s), обнуление всех регистров схемы происходит не мгновенно, а по ближайшему активному (нисходящему) фронту cext в момент времени t = 3,4 мкс. Сразу после активного фронта cext внутренние регистры очищаются, и все выходные функции принимают нулевые значения: F19 = 0, F20 = 0, F21 = 0, F22 = 0.

9

4 ТАБЛИЦА ИСТИННОСТИ

Таблица 1.1 — Таблица истинности

 

Входы

 

 

 

Выходы

 

 

 

 

 

 

 

 

 

 

A

B

 

C

D

F22

F21

F20

F19

 

 

 

 

 

 

 

 

 

0

0

 

0

0

0

0

0

0

 

 

 

 

 

 

 

 

 

0

0

 

0

1

0

1

1

0

 

 

 

 

 

 

 

 

 

0

0

 

1

0

0

0

1

0

 

 

 

 

 

 

 

 

 

0

0

 

1

1

0

0

1

0

 

 

 

 

 

 

 

 

 

0

1

 

0

0

0

0

0

0

 

 

 

 

 

 

 

 

 

0

1

 

0

1

0

0

1

0

 

 

 

 

 

 

 

 

 

0

1

 

1

0

0

0

0

0

 

 

 

 

 

 

 

 

 

0

1

 

1

1

0

1

1

0

 

 

 

 

 

 

 

 

 

1

0

 

0

0

1

0

0

1

 

 

 

 

 

 

 

 

 

1

0

 

0

1

0

1

1

0

 

 

 

 

 

 

 

 

 

1

0

 

1

0

0

0

0

0

 

 

 

 

 

 

 

 

 

1

0

 

1

1

1

1

1

1

 

 

 

 

 

 

 

 

 

1

1

 

0

0

0

0

0

1

 

 

 

 

 

 

 

 

 

1

1

 

0

1

1

1

1

1

 

 

 

 

 

 

 

 

 

1

1

 

1

0

0

0

1

1

 

 

 

 

 

 

 

 

 

1

1

 

1

1

1

1

1

1

 

 

 

 

 

 

 

 

 

10

Соседние файлы в папке ЛР-3