You are on page 1of 10

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

ХАРЬКІВСЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ ІМЕНІ В.Н.КАРАЗІНА


КАФЕДРА «ТЕОРЕТИЧНОЇ ТА ПРИКЛАДНОЇ СИСТЕМОТЕХНІКИ»

ПРАКТИЧНА РОБОТА №4
з курсу: «Проєктування К (Ц) С на одному кристалі (СоК - SoC)»
з теми: «Розроблення елементарних автоматів (тригерів) за допомогою мови
опису апаратури VHDL»

Прийняла:
Професор, каф. ТПС
Мірошник М. А.

Виконала:
студентка групи КI-51
Волинець К.А.

Харків 2024
Мета роботи: вивчити закони функціонування елементарних
автоматів, способи їх завдання; отримати навички складання
таблиць переходів та матриць переходів тригерних схем. Вивчити
основні прийоми канонічного методу синтезу цифрових
автоматів; отримати навички синтезу одного типу елементарного
автомата на основі іншого. Отримання навичок у побудові
VHDL-опису моделей тригерів.

Варіант 2

Рис. 1. Варіант

K* J* Q(t) Q(t+1)
0 0 0 1
0 0 1 0
0 1 0 0
0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 0
1 1 1 1
Табл. 1. Повна таблиця переходів J*K*

K* J* Q(t+1)
0 0 !Q(t+1)
0 1 0
1 0 1
1 1 Q(t)
Табл. 2. Скорочена таблиця переходів

Q(t)-Q(t+1) 0-0 0-1 1-0 1-1


K* 01 01 00 11
J* 11 00 01 01
Табл. 3. Додаткова таблиця переходів
Q(t)-Q(t+1) K* J*
0-0 b1 1
0-1 b2 0
1-0 0 b3
1-1 1 b4
Табл. 3. Матриця переходів

Для дуги з а0 до а1 (перехід '0-1'): !K*!J* v K*!J* = !J*


Для дуги з а1 до а0 (перехід '1-0'): !K*!J* v !K*J* = !K*
Для петлі з а1 до а1 (перехід '1-1'): K*!J* v K*J* = K*
Для петлі з а0 до а (перехід '0-0'): !K*J* v K*J* = J*

Q(t)/K*J* 00 01 11 10
0 1 0 0 1
1 0 0 1 1
Табл. 4. Карта Карно:

Рис. 2. J*K*-тригер

VHDL- опис логічної схеми:

library ieee;
use ieee.std_logic_1164.all;

entity test is
port (
K, J,C, R: in std_logic;
Q: out std_logic
);
end test;

architecture rtl of test is


begin
process(C, R) is
variable Qint: STD_LOGIC;
begin
if (rising_edge(C)) then
if (R ='0') then Qint:='1';
elsif (J='0' and K='0') then Qint := not(Qint);
elsif (J='1' and K='1') then Qint:=Qint;
elsif (J='0' and K='1') then Qint:='1';
elsif (J='1' and K='0') then Qint:='0';
end if;
end if;
Q<=Qint;
end process;
end architecture;

1. Дайте визначення тригера типу Т, D, JК, RS, DV, E, R, S.

Т-тригер: тригер з одним входом, який змінює свій стан на


протилежний при кожному збуджуючому імпульсі.
D-тригер: тригер з одним входом даних, який записує значення на
цьому вході в свій вихідний стан при надходженні
синхронізуючого імпульсу.
JK-тригер: тригер з двома входами J (Set) і K (Reset), які
встановлюють і скидають тригер відповідно.
RS-тригер: тригер з двома входами S (Set) і R (Reset), які
встановлюють і скидають тригер відповідно.
DV-тригер: тригер з двома входами D (Data) і V (Valid), де D - це
дані, які записуються в тригер, а V - це сигнал дійсності даних.
E-тригер: тригер з одним входом E (Enable), який дозволяє запис
даних на вихід тригера при його активації.
R-тригер: тригер з одним входом R (Reset), який скидає тригер в
нульовий стан.
S-тригер: тригер з одним входом S (Set), який встановлює тригер
в одиничний стан.

2. У чому відмінність тригера JК від RS-тригера?

JK-тригер має заборонений стан, коли J = K = 1. RS-тригер не має


забороненого стану.
JK-тригер не може бути скинутий або встановлений одночасно.
RS-тригер може бути скинутий і встановлений одночасно, що
може призвести до нестабільної роботи.

3. Що називається повною таблицею переходів?

Повна таблиця переходів - це таблиця, яка показує всі можливі


стани тригера на виході в залежності від його станів на вході та
синхронізуючого сигналу.

4. Як пов'язане число рядків повної таблиці переходів з числом


інформаційних входів тригера?

Число рядків повної таблиці переходів 2^n, де n - це число


інформаційних входів тригера.

5. Поясніть перехід від повної таблиці переходів до скороченої.

Скорочена таблиця переходів - це таблиця, яка показує лише ті


стани тригера на виході, які відрізняються від його станів на
вході.

6. Що називається матрицею переходів та скільки є рядків та


стовпців у
матриці переходів?

Матриця переходів - це квадратна таблиця, яка показує, як


змінюється стан тригера на виході в залежності від його стану на
вході. Кількість рядків і стовпців у матриці переходів 2^n, де n -
це число інформаційних входів тригера.

7. Які є типи синхронних тригерів та який принцип їхньої


роботи?

Синхронні тригери мають кілька типів, кожен з яких має свої


особливості роботи:

1. RS-тригер:

Має два входи: S (Set) і R (Reset).


S-вхід встановлює тригер в одиничний стан.
R-вхід скидає тригер в нульовий стан.
Синхронізуючий сигнал C дозволяє записувати дані на вихід
тригера.

2. JK-тригер:

Має два входи: J (Set) і K (Reset).


J-вхід встановлює тригер в одиничний стан.
K-вхід скидає тригер в нульовий стан.
Синхронізуючий сигнал C дозволяє записувати дані на вихід
тригера.
JK-тригер має заборонений стан, коли J = K = 1.

3. D-тригер:

Має один вхід даних D.


Синхронізуючий сигнал C дозволяє записувати значення з входу
D на вихід тригера.
D-тригер не має забороненого стану.

4. T-тригер:

Має один вхід T (Toggle).


З кожним збуджуючим імпульсом на вході T тригер змінює свій
стан на протилежний.
Синхронізуючий сигнал C дозволяє записувати дані на вихід
тригера.
Принцип роботи синхронних тригерів:

Синхронні тригери змінюють свій стан лише по фронту або


рівню синхронізуючого сигналу C.
Вхідні дані (S, R, J, K, D, T) не впливають на стан тригера, доки
не буде активовано синхронізуючий сигнал.
Після активації синхронізуючого сигналу дані з входів
записуються на вихід тригера.
Синхронні тригери використовуються для:

Побудови лічильників.
Регістрів.
Двобічних машин стану.
Демультиплексорів.
Шифрів.
Інших цифрових пристроїв.

1. Перерахуйте основні етапи синтезу цифрових автоматів.

Визначення вхідних та вихідних сигналів автомата.


Створення таблиці переходів, яка описує бажану поведінку
автомата.
Мінімізація таблиці переходів (за бажанням).
Визначення необхідних типів тригерів для реалізації автомата.
Розробка логічних функцій для керування входами тригерів.
Схематичне зображення автомата за допомогою тригерів та
логічних елементів.
Тестування та верифікація роботи автомата.

2. Назвіть послідовність укладання матриць переходів тригерних


схем.

Складання таблиці переходів для всього автомата.


Розбиття таблиці на окремі підтаблиці для кожного тригера.
Заповнення матриці переходів для кожного тригера.

3. Як необхідно враховувати взаємну залежність сигналів на


входах
тригера?

Взаємну залежність сигналів на входах тригера необхідно


враховувати при розробці логічних функцій для керування ними.
Необхідно уникати ситуацій, коли обидва входи встановлені в 1
(для деяких типів тригерів) або ситуацій, коли жоден з входів не
активний.

4. Як складається кодована таблиця переходів синтезованого


тригера?

Кодована таблиця переходів синтезованого тригера містить


наступні стовпці:
Поточний стан тригера.
Вхідні сигнали автомата.
Наступний стан тригера.
Функції збудження для входів тригера (заповнюються на основі
матриці переходів).
5. На основі матриці переходів якого тригера (що синтезується
або
базового) заповнюються стовпці функцій збудження у кодованій
таблиці
переходів?

Стовпці функцій збудження у кодованій таблиці переходів


заповнюються на основі матриці переходів синтезованого
тригера.

6. Для побудови яких операційних вузлів ЦОТ використовуються


тригери?

Тригери використовуються для побудови різноманітних


операційних вузлів цифрових оброблювальних пристроїв (ЦОП),
зокрема:

Лічильників.
Регістрів.
Двобічних машин стану.
Демультиплексорів.
Шифрів.

7. Перерахуйте основні етапи синтезу синхронного лічильника.

Визначення потрібної розрядності лічильника (кількість


тригерів).
Створення таблиці переходів для лічильника, яка описує
послідовність його станів.
Мінімізація таблиці переходів (за бажанням).
Визначення необхідних типів тригерів для реалізації лічильника.
Розробка логічних функцій для керування входами тригерів.
Схематичне зображення лічильника за допомогою тригерів та
логічних елементів.
Тестування та верифікація роботи лічильника.
Асинхронні та синхронні тригери

1. Який тригер називається асинхронним та синхронним?

Асинхронний тригер: тригер, стан якого змінюється відразу ж


після зміни сигналу на його вході.
Синхронний тригер: тригер, стан якого змінюється тільки по
фронту або рівню синхронізуючого сигналу

2. Чим відрізняється синхронізація за рівнем від синхронізації по


фронту?

Синхронізація за рівнем:

Тригер змінює свій стан, коли синхронізуючий сигнал


знаходиться в активному стані.
Активний стан може бути високим або низьким рівнем сигналу,
залежно від типу тригера.
Тригер постійно оновлює свій стан, доки синхронізуючий сигнал
знаходиться в активному стані.
Синхронізація по фронту:

Тригер змінює свій стан лише по переходу синхронізуючого


сигналу з одного рівня на інший.
Цей перехід може бути з низького на високий (фронт наростання)
або з високого на низький (фронт спадання), залежно від типу
тригера.
Тригер змінює свій стан один раз по фронту синхронізуючого
сигналу.

3. У чому відмінність між асинхронної і синхронної установкою


тригерів в
початковий стан?

Асинхронна установка: здійснюється за допомогою окремих


входів R (Reset) або S (Set), які скидають або встановлюють
тригер незалежно від синхронізуючого сигналу.
Синхронна установка: здійснюється за допомогою спеціальних
режимів роботи тригера, які активуються синхронізуючим
сигналом.
4. Що таке latch і flip-flop тригери?

Latch (засувка): асинхронний тригер, який зберігає дані на своєму


виході доти, доки вони не будуть змінені на вході або не зникне
сигнал дозволу (якщо він є).
Flip-flop (тригер): синхронний тригер, який змінює свій стан
тільки по фронту або рівню синхронізуючого сигналу.

5. У чому полягає особливість MS-структури тригерів?

MS-структура (Master-Slave) - це схема побудови тригера, яка


складається з двох послідовно з'єднаних тригерів:

Перший тригер (Master) - асинхронний, чутливий до змін на


вході.
Другий тригер (Slave) - синхронний, змінює свій стан по фронту
або рівню синхронізуючого сигналу.
Ця структура дозволяє уникнути проблем з перегонами сигналів,
які можуть виникати в асинхронних тригерах.

6. Які конструкції VHDL використовуються для опису


синтезованих
моделей асинхронних тригерів, тригерів, синхронізованих рівнем
і тригерів,
синхронізованих фронтом?

VHDL (VHSIC Hardware Description Language) - мова опису


апаратних засобів. Для опису різних типів тригерів
використовуються різні конструкції:

Асинхронні тригери: можуть бути описані за допомогою процесу,


який реагує на зміну сигналів на вході.
Синхронні тригери, синхронізовані рівнем: можуть бути описані
за допомогою процесу, який реагує на рівень синхронізуючого
сигналу.
Синхронні тригери, синхронізовані фронтом: можуть бути
описані за допомогою конструкції if разом з оператором
rising_edge (для фронту наростання) або falling_edge (для фронту
спадання) синхронізуючого сигналу.

You might also like