Джон Ф.Уэйкерли Проектирование цифровых устройств. Том I (2002) (1095889), страница 100
Текст из файла (страница 100)
Это уменьшает число требуемых термов-произведений до пяти прн любой полярности выходных сигналов. Табл. 5.10. Фрагмент программы на языке РВЕЬ иллюстрирующий логику с двумя проходами 5.4.Дешифраторы 429 Помимо того, что приходится жертвовать выводом ради вспомогательного выхода, недостатком зтого варианта, является меньшее быстродействие. Любые изменения входных сигналов, входящих во вспомогательное выражение, должны пройти через ПЛУ дважды, прежде чем они достигнут конечного выхода. Этот метод реализации называется логикой с двумя проходами (ого-раи !о8!с).
Многие программные средства синтеза, ориентированные на ПЛУ и схемы РРОА, могут автоматически реализовать логику с двумя или большим числом проходов, если заданное выражение нельзя реализовать за один проход через логическую матрицу. Дешифраторы могут быть заказными и иметь другой алгоритм работы. Обычно у заказных дешифраторов сигнал на одном из выходов соответствует декодированию нескольких входных комбинаций, Предположим, например, что вам необходимо создать набор разрешающих сигналов в соответствии с табл. 5.11.
Для реализации заданной функции можно расширить возможности стандартного дешифратора 74х! 3 8, как показано на рис. 5.42. У зтого подхода, который потенциально является менее дорогим, чем применение ПЛУ, есть недостатки, состоящие в том, что для формирования заданных выходных сигналов требуются дополнительные компоненты, это вызывает дополнительную задержку и построенную схему не так просто изменить. Табл. 5.11.
Таблицанстннностидля заказногодешифратора СВ Ь НО А А1 и Ра выходы Решение той же самой задачи на основе ПЛУ показано в табл. 5.12. Заметьте, что в зтой программе для обозначения выводов с низким активным уровнем сигнала применен способ, описанный выше в рамке (вам стоит научиться свободно оперировать с любыми обозначениями), Для реализации каждого нз последних шести соотношений требуется один вентиль И в ПЛУ. Транслятор языка АВРЬ минимизирует также логическое выражение МАНУ, чтобы реализовать его с помощью только одного вентиля И. Выходные сигналы с высоким активным уровнем можно было бы получить путем изменений только двух строк в разделе объявлений: р1п19, 18, 17, 161всуре 'сом'! рьп 15, 14, 13, 12 Тзтуре 'сои'! 0111| ИАЕУ, .ТРАн, РАРЬ АННА, ГРЕР, РАЧЕ, КАТЕ 1 х 0 0 0 0 0 0 0 0 х х х х х х 0 0 0 О 0 1 0 1 0 0 ! ! 1 0 0 1 0 ! 1 ! 0 1 1 ! нет нет В!Ь 1., МАНУ 1 МАНУ ~ КАТЕ ! ЮАЫ Ь РА01 1.
Ай!чА !. РНЕР 1. ВАЧЕ 1 КАТЕ 1. 430 Глава 5. Практическая разработка схем комбинационной логики ВН!. Ь МАНУ Ь СЗ !. НВ !. АО А! А2 КАТЕ Ь рис. 5.42. Схемазаказногодешифратора Табл. 5.12. ПрограммазаказногодешифраторанаязыкеАВЕЬ воап1е СОБТИВЕС Пйс1е 'Спвсоа1аеа песочек РЬВ Б. 'ка)гег1у, БпапХогй Оп1теге1пу' СОЯТМВЕС аеуйсе 'Р16Ь8'; Р1п 1, 2, 3, 4, 6; рйп 19, 18, 17, 16 1всуре 'соа'; рпв 16, 14, 13, 12 Аепурв 'СОа'; АО); АО); епд СОЯТИВЕС Другой способ записи соотношений приведен в табл. 5.13. В большинстве прикладных задач этот стиль более понятен, особенно в том случае, когда сигналы на входах выбора одного из выходов имеют числовое значение. 1прпс рппв !СБ, (НВ, АО, А1, А2 Оппрпе р1пе !81ЬЬ, !МАНУ, !ЗОАИ, !РАгЛ !АИИА, !РНЕО, !ВАЧЕ, !КАТЕ еИпас1опв В?ЬЬ = СБ й НО й (!А2 й !А1 МАНУ = СЯ й НВ й (!А2 й !А1 КАТЕ = СБ й НВ й (!А2 й !А1 ЛОАН = СБ й НО й (!А2 й А1 РАОЬ СБ й НВ й (!А2 й А1 АИИА = СБ й НВ й ( А2 й !А1 РЕЕВ = СБ й НВ й ( А2 й !А1 ВАЧЕ = СЯ й НВ й ( А2 й А1 й !АО); й !АО В !А2 й !А1 й й АОВ А2й А1й й !АО)," й АО); й (АО) й АО); й !АО); ЮАМ ! РАОЬ !.
АЫНА Ь РНЕО !. ОАЧЕ Ь 5.4. Дешифраторы 431 Табл. 5.1Б. Эквивалентные равенства для заказного дешнфратсра на языке АВЕ АРРК = (А2,А1,АО); 5.4.7. Описание дешифраторов на иузыке ТУН01. Существует несколько подходов к проектированию дешифраторов ив языке ч'НП) . В простейшем случае следовало бы записать структурный эквивалент принципиальной схемы де шифратора, как зто сделано в табл.5. 14 лля полного дешифратора 2х4, приведенного на рис. 5.32. Предполагается, что компоненты а ос(3 и 10 0 уже существуют в микросхеме, для которой пишется программа. Конечно, таюе механическое преобразование существующих устройств в эквивалент в виде списка соединений в первую очередь убивает желание пользоваться языком УНШ.. Табл.
5.14. Структурная программа дешнфратора, изображенного на рнс. 5 32, на языке 1(г(()(. 11Ьквгу 1ЕЕЕ; свв 1ЕЕЕ.вг» )окко 1164.411; евг1Су Ч2га4»ес 1| роге (10, 11, ЕИ: гв ЗТО 10010; УО, У1, Т2. УЗ: авс ЗТО 1001С ); ева Чзгоаавс; вгсьссвссвгв ч2со4»ес в ак ч2соаавс 1в 413 1 Иат10.
ИОтн: Зто ЬООТС; совровевс 1ог роге (1: св ЗТО 10010: 0: овс ЗТО„1.001С ); ева совровевс; совровесг вваз рогг (10, 11, 12: 1в ЗТО ЬООТС; 0: овг ВТО (0010 ); вв» совровевг: Ьеакв Щ: 1вг рокс ввр (10,ИОТ10); 02: 1оч рогг ввр (11,ИОТ11); 03: вв»З роге ввр (ИОТ1О,ИОТ11,ЕИ,УО); 04: во»3 рокс ввр ( 10,ИОТ11,ЕИ,У1); 03: вв»3 рагС ввр (ИОТ10, Ы,ЕИ,У2); вваз роге ввр ( 10, Ы,ЕИ.УЗ); ева Чгсоааес в; вс(иас1овв ВХ?Л = СЯ й Ю й (АРОК МАКУ СБ й Ю й((АРРК КАТЕ - "СЯ й Ю й((АРРК )РАК = СЯ й Ю й (АРОК РАЖ СБ й КР й (АРОК АЕЕА = СЯ й Ю й (АРОК РКЕР = СЯ й Ю й (АРРК РАЧЕ = СБ й Ю й (АРОК О); О) а (АРРЕ "= 1))' 1) а (АРОК = 7))1 2); 3); 4); 5); б): 432 Глава 5.
Практическая разработка схеаа комбинационной логики Вместо этого хотелось бы написать программ)~, в которой язык ЧНОЬ был бы использован так, чтобы сделать проектирование дешнфратора более понятным и удобным. В табл. 5.15 продемонстрирован один из подходов к написанию программы полного дешифратора Зх8, эквивалентного дешифратору 74х138, на языке ЧН1)Ь в стиле потокового проектирования. Адресные входы А (2 т)оного О) и декодированные выходные сигналы с низким активным уровнем у ь (О со 7) ради удобства чтения представлены в виде векторов.
В операторе зе1ес с перечислены восемь случаев декодирования, в каждом из которых 8-разрядному внутреннему сигналу х ь 1 присваивается соответствующая комбинация входных сигналов с низким активным уровнем. Эта комбинация присваивается фактическому выходному сигналу схемы У 1 только в том случае, когда сигналы на всех входах разрешения активны. Табл. 5.15.
ЧН()Ь-программа полного дешифратора Зх8 типа 74х138 в стиле потокового проектирования 11ьтаху 1ЕЕЕ; ава 1ЕЕЕ.вта 1ойас„1184.а11; аах1ау ттях138 ха рохх (01, 02А 1., 023 )п Аа ЗТ0 1.001С; Ат )л ЗТ0„10010„ЖЕСТОК (2 оояато 0); Т„ьт оаа ЗТ0 10010„ттЕСТОЗ (О ае 7) ); а 774х138: — ааавае караев — еа1всс 1врахв — аасеаеа оатрата атсЬ1тессаха )т74х138 а о1 774х138 1в а18ааз 7„1. 1т ЗТ0 11И1С„МЕСТОК (О тв 7)) Ьакха в1СЬ А ае1вса Т 1„1 < "01111111" вк "ООО", "10111111" явеа "001", "11011111" адеа "010", "11101111" аьаа "011", "1111О111" авва "1ОО", "11111011" явев "101", "11111101" яьвв "110", "11111110" яЬаа "111", "11111111" аьеа охвата; т ь < т ь х аьав (01 ааа вес 02А ь ааа вос ево 774х138 а; 028 И='1' е1вв "11111111"; Этот вариант хорош для начала и работает, но в нем есть скрытая ловушка.
Корректировки, учитывающие тот факт, что два входных и все выходные сигналы имеют низкий активный уровень, оказываются спрятанными в заключительном операторе присваивания. Это верно, что большинство программ на языке ЧНОЬ пишется почти полностью для сигналов с высоким активным уровнем, но если мы разрабатываем устройство с низкими активными уровнями сигналов на внешних выводах, то нам действительно следует привести их к более систематическому и более удобному виду. 5.4. Дашифраторы 433 Табл.
б. 16. тгН0Ь-архитектура, пригодная для работы с различными активными уровнями сигналов втсв1геоеигв 774х138 Ь ог Ч74х138 1в в18па1 С2А, С2В: 370 Ьоотет вскпаз т: 370 10010 ЧКС708 (О со 7); в18па1 т в: 370 ЬОСХС ЧКС708 (О Со 7); Ьеаьп С2А < поС С2А АН вЂ” ооичвгг 1присв С28 <= пос 028„11 — оапчегс 1присв 7„1 < пес т; — <оочвгс оисрисв ч1СЬ А вв1есС т в < ч!0000000" чкеп "000", ч01000000ч чЬев ч001", "00100000" чЬев "010", "00010000" чьеп "011ч, ч00001000ч чЬеп "100ч, "00000100" чЬеп "101", ч00000010ч чьеп ч110ч, "00000001" чЬеи ч111", "00000000ч чЬеп оСЬегв, т < т„в чкеп (01 вп1 С2А апе 023) =' 1' епе 774х138 Ь; — асс1че"ь18Ь чвгвсоп о1 Апросе — аос1чв-ь1яь чвгв1ов ог оисрисв — 1виегпа1 в18па1 е1ве <00000000"; ПРОГРАМ МА ВЫПОЛНЯЕТСЯ НЕ ПО ПОРЯДКУ В табл.
5.16 все три оператора преобразования активного уровня собраны вместе в начале программы, хотя никакое значение не может быть присвоено сигналу у 1 до тех, пока не будет присвоено значение сигналу у, что делается в программе позднее. Помните, что это правильно, поскольку операторы присваивания в теле архитектуры выполняются параллельно. Это означает, что присвоение значения любому сигналу вызывает пересчет во всех других операторах, в которых фигурирует этот сигнал, независимо от его расположения в теле архитектуры.