Лабораторний практикум з дослідження цифрових пристроїв на основі САПР MAX+PLUS II, страница 67

У таких макрофункціях обов’язковими є лічильний вхід CLК (або два лічильні входи UP іDN) та вхід скидання CLR(символи 1 ... 6), часто є також вхідLD асинхронного передустановленнядо потрібного стану зі входів A, B, C, … у паралельному коді (символи 3, 5, 6). Класичні лічильники є паралельними за схемою на рис. 8.3, б); при цьому в корпусі ІС можуть міститися кілька груп паралельних лічильників з окремими лічильними входами. Послідовним з’єднанням груп з одного і трьох розрядів (символи 1, 2, 3) можна утворити лічильники на 1...4 розряди, а додаванням ще чотирирозрядної групи (символ 2) – лічильники на 1...8 розрядів. Проте за браком спільного синхровходу утворені таким чином лічильники є асинхронними, з проміжними станами під час зміни вихідного коду. Цього недоліку позбавлена низка ІС 8-розрядних паралельних лічильників, у тому числі з додатковими функціями. Прикладом є лічильник (символ 4) з вихідним регістром (його синхровхід RCLK, по виходах QAQH формується вихідний перенос RCON), дозволом CCKEN на проходження лічильних імпульсів CCLK, асинхронним скиданням CCLRNта трьома станами виходів (керуються сигналом GN).

Реверсивні двійкові лічильники виконано, як правило, за схемою на рис. 8.6, а) (символ 5), інколи за схемою на рис. 8.6, в (символ 6).

8.1.3  Лічильники з довільним модулем лічби

8.1.3.1 Перетворення двійкових лічильників у недвійкові

Якщо в n-розрядному двійковому лічильнику з модулем 2n виключити Мн = 2nМ надлишкових станів, то він перетвориться в недвійковий з модулем М < 2n. Тому потрібна кількість розрядівn двійкового лічильникадля утворення недвійкового з модулем М обчислюється в САПР як

n= Ceil(log2M),                    (8.4)

де Ceil(ceiling – стеля) – найближче ціле число, що не менше виразу в дужках, наприклад, Ceil(log25) = 3. Або простіше вручну розрядність можна визначити з умови

                                                      2n-1 <  М < 2n,                       (8.5)

наприклад, недвійковий лічильник з модулем М = 5, виходячи з 22 <5 < 23, можна утворити з трирозрядного двійкового лічильника, якщо усунути   Мн = 2nМ = 23 – 5 = 3 надлишкові стани.

Є декілька методів перетворення двійкових лічильників у недвійкові залежно від способу усунення надлишкових станів. Лічильник з природним порядком лічби утворюється виключенням старших надлишкових станів N = M,… , 2n – 1 шляхом примусового скидання двійкового лічильника. Принцип такого перетворення розглянемо з самого початку. На ІС жорсткої структури приступними є лише її зовнішні виводи, зокрема, вхід скидання двійкового лічильника R і виходи, з яких знімається код N. З надходженням лічильних імпульсів С вихідний код зростає в межах N= 0, 1, ..., М і перетворюється в дешифраторі в унітарний код. Коли на виході, номер якого збігається з модулем лічби М, з’являється активний рівень RM, лічильник скидається до нуля і далі цикл лічби повторюється. Стан N = М, в якому лічильник перебуває короткочасно, не використовується, тому кількість фіксованих станів N = 0, 1, ..., М – 1 становить потрібний модуль лічби М. Програмований лічильник за методом примусового скидання двійкового лічильника можна побудувати заміною дешифратора на цифровий компаратор (рис. 8.9, а). Коли, під час лічби вихідний код N сягає потрібного модуля M, сигналом RM лічильник обнуляється, а з надходженням наступних імпульсів на вхід C цикл лічби повторюється.

8.1.3.2 Лічильники зі зворотними зв’язками

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