Джон Ф.Уэйкерли Проектирование цифровых устройств. Том I (2002) (1095889), страница 99
Текст из файла (страница 99)
Ниже в отступлении, заключенном в рамку, приведен другой способ достижения того же самого результата. РАЬ19.8 274Х138 Обратите также внимание, что в программе на языке АВЕЬ введено константное выражение для ЕМВ. Здесь ЕМВ не является ни входным, ни выходным сигналом; просто зто определяемое пользователем имя. Всюду, где в разделе ес1оа Г з оса появляется "емВ", транслятор подставляет выражение (а1 а 62А ь 628). присвоение константному выражению определяемого пользователем имени делает программу легко читаемой и более удобной для работы с ней.
Если бы вам был нужен только дешифратор типа '138, то лучше применить реальный дешифратор '138, нежели более дорогое ПЛу. Если же необходимо выполнять нестандартные функции, то с помощью ПЛУ обычно зто достигается намного дешевле и легче, чем в результате применения МИС и СИС. Пусть, например, вам нужен дешифратор типа '138, но с высокими активными уровнями Рис. 5.40. Условное изображение мик- росхемы РАЬ16ЬВ, используемой в каче- стве дешнфратора 74х1381М.С, — не под- ключен) А В С 62А Ь 02В 1.
01 М.С М.С М.С М.С УО 1. У1 1. У2 1. уз ь У4 1. ув ь Уб 1. ут 1. 8.4. Дешифраторы 426 выходных сигналов; тогда в табл, 5,8 необходимо изменить только одну стРоку в объявлении выводов: ТО, Т1, Т2, ТЗ, Т4, Т5, Тб, Т7 РАп 19 .. 12 Авгуре 'сокг! Табл. 8.8. Программа наязыкеАВЕЬдля полногодешифратораЗх8, аналогич- ного дешифратору 74х! 88 аоап1е 274Х138 САС1е '74х138 Оесоеег РЬО л. иекег1у, зсэпхоге Оезтегезсу' 274Х138 еее1се 'Р161.8'; " Хпрцс епб спсрпс рзпе А, В, С, 82А 1., С28 !., 81 ТО Ь, 71 1., 72„Ь, ТЗ 1., Т4„Ь. ТБ 1..
Тб Ь, Т7„Ь ртп 1, 2. 3, 4, Б, б; рзп 19..12 Аееуре 'соа'; " Асс1те-взев а1епа1 пеаев хог геабеьшсу С2А !С2А 1.! С28 = !С28 !.! ТО " !ТО„Ь! 71 !71„!.; 72 !72 14 ТЗ !73„14 74 !74„14 ТБ !ТБ 1и Тб !Тб 1л 77 !77 Ь; " Сопаеэпе ехргеаазоп ЕИВ С1 А С2А А С28; еопаС1опа ТО о ЕНВ а !С а !В А !А; т1 еиВ а !с а !В Ф А; т2 еиВ а !с а В а !А; тз еиВ А !с а В а А; т4 - "енВ а с а !В а !А; тб еиВИ са!Ва А; Тб ЕИВ а С А В а !А; 77 БНВ а с а В а А; епе 274Х138 (В табл. 5.8 необходимо удалить также независимые определения сигналов ТО-Т7.) Так как для каждого из равенств требовалось одно произведение шести переменных (включая три переменных в выражении для еьВ), для каждого инвертированного выражения необходима сумма шести термов-произведений, что меньше семи возможных в РАЫ 61.8.
Если программируется микросхема РА1.16т8 или какая-либо другая микросхема, в которой можно выбирать полярность выходных сигналов, то транслятор выберет неинвертирующую полярность выходных сигналов, чтобы использовать только по одному терму-произведению на выход. 426 Глава б. Практическая разработка схем комбинационной логики ОПИСАНИЯ ВЫВОДОВ С НИЗКИМ АКТИВНЫМ ХРОВНЕМ СИГНАЛА Язык АВЕЕ позволяет использовать префикс инверсии (! ) в именах сигналов при определении выводов в программе. Если при определении имени вывода употреблен префикс инверсии, то транслятор автоматически добавляет спереди к имени сигнала префикс инверсии, где бы в программе ни появился этот сигнал. Если где-то он уже ннвертнруется, то это приведет к двойной инверсии.
Данное свойство можно использовать Лля задания различных, но непротиворечивых обозначений при определении входов и выходов с низкими активными уровнями сигналов, а именно: каждому сигналу с низким активным уровнем дают имя, соответствующее высокому активному уровню, но в описании вывода, относящегося к этому сигналу, предваряют его префиксом инверсии.
Для дешифратора Зх8, описанного в табл. 5.8, мы заменяем первую часть программы текстом, приведенным в табл. 5.9; раздел есузаг 5 ог1а остается в программе неизменным. Это дело вкуса„какое из обозначений применять, но выбор может зависеть также от возможностей программных средств автоматизированной системы проектирования, используемойдля изображения схемы. Многие программные средства позволяют автоматически создавать схематическое изображение логического блока, задаваемого программой на языке АВЕ1,.
Если программные средства позволяют помещать кружки инверсии на выбранных входах н выходах условного обозначения элемента, то, согласно табл. 5.9, мы получим имена сигналов, имеющих высокий активный уровень внутри изображаемого блока. Затем можно ввести внешние кружки на пути сигналов с низким активным уровнем, чтобы получить условное обозначение элемента, показанное на рис.
5.41(а), соответствующее требованиям, изложенным в разделе 5.4.2. С другой стороны, у вас может не быть возможности или желания вводить кружки инверсии в условное обозначение элемента, создаваемое системой САР. В этом случае следует использовать обозначения нз табл. 5.8; это приведет к созданию системой САР условного обозначения, в котором активный уровень указан в имени сигнала внутри контура функционального обозначения элемента; никакие внешние кружки инверсии в этом случае не нужны 1см.
рис. 5.41(Ь)1. Заметьте, что в отличие от рис. 5.36(а) мы используем обозначение, записываемое в виде текстовой строки ( Е), и не применяем надчеркивания в имени сигнала для указания активного уровня. Правильно выбранные обозначения, записываемые в виде текстовой строки, обеспечивают возможность использования программных средств различных систем САР. В дальнейшем в каждом из примеров описания на языке АВЕЕ мы в значительной мере произвольно выбираем то или другое обозначение только ради того, чтобы помочь вам освоиться с обоими подходами. 5.4.дешифраторы 427 Табл.
5.9. Альтернативный вариант объявлений в программе полного дешиф- ратораЗх8тила74х138 Харис впи оиприп р1пв А, В, С, !С2А. 1628, 01 !ТО, 171, !72, !Тз, 174, (уб, !уб, !77 р1п 1, 2, 3. 4, б, б; Р1п 19..12 Автуре 'сов'; " Сопвтапс ехргеввхоп ЕВВ = 01 А С2А а 028; 274х138 (а) 774Х138 Другое простое изменение позволяет добавить альтернативные входы разрешения, сигналы на юторых объединяются по ИЛИ с сигналами на основных входах разрешения. Чтобы это сделать, необходимо только определить дополнительные выводы и видоизменить определение ЕМВ: рзп 7, 8; ЕМ1, ЕМ2 1 ЕМ2 = !ЕМ2 1; ЕМВ = 31 А 32А А 62В (( ЕМ1 (( ЕМ2; Это изменение увеличивает число термов-произведений, приходящихся на один выход, до трех, и выходные сигналы принимают следующий вид: УО= 61 А с2А а с2В а !с а !В А!А (( еМ1 а !с а !В а !А (( ем2 а !с а !В а !А; (Вспомните, что в микросхеме РА(.
(6(.8 между матрицей И-ИЛИ и выходом ПЛУ помещен встроенный ннвертор, а в микросхеме РАН 6Ч8 в этом месте имеется Рис. 5.41. Возможные варианты условных обозначений дешифратора типа ?4х138 на основе ПЛУ создаваемые системой САЕх (а( на основе табл.
5 9 после введения кружков инверсии вручную; (о( на основе табл. 5.8 (МС вЂ” не подклю- чен) 428 Глава 5. Практическая разработка схем комбинационной логики устанавливаемый при программировании инвертор, поэтому на реальном выходе будет желаемый низкий активный уровень,) Если вы вводите дополнительные разрешающие сигналы в вариант программы с высоким активным уровнем сигналов на выходах, то ПЛУ должно реализовать дополнение приведенного выше выражения вида «сумма произведений», Сразу не очевидно, сколько термов-произведений будет иметь это выражение, и можно ли его реализовать в микросхеме РАЬ)бЬ8, но мы можем воспользоваться транслятором языка АВЕ1,, чтобы получить ответ: !УО = С $ В $ А 8 162В й 1Е)(1 й )ЕН2 $ !О2А й !Е))1 й !Е(>)2 8 181 й 1Е)т'1 й )Е)(2> В этом выражении шесть термов-произведений, так по оно реализуемо в микросхеме РАЬ)6Ь8.
В качестве заключительной уловки можно добавить вход для оперативного управления активным уровнем выходного сигнала, выбирая его высоким или низким, изменив все равенства следующим образом; РОЬ рйп 91 УО = РОЬ В (Е)1В й !С й !В й !А) У1 = РОЬ В (Е)(В й !С й !В й А) У7 = РОЬ В (ЕМВ й С й В й А); Онерае р1ав УО Ь, У1 Ь, У2 Ь, Уз 1. У4 Ь> УБ Ь, У6 Ь, ЕИВ р1п 19, 16, 17, 16 Авсурв 'соа'; рзп 1Б, 14, 13, 12 1асуре 'соа'; ес(вас1оав ЕЫВ С1 к 02А а 02В я ЕВ1 я ЕВ21 УО = Р01.
8 (едВ д !с А 1В а !А)1 В результате введения операции ИСКЛЮЧАЮЩЕЕ ИЛИ число необходимых термов-произведений на один выход увеличивается до 9 при любой полярности сигнала на выходном контакте. Таким образом, лаже в микросхеме РАЬ)бУВ нельзя реализовать эту функцию в том виде, как она записана. Эту функцию все же можно реализовать, если создать всланогаеельлый выход ()зе(рег оитрит) для уменьшения быстро нарастающего числа термов-произведений. Как показано в табл. 5.10, мы назначаем выходной контакт для сигнала Е)(В (опуская выход у7 1.) и перемещаем равенство лля е)(В в раздел программы ес(оас1опа.