Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
KS_L_7.doc
Скачиваний:
9
Добавлен:
19.11.2018
Размер:
340.48 Кб
Скачать

2. Регістри

Регістром називається послідовний цифровий пристрій, що використовується для запису і зберігання n-розрядного двійкового слова. Крім зберігання деякі види регістрів можуть перетворювати інформацію, наприклад, з паралельної в часі (паралельний код) в послідовну (послідовний код) набори значень, і навпаки; з прямого коду в зворотний і навпаки; зсовувати інформацію на один або декілька розрядів у бік молодшого або старшого розрядів.

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

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

2.1 Паралельний регістр

Паралельним називають регістр, в який n-розрядне двійкове слово записується одночасно по всіх n розрядах. Аналогічним чином здійснюється прочитування збереженого в регістрі слова – одночасно по всіх його розрядах. При прочитуванні інформація, що зберігається в регістрі, зберігається, тобто видається її копія. Паралельний регістр часто іменують регістром пам'яті. Основу регістрів пам'яті складають одноступінчаті синхронні D- або RS-тригери. В цій якості можуть застосовуватися і JK-тригери. Приклад схемної реалізації чотирьохрозрядного регістра пам'яті приведений на рис. 7.5.

Рич. 7.5. Регістр пам'яті: а) схема; б) умовне зображення

Як елементи регістра тут використані синхронні D-тригери. З схеми виходить, що окремі розряди регістра пам'яті не обмінюються даними між собою. Загальними для розрядів регістра є ланцюги управління: синхронізації або дозволи запису (С) і скидання або початкової установки “0”. З принципу роботи синхронного D-тригера виходить, що розряди числа А=а3а2а1а0 запишуться у відповідні тригери тільки після подачі сигналу (імпульсу) на вхід синхронізації С, тобто при С=1. Після зміни сигналу на вході С на “0” тригери переходять в режим зберігання. В цей час на входи D тригерів можна подати наступне слово, наприклад, В=b3b2b1b0, яке при появі сигналу С=1 запишеться в регістр. Прочитування слова здійснюється з прямих виходів тригерів (можливе прочитування і з інверсних виходів – ). Для установки тригерів в нульовий стан застосовується спеціальна шина “Уст. “0”, пов'язана з асинхронними R-входами кожного тригера.

2.2 Послідовний регістр

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

Регістр зсуву є рядом послідовно сполучених тригерів, число яких визначається розрядністю записуваного в нього слова. По напряму зсуву записаної в регістр інформації розрізняють регістри прямого зсуву, тобто управо (у бік молодшого розряду); зворотного зсуву, тобто вліво (у бік старшого розряду); реверсивні регістри, що допускають зсув в обох напрямах.

Мал. 7.6. Регістр зсуву управо: а) схема; б) умовне зображення

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

При записі в регістр двійкового слова А=а3а2а1а0 перший розряд слова (а0), подається на вхід крайнього лівого тригера (Т3), що є одночасно входом регістра в цілому, і записується в нього під час вступу першого сигналу (імпульсу) синхронізації С. З приходом наступного сигналу синхронізації значення а0 з виходу розряду Q3 вводиться в розряд Q2, а в розряд Q3 поступає а1.

З приходом кожного чергового синхроімпульса проводиться зсув поступаючої інформації на один розряд управо. Після четвертого синхроімпульса регістр виявляється заповненим розрядами слова А і перший розряд слова (а0) з'явиться на виході Q0. Якщо подати на регістр ще одну послідовність з чотирьох синхроімпульсів, встановивши при цьому на його вході рівень “0”, то з регістра (з виходу Q0, що є виходом регістра в цілому) послідовно виводитимуться розряди слова А і регістр буде звільнений від збереженого слова А (очищений).

Таким чином, в процесі зсуву інформації кожний тригер Тi регістра: а) передає збережену інформацію на тригер Тi-1, б) змінює свій стан за рахунок прийому інформації від тригера Тi+1. Передача інформації з тригера Тi і зміна його стану не можуть відбуватися одночасно. Тому основна складність реалізації операції зсуву полягає в розділенні в часі виконання вказаних етапів в кожному розряді (тригері) регістра. Ця складність виключається за рахунок використовування синхронних тригерів з динамічним управлінням записом (як показано на рис. 7.6) або двухступінчатих тригерів, внутрішня організація яких передбачає розділення в часі етапів прийому вхідної інформації і зміни вихідний.

На мал. 3 приведена схема регістра зсуву вліво, побудована на двухступінчатих D-тригерах. Комбінуючи схеми зсуву управо і вліво і використовуючи управляючі сигнали, можна побудувати реверсивний регістр.

Рис. 7.7. Регістр зсуву вліво

Регістри зсуву (Рис. 7.7) дозволяють забезпечити перетворення послідовного коду в паралельний – достатньо в схемі передбачити виходи від всіх розрядів (на мал. 2 показані пунктирними лініями).

Регістр зсуву легко перетворюється на кільцевий регістр при з'єднанні виходу останнього розряду з входом першого (рис. 7.7). Для забезпечення інших видів запису і прочитування застосовуються комбіновані регістри, приклад реалізації одного з яких приведений на рис. 7.9. Тут двухступінчаті логічні елементи І-АБО при V=1 забезпечують після подачі тактового імпульсу на вхід С передачу сигналу з i-го в i-1-ий тригер, а при V=0 забезпечується запис в регістр сигналів, що є паралельним кодом. Прочитування записаного довільним способом слова можливе як у вигляді паралельного коду (Q0,Q1,Q2,Q3), так і у вигляді послідовного коду при подачі чотирьох тактових імпульсів.

Рис. 7.9. Комбінованний регістр

Методичний приклад

Побудуємо паралельний 4-х розрядний регістр(рис. 7.10)

Рис. 7.10 – Паралельний 4-х розрядний регістр

Виходи регістру:

  • CLK - вхід тактового сигналу;

  • Enable - вхід дозволу завантаження даних;

  • Set - вхід асинхронної установки регістру;

  • Reset - вхід асинхронного скидання регістру;

  • D [4 .. 1] - чотирирозрядний вхід даних;

  • Q [4 .. 1] - чотирирозрядний вихід даних.

Текстовий опис регістру в AHDL, створюємо файл rg4.tdf:

SUBDESIGN RG_4

(

d[4..1], enable,clk: INPUT;

q[4..1]: OUTPUT;

)

VARIABLE

ff[4..1]: DFFE;

BEGIN

ff[4..1].clk = clk;

ff[4..1].ena = enable;

ff[4..1].d = d[4..1];

q[4..1] = ff[4..1].q;

END;

У наведеному описі до примітиву тригера (DFFE) звертаються як до змінної: оголошені чотири змінні FF [4 .. 1], кожна з яких позначає DFFE тригер з входом дозволу роботи.

Після цього створюємо файл з розширенням lab7.gdf, куди вкладаємо відповідний новостворений регістр. Слід зауважити, що дані вводяться за допомогою вхідної шини D[4..1] і виводяться за допомогою вихідної шини Q[4..1]. (рис. 7.11)

Рис. 7.11 – Структура паралельного 4-х розрядний регістру в графічному редакторі

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]