Джон Ф.Уэйкерли Проектирование цифровых устройств. Том I (2002) (1095889), страница 180
Текст из файла (страница 180)
8.4. Счетчики 819 ЦА: (СЬЯ Ь Р СЬЯЬ Р СЬЯ 1. е сья ь а ьо ь а вит а АМР й !ЦО й ЦС й ЦВ й ЦА й !ьоьйо а ьо . А цо й ьцв а ьв ' а цо а !Цс а 1л ь а 1вив а цо й (л 1. й !Еит а цо йьвьацвй1цА); цо :- (сья ь й1л аяитакига г№А а ьо ь й !ЕиР й цА й ьл 1.
й 'кит й цА й ! ЬО Ь й А); № сьяь №сьяь № сья.ь » сья ь № С1.Я 1. а сья ь й ьз ь й кит а яиР й !СВ а цА й ьо ь й цв а !цА а ьо ь а !ьиг й цв а ьо ь а вит а цв й !Ай ь й в1; цв ;- (сья ь А СЬЯ Ь й сья ь й сья ь А СЬЯ Ь ясо- (китацоацсйцвацй): й ьо ь й еит й яиР й !цс й цв й цА а ьв 1 й цс й !цА й ьоть а цс а гцв й ЬО 1. й !ЯИР й ЦС й ьвлз а кит а цс й !ьвьйс); цс := (сьв Ь а сья ь № С1Л Ь А Яа1. «сьяь й сья ь В табл. 8.
13 представлены минимизированные логические равенства, которые генерирует компилятор языка АВЕЕ для 4-разрядного счетчика. Заметьте, что при переходе в сторону старших разрядов каждому следующему выходному сигналу требуется на один терм-произведение больше. В результате этого размер счетчиков, которые можно реализовать в ПЛУ ! 6Ч8 или даже 20Ч8 обычно ограничен пятью или шестью разрядами.
В других устройствах, в том числе в ПЛУ Х-серии и в некоторых ИС типа СРЬР, имеется структура ИСКЛЮЧАЮЩЕЕ ИЛИ, позволяющая строить ббльшие по размерам счетчики без увеличения требуемого числа термов-произведений. Проектирование счетчика с заданной последовательностью состояний на языке АВЕ1. много проще, нежели приспособление для этих целей обычного двоичного счетчика. Например, АВЕ(:программу из табл. 8. ! 2 можно заставить считать в коде с избытком 3 (см.
рис. 8.38), следующим образом изменив равенства: СООИТ := )СОН й ( ьО й 1МРОТ № !1.О А (ЕИТ й ЕМР) а ((СООИТ =12) й 3) № ((СООМТ! 12) й (СООМТ + 1)) № !ы й !(емт а еиР) й сООит)! нсО = (сопит 12) а емт; Чтобы получить счетчики с ббльшим числом разрядов, можно включить не~колько ПЛу последовательно, предусмотрев в каждом каскаде выходной сигнал переноса, служащий индикатором того, что счетчик в этом каскаде собирается начать счет сначала. Существует два основных подхода к вырабатыванию сигнала переноса; 1(омбина1(ионный выходной сигнал переноса (соть!паг!опа! сапу оигри1) указывает, что счет разрешен и в данный момент счетчик находится в своем последнем состоянии перед тем, как начать счет сначала.
Для 5-разрядного счетчика при счете в прямом направлении имеем: Табл. 8-18. Мипимизированпью равенствадли 4-разрядного двоичного счет- чика из табл. 8.12 820 Глава 8. Практическая разработка схем последовательной логики СОСТ = С1ЯТЕИ Ь 04 й 03 Ь 02 ь 01 Ь О01 поскольку правая часть равенства содержит сигнал сытей, такой подход допускает сквозной перенос в многокаскадных счетчиках, если выход со0т в каждом каскаде соединен с входом снтее в следующем каскаде. ° Правая часть равенства для сигнала переноса на регистровом выходе (ге8мгегеы сапу оигриг) указывает, что следующим состоянием счетчика будет последнее его состояние перед тем, как счет начнется сначала.
Таким образом, на следующем такте счетчик входит в свое последнее состояние н сигнал переноса переходит на активный уровень. В случае 5-разрядного счетчика с входами загрузки и сброса имеем: СООТ :- "'СЬЕ й 'Ь0 й СЛТЕИ й 04 й ЦЗ й Ц2 й 01 й 'ЦО В 'СЬЕ х '10 я 'СИТЕЛ й Ц4 й ЦЗ й Ц2 й 01 й ЦО В 'СЕР й 10 й 04 й 03 й 02 й 01 й 00; Достоинство второго подхода заключается в том, что сигнал СОСТ вырабатывается с меньшей задержкой, чем при комбинационном подходе. Но теперь требуются внешние вентили между каскадами, поскольку сигнал СИТЕК в каждом каскаде должен быть результатом объединения по И главного сигнала разрешения счета и выходных сигналов СОСТ всех каскадов, младше данного. Необходимости помещения внешних вентилей можно избежать при наличии у старших каскадов счетчика нескольких входов разрешения.
8.4.6. Описание счетчиков на яэыке УНТЕ Как и язык АВЕЬ, ЧНОЬ позволяет совсем легко описывать счетчики. Наибольшее затруднение при этом может возникнуть только из-за строгих требований в языке ЧНОЬ к типам сигналов, которые должны быть определены правильно и последовательно. В табл. 804 представлена ЧНРЬ-программа для двоичного счетчика типа 74х163.
В программе используется библиотека 1ЕЕЕ. зтс1 1одзс агзтй. а11, включающая тип 0ИЕТййЕО, как зто было объяснено в разделе 5.9 б. Зта биб. лиотека содержит определения операторов '*+" и "— ", посредством которых выполняются сложение н вычитание без знака операндов типа СНЯ1ОИЕО. В программе для счетчика входы и вгаходы счетчика объявлены как векторы типа СИЕ10ИЕ0, а с помощью оператора "+" осуществляется требуемое инкрементирование содержимого счетчика. Для хранения содержимого счетчика в программе определен внутренний сигнал 10. Можно было бы использовать для этого сигнал 0 непосредственно, н ,но тогда мы должны были бы объявить его выходным сигналом типа 1эо11ег, а не опт. Кроме того, мы могли бы определить тип портов 0 и 0 как ят0 ЕО61с честОЕ, но тогда нам пришлось бы выполнять преобразование типов в теле процесса (см.
задачу 8.51). 8.4. Счетчики 821 Табл. 8.! 4. ЧНРРпрограмма для 4-разрядного двоичного счетчика типа 74х163 ! Ьгату 1ЕЕЕ, иее 1ЕЕЕ етй ХоЕзс 1164 а11; ияи 1ЕЕЕ.еип !об!с агзтв а11; еиехву Ч74х163 зе Рити ( СЬК, СЬН Ь, ЬО Ь, ЕКР, ЕИТ' зп ЗТ0 ЬОО1С, О. зп ОМЗ1СНЕО (3 повито О), Ц. сит ОЬЯ1ОЬЕО (3 повито О), НСО ' С ЗТО 1,ООТС ), епд Ч74х163; аг<Ь>весииге Ч74х163 вгсв от Ч74х163 зв взЕиа! 10 ОМ31ОМЕО (3 повито О); Ьебти Ртосееа (СЬК, ЕЧТ, 10) иебз и (СЬК'ичеис аип С!.К='1') свеи зг СЕН Ь='О' спел 10 <= (отпеге => 'О'); е1взт ЬО Ь='О' свеи 1Ц <= 0; е1взт (Ейу апп ЕМР)='1' тпеи 10 <= 10 + 1; еиа зт, еип зХ; (10=16) апг! (ЕМТ='1') Свеи ЕСО <= '1', е1ве ЕСО <= 'О', еид з!, 0 <= 10, еиа Ргосеве; еиг( Ч74х163 агсп; Воспользовавшись поведенческим описанием на языке ЧНРЬ, столь же легко, как и на языке АВЕЬ, задать определенную последовательность состояний В табл 8.15, например, счетчик типа 74х!63 видоизменен таким образом, чтобы счет происходил согласно коду с избытком 3 (3, , 12, 3, ...).
К сожалению, некоторые ЧНРЬ-средства синтезируют счетчики не совсем удачно. В частности, они пытаются реализовать одиночный шаг в счете посредством двоичного сумматора, операндами которого служат содержимое счетчика и константа, равная Ь При таком подходе требуется много больше комбинационной логики, чем в счетчиках, изготовляемых в виде отдельных ИС, и этот подход оказывается особенно расточительным применительно к ИС типа .РЬР и ЕРОВА, содержащим Т-триггегы, вентили ИСКЛЮЧАЮ!ЦЕЕ ИЛИ и другие структуры, специально оптимизированные для построения счетчиков.
В этом случае полезной альтернативой является написание структурной ЧНРЬ-программы, ориентированной на имеющиеся в наличии ячейки в тех конкретных ИС типа СРЬР и И%А или в специализированных ИС, в которых предстоит реализовать проектиРуемое устройство. 822 Глава 8. Практическая разработка схем последовательной логики Табл.
8.18. ЧН0Ь-архитектура для счета в порядке, задаваемом кодом с из- бытком 3 аг<ЫХаоапга у74хаз аг<Ь ог' у74х163 та а18па? Щ: ОИЗ?ОИЕО (3 6овпсо О); ьаЕгп ртооеаа (СЬК, ЕИТ, ?Ц) ЬаЕ?п 11 С?К'отава ап6 С!.К '1' Хвеп 11 СЬК„Ь '0' +Ьап Щ <= (охьага > '0'); а1а?1 "0 1='0' гьао ?Ц <= 0; а1а11 (еит аг6 еир)='1' апл (?0=12) :ьап ?ц <= О 0','0', 1'„ 1 ), е?атт (ЕИТ аг6 ЕИР) '1' Хвап Щ < Щ + 1; епд 11; 6 11; 1? (?Ц 12) ап6 !КИТ='1') твап НСО < '1'; а?ае КСО <= '0'; ап6 11; Ц < ?Ц; ап6 ргасеаа; еп6 У74хаЗ агсЬ; СЬК Ь0)ЧОСЬР! Тактовый сигнал, общий для всех каскадов. Общий для всех каскадов сигнал, принимающий единичное зна- чение, когда на вход счетчика ЬВ сигнал подан, а сигнал С!Я от- сутствует.
Общий для всех каскадов сигнал, принимающий единичное зна- чение, когда отсутствуют сигналы на обоих входах счетчика СЬР и Ь0. ЙОС~ЯОВ( 0 Общий для всех каскадов сигнал, равный ), если на вход счетчика Е)ЧР подан сигнал разрешения. Индивидуальный входной сигнал загрузки данных 1-й ячейки. Индивидуальный последовательный входной сигнал разрешения счета 1-й ячейки. Индивидуальный последовательный выходной сигнал разреше- ния счета 1-й ячейки. СЙТЕЙР О! СР!ТЕ)4! СМТЕР)!+ ! Цй Индивидуальный выходной сигнал счетчика в ~'-м разряде.
В табл. 8. ! б приведена т'НОЬ-программа, соответствующая схеме одноразряд ной ячейки, показанной на рис. 8.45. В этой программе предполагается, что о 0- триггер в виде компонента ч<)11<?<?п уже определен; он подобен 0-триггеру нз Одноразрядную ячейку для счетчика типа 74х!бЗ можно построить, например, так, как показано на рис. 8.45. Эта схема рассчитана на последовательное распространение битов переноса, так что ею можно воспользоваться в любом каскаде произвольно большого счетчика; единственным ограничением будет коэффициент разветвления по выходу источников сигналов, являю1цнхся общими для всех каскадов.
Определения сигналов в одноразрядной ячейке таковы: 8.4. Счетчики 823 табл. 8.6 с добавлением инверсного выхода ОЫ. При проектировании на основе специализированной ИС или ИС типа РРОА тил компонента, являющегося триггером, следует выбрать из библиотеки стандартных элементов производителя, с'к— гоноал— о:— чос яояю— снмнР— снтси— ситам 1 рис. 8.45.
Одноразрядная ячейка для синхронного счетчика с последовательным переносом типа 74х163 Табл. 8.16. ЧНО1.-программа для ячейки, показанной на рис. 8.45 11Ьтату 1ЕЕЕ„. пее 1ЕЕЕ. вес 1о81с 11Е4, а11; епсАсу вупсвегсе11 Ав ротМ С1.К, ЬОИОСЬК, ИОСЫОКь0, СИТЕМР, О, СИТЕК: Ап ЯТО Ь001С; ситеиО, 0: опс Ятр 0061с ); епо вупсеетсе11; атсйзсессите вупсеетсе11 атсЬ оХ вупсветсе11 за сооропепс Чййтооп Ротс1 СЬК, 0: зп ЯТО Е001С; О, ОИ.' опс ЯТО 0001С ); епо сошропепп; вайта1 00АТ, СОАТ, 01И, 0 1.: ЯТО 1.001С; Ье81п ЬОАТ с ЫИОСЕН ппо 0; СОАТ с ИОСЬИОЕЕО аш1 1(СИТЕИР апо СИТЕК) хок пес 0 1.); ОТИ < 1.0АТ СОАТ; СИТЕИО <= (псе 0 0) епе СИТЕИ; 01: уозтддп ротс вар (СОК, 01И, О, 0 Ы; епо вупсветсе11 атсйч В табл. 8.17 показано, как на основе рассмотренной одноразрядной ячейки строится 8-разрядный синхронный счетчик с последовательным переносом.
Первым и двумя операторами присваивания в теле архитектуры синтезируются общие для всех разрядов сигналы 1РИООТ н и ИОсЕнон00. Следующие два оператора отражают граничные условия для последовательной цепочки разрешения счета. Наконец, оператор депегасе (см. раздел 5.11.3) реализует восемь 1-разрядных ячеек счетчика и связывает между собой звенья цепочки разрешения счета. 824 Глава 8.