Джон Ф.Уэйкерли Проектирование цифровых устройств. Том I (2002) (1095889), страница 127
Текст из файла (страница 127)
1е'» (ва»1» 1в Св) яьгн» Аоз»оа1 г»вь» (в)пг» Ао оа) ЗЛИТ 1ет» аг1»ьве»1» (гер11»а»е ЬЯВ) ЗЬ11» г18Ь» аг1»ъве»1о (гер)1»а»е ИЗВ) 6 о. Примеры проектирования схем с использованием языка АВЕН 569 6.2.2. Простой шифратордля получения чисел с плавающей точкой В разделе 6.1.2 мы ввели простой формат числа с гшавающей точкой и сформулировали задачу построения преобразователя числа с фиксирцванной точкой в число с плавающей точкой. Требования этой схемы ограничиваются 11 входами и 7 выходами, так что потенциально для замены четырех микросхем средней степени интеграции можно использовать единственное ПЛУ, Программа на языке АВЕ[.
для преобразования чисел с фиксированной точкой а числа с плавающей точкой представлена в табл. 6.4. Оператором АНЕН определяется показатель экспоненты е вполне естественным образом. Затем значение е используется для выбора соответствующих битов числа В в качестве мантиссы и, Несмотря на большую глубину вложений в операторе ИНЕИ, в минимальной сумме для каждого бита показателя экспоненты Е необходимы только четыре терна-произведения. Равенства, определяющие биты мантиссы и, также не слишком плохи: в каждом требуется только восемь термов-произведений. К сожалению, поба1е трепе <1е1е 'Р1хеб-роьле ео Р1оаеьля-ро1ае ел<обет' РРЕМС бет1<е 'Р2018'; " Херес апс оиврсс р1ле 810,.30 р1л 1..11; Е2..ЕО, ИЗ..ИО рзл 21..16 зеоуре 'сов'; " Солеьааь ехртеееьоле 3 [810..30]; Е 1Е2..301; и = [из..ио); ейаао1опе МНЕМ В < 16 ТЯЕМ Е = 0; Е1.3Е МНЕ)1 В < З2 ТНЕМ Е = 1; ЕЬБЕ МНЕМ В < 64 ТНЕМ Е = 2; ЕЬЗЕ МНЕМ В < 128 ТНЕМ Е 3; ЕЬБЕ МНЕМ Б < 266 ТНЕМ Е 4; Ег.БЕ МНЕМ В < 612 ТНЕМ Е " б; ЕЕЯЕ МНЕМ Б < 1024 ТНЕМ Е б; Е1.ВЕ Е 7; В и = (е" 0) а З (Е 1) В е (Е==2) а в (е==з) в «(е и)а Ф (Е 5) Ф «(Е" б) Ф Ф(е 7) а [ВЗ..ВО) [84..31) [ВБ..В21 [В6..331 [87..34) 138..8б) [33..861 [310..37); Табл.6.4.
Программа на языке АВЕН для шифратора, преобразующего числа с фиксированной точкой в числа с плавающей точкой, на основе ПЛУ 670 Глава б. Примеры проектирования комбинамионных схем Табл. 6.5. Другой вариант программы на языке АВЕ1. для преобразователя чисел с фиксированной точкой в числа с плавающей точкой нв основе ПЛУ побо1е гревсе 1тп1о 'Р1хед-Ро1пт со Р1оаеьпя-Роапо епообег' РРЕЯСЕ беоосе 'Р2018'; ' 1грпе апп оопрпс Репе 310..80 Е2.
ЕО, НЗ,.НО Рхп 1..11; р1п 21..1Б аппуре 'сов'; " 1ппегпе61аее ечиа11опв 37 - 810; Яб !810 й 89; 36 !810 й !89 й 88; Я4 ~310 й !89 й 'Вб й 87; 33 !810 й !89 й !Вб й !87 й 86; 32 !310 й !39 й !Ва й !87 й 'Вб й ВБ; Я1 !810 й 189 й '38 й !87 й !Вб й !ВБ й 84; 30 = !310 й !39 й 'В8 й !В7 й !Вб й !ВБ й !84; еяпас1опе Е2 37 № 36 № ЯБ № 34; 31 37 № 36 № ЯЗ № 32; ЕО 37 № ЯБ № ЯЗ № Я1; [Хз.,ио] " 30 й [83..801 № 31 й [84..811 № 32 й [33.,321 № ЗЗ й [Вб..ВЗ1 № Я4 й [87..841 № ЯБ й [38.,36) № 36 й [39..вб) № 37 й [В10..87",; епб гпепс ИС ОАЬ20Ч8 позволяет получить только семь термов-произведений на выход. Однако в ИС ОАЬ22Ч10 [см.
рис. 8.22) можно реализовать большее число термов-произведений, так что при желании можно воспользоваться ею. Недостаток проекта, представленного в табл. 6.4, состоит в том, что выходы [МЗ .. М01 медленные: для получения сигналов на этих выходах используются сигналы с выходов [Е2 .. Е 0 1, поэтому необходимы два прохода через ПЛУ Схема могла бы обладать большим быстродействием, если только она влезает в выбранную ИС, в результате записи «термов выбора» (Е==О и др.) в виде промежуточных соотношений до раздела равенств, что позволило бы компилятору языка АВЕ1. развернуть получающиеся равенства для битов мантиссы М и представить их одноуровневой логикой. К сожалению, язык АВЕЬ не допускает наличия операторов ннен вне раздела ес[оаг1спэ, так что нам придется «засучить рукава» и написать свои собственные логические выражения в промежуточных равенствах.
Видоизмененный вариант программы приведен в табл. 62Ь Выражения для 37-30 являются взаимоисключающими И-термами; имн определяется значение показателя экспоненты от 7 до 0 в зависимости от расположения старшего единичного бита в числе с фиксированной точкой на входе. Показатель экспоненты [Е2 .. ЕО] представляет собой двоичную запись значений термов вьсбора, а биты мантиссы [МЗ .. МО ) в каждом случае определются с учетом значений термов выбора. Оказывается, тем не менее, что равенства для каждого бита мантиссы М содержат 8 термов-произведений, но этот вариант по крайней мере намного быстрее, так как используется только одноуровневая логика. 6 с, Примеры проектирования схем с использованием языка АВН.
571 6.2.3. Двойной приоритетный шифратор Этот пример демонстрирует проектирование на основе ПЛУ приоритетного шифратора, который находит сигнал активного уровня с самым высоким приоритетом и сигнал со вторым по старшинству приоритетом во входном Наборе из восьми сигналов запроса с высоким активным уровнем, названных [кО .. к7 ), где сигнал кО имеет высший приоритет. Выходы (А2 .. АО', и АУАЬ1О будем использовать для представления запроса с самым высоким приоритетом, причем на выходе АЧАЬ1О сигнал возникает только тогда, когда существует запрос с наивысшим приоритетом.
Точно так же (В2: ВО) и ВУАЬ1О представляют запрос со вторым по старшинству приоритетом. Программа для приоритетного шифратора на языке АВЕ1. представлена в табл. б.б. Как обычно, вложенный оператор ИНЕЕ идеален для описания процедуры определения приоритетов. Чтобы найти активизированный вход со вторым по 1111в 'Оае1 Рг.сгвеу евсобет' РН10НТЧО авт1се 'Р16кб'; крис еса сварке р1вв Н7 .НО АРА' дА А2..АО, ВРАЬТО, Н2..80 Р1в 1, .8,' рйс 19,.12 1всуре 'сов'; Зеь детзв1еьсвв А = (А2..АО); В (82..80); ечвесгввв АРАЬ10 ((НТ..НО) ! 0)' ВРАЫО = (КО-1) в (82" 1) В (Н4= 1) 3 (Нб 1) й (А! "0) Ф (В1 =1) й (А) 1) й (А!-"2) В (ВЛ =1) й (А) 3) й (А~ 4) В (НЕ==1) й (А! Б) й (А!-"6) а (Н7 1) й (А) 7); ееа ргзогеео ННРЯ НО =1 ТНЕЕ А"О~ ЕЬБЕ АНЕН Н1= 1 ТНЕН А 11 ЕЬЗЕ ННЕН В2 1 ТНЕН А 2; ЕЬЗЕ ННЕИ 83==1 ТНЕМ А=з; ЕЬБЕ ННЕЯ Н4вв1 ТНЕН А=4; Е1.БЕ ННЕН Нб= 1 ТНЕН А 3; ЕЬЗЕ ННЕН Вб= 1 ТНЕН А б,' Е1.БЕ ННЕХ Н7 1 ТВЕН А=7; ! О) ТНЕН й (А)=1) й (А) 2) й (А' 3) 'А~ 1) й (А! 5) й (А'=6) й (А! 7) ННЕН (ВО==1) й (А ЕЬБЕ ИНЕИ (В1 1) еьБВ Инеи (а2==1) Е1.БЕ ННЕИ Оаз 1) ЕЬЗЕ ИНЕИ (Н4 1) ЕЬБЕ ННЕН (НБ-=1) ЕЬЗЕ ННЕН Ойб 1) Е1.БЕ ННЕЕ (В7==1) В 0; ТВЕН В 11 ТВЕН В"2; ТВЕН В=з; ТНЕЕ В 4: ТНЕЧ В Ь; ТНЕХ В б; ТНЕН В 71 Табл.
6.6. Программа на языке АВЕ) для двойного приоритетного шиф- ратора 572 Глава 6. Примеры проектирования комбинационных схем старшинству приоритетом, мы исключаем тот вход, номер которого соответствует номеру А активизированного входа с самым высоким приоритетом. Таким образом, для определения выхода в используется логика с двумя проходами.
Легко написать равенство для выхода АЧАВ10: А/АВ10 равняется 1, если не на всех входах запроса сигнал равен О. Чтобы найти значение ВУА« 10, нужно логикой ИЛИ объединить все условия, при которых в операнде ХНВЫ присваивается то или иное значение выходу В. Даже при использовании логики с двумя проходами для получения выходных сигналов В требуется слишком много термов-произведений, чтобы разместить их в ИС 16Ч8; в табл. 6.7 приведены сведения о числе необходимых термов-произведений. Выходу В нужно слишком много термов, даже если иметь в виду реализацию в ИС 22Ч!0, у которой имеется 16 термов для двух из ее выходов и от 8 до14 термов — для других. Так что вам придется усердно потрудиться, чтобы поместить в ИС все, что нужно! Табл.
6.7. Использование термов-произведений в двойном приоритетном шифраторе, реализуемом в ПЛУ Р-Тетив Рап-зп Рап-опт Туре йввв 106/84 Везе Р-Тета Топа1: 76 Тока1 Рзпв: 16 Аквтабе Р-Таха/Опсрпс: 9 СУММЫ ПРОИЗВЕДЕНИЙ И ПРОИЗВЕДЕНИЯ СУММ (БЫСТРО ПОВТОРИТЕ ЭТО Б РАЗ1 Возможно, вы помните из раздела 4.3,6, что минимальное взлражение вида «произведение сумм» для исходной функции можно получить путем преобразований по теореме Де Моргана из минимального выражения вида «суммы произведений» для дополнения этой функции. Возможно, вы помните также, что число термов-произведений в минимальной сумме произведений может отличаться от числа термов-сумм в минимальном произведении сумм. В столбце "Р— Теггаз" в табл. 6.7 приведено число термов в обеих минимальных формах (термы-произведения /термы-суммы). Если число термов в какой-либо из двух минимальных форм меньше или равно числу термов, допускаемых матрицей вентилей И-ИЛИ в ИС 22Ч10, то с помощью этой микросхегиы функцию реализовать можно 8/1 4/5 4/6 4/6 24/8 24/17 20/21 18/22 8 8 6 8 11 11 11 11 ! Р1п 1 Р1п 1 Рзп Р1п 1 Рап 1 Р1п 1 Р1п 1 Р1п АУА1.10 А2 А1 АО ВЧАВ10 В2 81 ВО В.2.
Примеры проектирования схем с использованием языка АВИ. 573 Так кйк же можно уменьшить число необходигиых термов-произведений? Обратите внимание на одну важную вещь: ВО никогда не может быть входом со вторым по старшинству приоритетом, и поэтому В никогда не может равняться О, Таким образом, случай НО==1 можно исключить из оператора ИНЕИ.
Это изменение приводит к сокращению числа термов для В2-ВО до 14, 17 и 15 соответственно. Если бы только знать, как исключить один терм из выражения для В1, то наш шифратор, по-видимому, можно было бы разместить в ИС 22Ч10, Хорошо, давайте попробуем сделать кое-что еще.
Если НО==1, то во втором предложении в опеРатоРе инеи излишне использовать все, что мы знаем. Вам не нужно абсолютной общности, выражаемой условием А( =1; этот случай важен только тогда, когда ВО=1. Поэтому давайте заменим первые две строки исходного оператора ИНЕИ на ИНЕИ (В1==1) Ь (НО==1) ТНЕИ В=1; Эта хитрая замена уменьшает минимальное число термов для В2 — ВО до 12, 16 и 13 соответственно.