module T(
input logic Set1, input logic C, output logic Q, output logic notQ, output logic Q1, output logic notQ1, output logic R1, output logic R2, output logic S1, output logic S2
);
assign S1 = ~(~C|Q); assign R1 = ~(~C | notQ); assign Q1 = ~(notQ1 | R1); assign notQ1 = ~(Q1 | S1); assign S2 = ~(C | notQ1); assign R2 = ~(C | Q1); assign Q = ~(notQ | R2);
assign notQ = ~(Q | S2 | Set1); endmodule
На рисунке 2.4 представлено моделирование двухступенчатого Т-
триггера в режиме Timing.
Рисунок 2.4 – Моделирование в режиме Timing
На рисунке 2.5 представлено моделирование двухступенчатого Т-
триггера в режиме Functional.
11
Рисунок 2.5 – Моделирование в режиме Functional
На рисунке 2.6 представлен двухступенчатый Т-триггер в RTL Viewer
представлении.
Рисунок 2.6 – RTL Viewer представление
12
3 СТАТИЧЕСКИЙ ОДНОСТУПЕНЧАТЫЙ D-ТРИГГЕР
3.1 ТАБЛИЦА ФУНКЦИОНИРОВАНИЯ
Одноступенчатый D-триггер основан на RS-триггере. Вход разветвлен и соединяется со входами и так, чтобы не было запрещенного состояния. Также D-триггер может иметь вход синхронного входа .
Ниже приведена таблица 3.1, которая отражает функционирование одноступенчатого D-триггера.
Таблица 3.1 – Таблица функционирования одноступенчатого D-триггера
|
Входы |
|
|
Выходы |
Переход |
|
|
|
|
|
|
|
|
|
|
|
( ) |
|
( + 1) |
|
|
|
|
|
|
|
|
|
|
0 |
0 |
|
0 |
0 → 0 |
|
|
|
|
|
|
|
|
|
1 |
1 |
|
1 |
1 → 1 |
|
|
|
|
|
|
|
1 |
|
1 |
0 |
|
1 |
0 → 1 |
|
|
|
|
|
|
|
1 |
|
0 |
1 |
|
0 |
1 → 0 |
|
|
|
|
|
|
|
3.2 ФУНКЦИОНАЛЬНАЯ СХЕМА
На рисунке 3.1 представлена функциональная схема одноступенчатого
D-триггера с базисным элементом И-НЕ.
Рисунок 3.1 – Функциональная схема одноступенчатого D-триггера
13
3.3 ФОРМУЛА
На основе функциональной схемы составим формулы для выходов на
основе базисного элемента И-НЕ: |
|
̅̅̅̅̅̅̅̅̅̅̅ |
̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅ |
( + 1) |
= ( ) ( ) |
̅̅̅̅̅̅̅̅̅̅̅ |
̅̅̅̅̅̅̅̅̅̅ ̅̅̅ |
̅̅ |
|
( + 1) = ( ) ( ) |
|
̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅ |
|
|
̅̅̅ |
( + 2) = ( + 1) ( + 2) |
|
̅̅̅̅̅̅̅̅̅̅̅ ̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅ |
( + 2) = ( + 1) ( + 2)
2.4 МОДЕЛИРОВАНИЕ
Было выполнено моделирование составленной функциональной схемы из пункта 3.2. На рисунке 3.2 изображен результат моделирования в режиме
Timing.
Рисунок 2.2 – Моделирование одноступенчатого D-триггера в режиме Timing
По результатам моделирование видно, что около 14 нс требуется для изменения состояния , после изменения состояния входа.
На рисунке 3.3 представлен результат моделирования в режиме
Functional.
Рисунок 3.3 – Моделирование D-триггера в режиме Functional
14
По результату моделирования схемы в режиме Function видно, что
происходит моментальный отклик на входной сигнал .
По результатам моделирования можно сделать вывод, что схема
выполнена в соответствии с таблицей функционирования одноступенчатого
D-триггера 3.1.
3.5 ОПИСАНИЕ С ПОМОЩЬЮ HDL
Ниже представлен код на SystemVerilog:
module D( input logic D, input logic C, output logic Q,
output logic notQ,
output logic R, output logic S );
assign S = D & C; assign R = C & ~S;
assign Q = ~(~S & notQ); assign notQ = ~(~R & Q); endmodule
На рисунке 3.4 представлено моделирование одноступенчатого D-
триггера в режиме Timing.
Рисунок 3.4 – Моделирование в режиме Timing
На рисунке 3.5 представлено моделирование одноступенчатого D-
триггера в режиме Functional.
15
Рисунок 3.5 – Моделирование в режиме Functional
На рисунке 3.6 представлен одноступенный D-триггер в RTL Viewer
представлении.
Рисунок 3.6 – RTL Viewer представление
16
Заключение
В результате выполнения лабораторной работы были изучены основные типы триггеров, их принципы построения и работы.
Были реализованы и промоделированы следующие схемы:
-динамический RS-триггер;
-двухступенчатый T-триггер;
-одноступенчатый D-триггер.
Отчет был оформлен согласно ОС ТУСУР 01–2021.
17