Лекція 8. Проектування регістрів на синхронних тригерах

Регістром називають операційний вузол, призначений для запису, збе­рігання та видачі слів, а також для виконання мікрооперацій над ними.

Регістр складається із запам'ятовувальних елементів (тригерів). Кількість розрядів (тригерів) регістра називають його довжиною. Узагальнена структура регістра показана на рисунку 3.7, де КС- комбінаційна схе­ма, Х1,…,Хn- інформаційні входи регістра, Z1,…,Zn - інформаційні виходи, Y1,…,Ym - сигнали мікрооперацій; аі,...,an; bi, …, bn- входи функцій збу­дження тригерів, С - тактовий сигнал, n - довжина регістра.

Регістри можна будувати на різноманітних тригерах: RS-, JK-; D-, Т-тригерах [5].

 
 

 

 


Рисунок 3.7 – Узагальнена структура регістра

 

Тригери можуть мати різну організацію - синхронні, асинхронні, з внутрішньою затримкою, тощо. Складність КС залежить від виду виконуваних мікрооперацій та від типу тригера. Регістри, на яких реалізована мікрооперація зсуву, називають регіст­рами зсуву. Регістри, що забезпечують зсув слова як вліво, так і вправо, називають реверсивними регістрами.

Найчастіше на регістрах виконують такі мікрооперації [7]:

RESET () - встановити всі розряди регістра в ‘0’. Для виконання цієї мікрооперації доцільно використати асинхронні входи R тригерів.

SET () - встановити всі розряди регістра в ‘1’. Для виконання цієї мікрооперації доцільно використати асинхронні входи S тригерів.

WRITE () - запис слова в регістр:

, (3.3)

де– значення сигналу на і-му вході регістра в момент часу t, – стан і-го тригера після виконання операції.

AND () - порозрядна кон'юнкція двох слів:

(3.4)

OR () - порозрядна диз'юнкція двох слів:

(3.5)

XOR () - порозрядна сума двох слів за модулем два:

(3.6)

СОМ () - порозрядна інверсія слова:

(3.7)

SLL () - логічний зсув слова на 1 розряд вліво:

, (3.8)

де ;

DR- вхід заповнення молодшого розряду регістра.

SRL () - логічний зсув слова на 1 розряд вправо:

, (3.9)

де ;

DL – вхід заповнення старшого розряду регістра.

RL () - циклічний зсув слова на 1 розряд вліво:

, (3.10)

де .

RR () - циклічний зсув слова на 1 розряд вправо:

, (3.11)

де .

Видача слів (стан регістра не змінюється):

READ () - видача слова у прямому коді (див. рис. 3.8, а):

(3.12)

RDCOM () – видача слова в інверсному коді (див. рис. 3.8, б):

(3.13)

RDPAR () – видача слова у парафазному коді (див. рис. 3.8, г):

(3.14)

Проектування регістрів на тригерах заданого типу зводиться до синте­зу КС, яка формує функції збудження тригерів під час виконання заданих мікрооперацій, а також забезпечує видачу інформації з регістра.

 
 


а) б)

 
 


в) г)

Рисунок 3.8 – Видача інформації з регістра (показано один розряд регістра): а) - видача слова у прямому коді; б) - видача слова в інверсному коді; в) - видача слова у пря­мому або інверсному коді; г) - видача слова у парафазному коді

Синтез КС, яка забезпечує виконання 1 мікрооперації у випадку засто­сування асинхронних тригерів (асинхронний тригер не має тактового вхо­ду), виконується в такій послідовності.

1. Взяти таблицю функцій збудження заданого типу тригера.

2. Скласти повну таблицю переходів і-го розряду регістра при виконанні заданої мікрооперації; у кожному рядку одержаної таблиці необхід­но записати значення функції збуджений тригера і-го розряду, а також знайти МНДФ функцій збудження тригера і подати у відповідній операторній формі згідно із заданим елементним базисом.

3. Побудувати функціональну схему регістра.

Якщо на регістрі виконується одна з мікрооперацій Y12 – Y14, то синтез КС відсутній і відповідні КС виглядають, як показано на рис. 3.8.

Функції збудження RS-, T-, JK-, та D-тригера подано в табл. 3.12 - 3.15.

Таблиця 3.13 – Таблиця функцій збу­дження T-тригера  
Таблиця 3.12 – Таблиця функцій збу­дження RS-тригера  

 

Q(t) Q(t+l) FR FS   Q(t) Q(t+l) FT
*  
 
 
*  

 

Таблиця 3.15 – Таблиця функцій збу­дження D-тригера  
Таблиця 3.14 – Таблиця функцій збу­дження JK-тригера  

 

Q(t) Q(t+l) FJ FK   Q(t) Q(t+l) FD
*  
*  
*  
*  

У випадку побудови регістра на асинхронних тригерах, на якому вико­нуються декілька мікрооперацій, узагальнені функції збудження тригера є диз'юнкцією однойменних функцій збудження, що відповідають окремим мікроопераціям.

Припустимо, що на асинхронних Т-тригерах необхідно побудувати 4-розрядний регістр для виконання на ньому мікрооперацій WRITE(Y3) - запис слова в регістр, OR(Y5) - порозрядна диз'юнкція двох слів та READ(Y12)- видача слова у прямому коді.

Користуючись таблицею функцій збудження Т-тригера, заповнюємо повну таблицю переходів і-го розряду регістра спочатку для випадку ви­конання мікрооперації WRITE(Y3) (див. табл. 3.16). При Y3=0 мікрооперація не виконується, тому у стовпці Qі(t+l) для кожного рядка повторюємо значення Qі(t). При Y3=1 стовпець Qi(t+l) заповнюємо у відповідності з виразом зазначеної мікрооперації WRITE(Y3), яка задається рівнянням .

 

Таблиця 3.16 – Повна таблиця переходів і-го розряду регістра

при виконанні мікрооперації WRITE(Y3)

 

Y3 Xi(t) Qi(t) Qi(t+l) F(Y3)

 

Керуючись таблицею функцій збудження Т-тригера, заповнюємо стовпець FТі (Y3) таблиці 3.16, наприклад:

Мінімізуємо функцію збу­дження FTі(Y3) (див. рис. 3.9).

МНДФ функції збудження має вигляд:

(3.15)

 
 

 


Рисунок 3.9 – Діаграма Вейча мінімізації функції збудження FТі

 

Тепер побудуємо повну таблицю переходів (див. табл. 3.17) і-го розряду регістра для випадку виконання мікрооперації OR(Y5), яка реалізує рівняння .

Функція збудження і-го розряду регістра має вигляд:

(3.16)

Узагальнена функція збудження і-го розряду регістра має вигляд:

(3.17)

Для мікрооперації READ ():

Таблиця 3.17 – Повна таблиця переходів і-го розряду регістра

при виконанні мікрооперації OR(Y5)

 

Y5 Xi(t) Qi(t) Qi(t+l) F(Y5)

 

Функціональна схема і-го розряду регістра показана на рисунку 3.10 (усі розряди регістра ідентичні).

 

 


Рисунок 3.10 – Функціональна схема і-го розряду регістра, на якому виконуються мікрооперації WRITE(Y3), OR(Y5) та RЕAD(Y12).

 

Розглянемо синтез регістрів на синхронних тригерах.

У регістрах на синхронних тригерах на комбінаційну схему (КС) спочатку подають потенціальний сигнал мікрооперації Yі=1 (рис. 3.7).

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

Якщо на регістрі виконується тільки одна мікрооперація, то у повну таблицю переходів і-го розряду регістра не включають значення сигналу мікрооперації Yі. Цей сигнал подають безпосередньо на тактові входи всіх тригерів і він виконує функцію синхросигналу.

Якщо на регістрі, побудованому на основі синхронних тригерів, виконуються декілька мікрооперацій, то синтез КС залишається таким самим, ям і для випадку асинхронних тригерів (для кожної мікрооперації функції збудження тригерів знаходять окремо, а потім об'єднують їх знаком диз’юнкції).

При побудові регістрів на синхронних тригерах сигналом управління є тактовий сигнал (синхросигнал), а не сигнали мікрооперацій, як у випадку побудові регістрів на асинхронних тригерах.