4 семестр / Цифровая электроника / lab3_zif
.docxМИНОБРНАУКИ РОССИИ
Санкт-Петербургский государственный
электротехнический университет
«ЛЭТИ» им. В.И. Ульянова (Ленина)
Кафедра РС
отчет
по лабораторной работе №3
по дисциплине «Цифровая электроника»
Тема: Исследование работы асинхронных RS- и DL-триггеров
Вариант 13
Студент гр. 4493 |
|
Шевцов А.И. |
Преподаватель |
|
Овчинников М.А. |
Санкт-Петербург
2026
Цель работы:
Задание:
Собрать схему асинхронного RS-триггера в текстовом редакторе. Для этого воспользоваться кодом из приложения. Изучить схему, реализованную в RTL-Viewer. Построить временные диаграммы только с учётом задержки, иллюстрирующие работу устройства. Задать время моделирования (Set End time) 350 нс.
1а. Проделать всё то же самое в графическом редакторе на основе элементов «или-не». Инверсию входных сигналов сохранить! Это означает, что входные сигналы, которые в текстовом редакторе были заданы как инверсные, должны быть заданы инверсными и в графическом редакторе. С сигналами, заданными как прямые, ситуация аналогичная)! Обозначить входные сигналы как R и S (или not_R и not_S, если какой-либо из сигналов задан инверсным.
2. Собрать схему асинхронного DL-триггера в текстовом редакторе. Для этого воспользоваться кодом из приложения. В графическом режиме триггер не реализовывать!
Изучить схему, реализованную в RTL-Viewer. Построить временные диаграммы С УЧЁТОМ ЗАДЕРЖКИ (диаграммы без учёта задержки в отчете не нужны), иллюстрирующие работу устройства. Задать время моделирования (Set End time) 450 нс.
Что изменится в работе аппаратной реализации триггера, если 5-ю строчку кода заменить на always @(data)?
п. 1 Собрать схему асинхронного RS-триггера в текстовом редакторе.
Описание устройства на языке Verilog HDL
module s_r_ff (not_set, not_reset, q, not_q);
input not_set, not_reset;
output q, not_q;
assign not_q = ~q;
reg q;
always @ (not_set or not_reset)
begin
if (~not_reset)
q <= 1'b0;
else if (~not_set)
q <= 1'b1;
end
endmodule
Рис. 1 Результат RTL для схемы асинхронного RS-триггера построенного в текстовом редакторе
Рис. 2 Временная диаграмма асинхронного RS-триггера построенного в текстовом редакторе
П. 1а. Построить асинхронный RS-триггер в графическом редакторе
Рис. 3 Схема асинхронного RS-триггера
Рис. 4 Результат RTL для схемы асинхронного RS-триггера построенного в графическом редакторе
Рис. 5 Временная диаграмма асинхронного RS-триггера построенного в графическом редакторе
Временные диаграммы отличаются на участках, где входные сигналы not_set = 0, not_reset = 0, то есть в режиме запрещеннного состояния, отличаются они так как модель заданная в текстовом редакторе сначала проверяет если не задан сигнал not_reset, в запрещенном состоянии он не задан, устанавливает сигнал q = b0, а сигнал not_q как инверсию q, not_q = ~q = b1.
Рассмотрим таблицу истинности операции NOR
Таблица №1 Таблица истинности NOR |
||
in1 |
in2 |
out |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
Элемент NOR дает на выходе 1 только если оба входа равны 0, в схеме асинхронного RS-триггера 2 элемента NOR, принимающие один из входных сигналов и сигнал обратной связи другого элемента, в запрещенном состоянии оба входных сигнала Set=1 и Reset=1, следовательно выходной сигнал обоих элементов, то есть выходные сигналы триггера q и not_q оба равны 0.
П.2 Собрать схему асинхронного DL-триггера в текстовом редакторе
Описание устройства на языке Verilog HDL
module d_l_ff (data, load, q);
input data, load;
output q;
reg q;
always @ (load or data)
begin
if (load)
q <= data;
end
endmodule
Рис. 6 Результат RTL для схемы асинхронного DL-триггера
Рис.7 Временная диаграмма асинхронного DL-триггера
Если поменять 5 строчку кода, то DL-триггер перестанет реагировать на изменение сигнала load, он изменяет значение выходного сигнала только при изменении сигнала data, поэтому в ситуации переключения сигнала load, при неизменном сигнале data, выходной сигнал не изменится и может быть неправильным.
Вывод:
Различные реализации RS-триггера по разному обрабатывают запрещенное состояние, одинаково обрабатывают режимы хранения, сброса и установки. Так как для реализации в текстовом редакторе сигнал not reset имеет приоритет над сигналом not set, то запрещенное состояние обрабатывается как режим сброса. DL-триггер работает как ячейка памяти, пока сигнал load = 1, выходной сигнал повторяет сигнал data, как только сигнал load = 0, DL-триггер запоминает значение сигнала data, и пока сигнал load не поменяется, выходной сигнал равен этому значению data.
