Джон Ф.Уэйкерли Проектирование цифровых устройств. Том I (2002) (1095889), страница 124
Текст из файла (страница 124)
Входы данных также довольно сильно нагружают источники; сигнал каждого разряда данных должен быть подан на входы 16 мультиплексоров, соответствующих 16 возможным значениям 666 Глава 6. Примеры проектирования комбинационных схем сдвинь Если предположить, что значительная нагрузка по шине управления и по шине данных не слишком сильно замедляет работу схемы, то вариант с микросхемами 74х251 дает наименьшую задержку по отношению к данным, поскольку сигнал в каждом разряде данных проходит лишь через один мультиплексор. С другой стороны, можно создать устройство быстрого сдвига на 16 2-входовых 4-разрядных мультиплексорах 74х157; параметры такого устройства приведены в последней строке таблицы.
Сначала данные проходят через 2-входовой 16-разрядный мультиплексор, образуемый первым набором из четырех микросхем 74х157 [рис. 6.2). В зависимости от значения управляющего сигнала 80 входное слово оказывается сдвинутым влево на О разрядов или на 1 разряд. Выходы данных первых четырех мультиплексоров соединены с входами второго набора мультиплексоров, которые по сигналу 81 сдвигают свое входное слово влево на О разрядов или на 2 разряда. Последовательно пропуская получающиеся слова через третий и четвертый наборы мультиплексоров, управляемые соответственно сигналами 82 и 83, как показано на рис, 6.2, мы можем осуществить сдвиг на 4 и на 8 разрядов.
Сигналы на входы 1А — 4А и 1В-4В каждой ИС '157 подаются в том порядке, в каком они перечислены на схеме слева направо; то же самое относится к выходам 1У вЂ” 4У каждой ИС. Рис. 6.2. Другой подход к построению 16-разрядного устройства быстрого сдвига Для устройства на ИС '157 требуется вдвое меньшее число микросхем средней степени интеграции, и оно гораздо меньше нагружает источники управляющих сигналов и сигналов данных. Но такое решение дает наибольшую задержку в канале данных, так как сигнал каждого разряда данных должен пройти через четыре ИС 74х157.
Промежуточным между рассмотренными двумя подходами является вариант, основанный на использовани ~ восьми 4-входовых 2-разрядных мультиплексоров 74х153 лля реализации 4-входового! 6-разрядного мультиплексирования. Два таких набора микросхем нужно включить последовательно один за другим, используя сигншгы 8[3:2] лля сдвига на О, 4, 8 или 12 разрядов, а сигналы 8[1:0] — для сдвига на число разрядов от О до 3-х. Рабочие характеристики этого варианта представлены в третьей строке табл. 6.1. Если от вас не требуется достичь минимально возможной задержки данных, то последний вариант представляется наилучшим компромиссом.
б.з. Примеры проектирования на основе стандартных блоков ббт Подобными соображениями можно руководствоваться и в том случае, когда устройство быстрого сдвига строится не на микросхемах средней степени интеграции, а из ячеек специализированной ИС, только вместо корпусов ИС средней н малой степени интеграции вам нужно будет подсчитывать площадь, занимаемую этими ячейками на поверхности кристалла. Типичные библиотеки ячеек специализированных ИС содержат 1-разрядные мультиплексоры с числом входов от 2 до 8, обычно реализуемые на логических КМОП-ключах.
Для построения мультиплексора больших размеров вам следует образовать необходимую комбинацию из ячеек меньших размеров. Помимо тех проблем, с которыми мы встретились при выборе подходящего варианта в примере построения устройства на ИС средней степени интеграции, в данном случае возникает еще одна трудность: задержки в КМОП-схемах сильно зависят от нагрузки. Поэтому, в зависимости от выбранного подхода, мы должны решить, где в цепях управляющих сигналов или в цепях сигналов данных — или в тех и в других- необходимо включить буферы, чтобы минимизировать задержки, обусловленные нагрузкой. Может оказаться, что схема, которая хорошо выглядит на бумаге до анализа этих задержек и введения буферов, в действительности будет иметь бол ьшую задержку или занимать большую площадь кристалла, чем схема, являющаяся реализацией другого варианта.
6.1.2. Простой шифратор для получения чисел с плавающей точкой В предыдущем примере многократно повторялась одна и та же ИС вЂ” мультиплексор. То, что именно мультиплексор окажется подходящим блоком, было довольно очевидно с самого начала. Следующий пример показывает, что иногда бывает необходимо более пристально взглянуть на постановку задачи, чтобы увидеть решение на основе известных стандартных блоков. Давайте рассмотрим такую задачу, решение которой с использованием ИС средней степени интеграции не совсем очевидно. Пусть нужно построить «шифратор, преобразующий числа с фиксированной точкой в числа с плавающей точкойгь Целое двоичное число без знака В из интервала 0 < В < 2 н можно представить 11 битами в формате «с фиксированной точкой»: В = Ь, Ь ... Ь,Ь .
Для представления чисел из того же диапазона с меньшей точностью в системе обозначений с плавающей точкой достаточно 7 битов; Е = М 2", где М вЂ” 4-разрядная двоичная мантисса т гл гл т, а Е- 3-разрядный двоичный показатель экс- 3 з ! поненты езе!е . Наименьшее целое число, представимое в этом формате, равно 0. 2«, а наибольшее число равно (24 — 1) 2~. Преобразование заданного ! 1-разрядного двоичного числа В с фиксированной точкой в 7-разрядное число с плавающей точкой можно выполнить «беря» из числа В четыре бита, начиная с самого старшего бита, равного 1. Например: !1010!10100 = !101 2" ь 01!0100 ОО!ОО!01!!! = !ОО! 2 -ь01111 000001!!110 = 1111 2 +1О 00000001011 = 1011 2 т 0 000000000!О = 00!О 2«ь О. 558 Глава 6.
Примеры проектирования комбинационных схем Последнее слагаемое в каждом равенстве справа представляет собой ошибку усечения в результате потери точности при преобразовании. Имея в виду такую процедуру преобразования, можно в следующем виде сформулировать требования, предъявляемые к устройству, преобразующему числа с фиксированной точкой в числа с плавающей точкой: ° комбинационная схема должна преобразовывать 11-разрядное двоичное целое число без знака В в 7-разрядное число с плавающей запятой М, Е, где М и Е являются 4-разрядным и 3-разрядным двоичными числами соответственно.
Соотношение между числами имеет вид: В = М. 2' + Т, где Т- ошибка усечения, 0 < Т < 2л Чтобы рационально построить схему, начиная с подобной постановки задачи, требуется творческий подход: технические требования не содержат никакой подсказки. Некоторые идеи могут появиться в результате более детального изучения того, как мы преобразовываем числа вручную. По существу, мы просматриваем каждое входное число слева направо, чтобы найти первый разряд, содержащий 1, и останавливаемся на разряде Ьп если 1 не найдена.
Мы выделяем четыре бита, начинающиеся с найденного разряда и используем их как мантиссу, а номером первого разряда определяется показатель экспоненты. Эти действия уже похожи на то, что выполняют стандартные блоки в виде ИС средней степени интеграции. «Сканирование до первой 1» — это именно то, что делает универсальный приоритетный шифратор.
На выходе приоритетного шифратора появляется число, говорящее нам о положении первой 1. Номером этого разряда определяется показатель экспоненты; когда первая единица находится в одном из разрядов ܄— Ьп это соответствует показателю экспоненты от 7 до 0; наличие первой единицы на позициях Ь вЂ” Ь или полное отсутствие единиц означает, что показатель экспоненты равен О.
Поэтому для нахождения первой 1 можно воспользоваться 8-входовым приоритетным шифратором, на входы которого с 17 (высший приоритет) по 1О подаются биты Ь -Ь . Сигналы, появляющиеся на выходах А2 — АО ~о з' приоритетного шифратора, можно непосредственно использовать в качестве показателя экспоненты; если 1 не найдена, то А2-АО = 000. «Взятие четырех битов» напоминает процедуру «выбора» при мультиплексировании. 3-разрядный показатель экспоненты определяет, какие четыре бита ч иола В мы выбираем, поэтому биты показателя экспоненты можно использовать в качестве управляющих сигналов 8-входового 4-разрядного мультиплексора, на выход которого проходят нужные четыре бита числа В, образующие мантиссу Ы Шифратор на основе ИС средней степени интеграции, реализующий эти идеи, показан на рис.
6.3. В схеме осуществлена некоторая оптимизация: ° Так как у имеющегося приоритетного шифратора 74х!48 активным является низкий уровень входных сигналов, предполагается, что входное число В поступает по шине В Е [1О:0] с низким активным уровнем сигналов. Если число В представлено сигналами с высоким активным уровнем, то можно воспользоваться восьмью инверторами для получения сигналов с низким активным уровнем.
6.1. Примеры проектирования на основе стандартных блоков 669 Е2 !. Е! 1. еа 1. мз е 74х151 74х148 В!О 5 85 !. Во 5 87 5 88 5 87 5 м !. 55 5 М2 Е 5 85!. 1 15 84!. 1 Ва5 И ВЗ!. 1 ВЗ 5 825 1 еп 02 74х!5! в цза!81 85 !. Вх 5 85 5 85 !. М1 5 5 84 !. 1 85!. 1 825 1 В! 5 из 74х1 51 Вх 5 85„5 84 !. ма 5 5 ВЗ 5 82 !. ! В! 5 ВО 5 04 Рис. 6.3. Комбинационный шифратор, преобразующий числа с фиксирован- ной точкой в числа с плавающей точкой Е! !7 Аа 15 А1 и А2 !4 1З Еб !г ео и !а А в 0 оа 01 ог оз 04 05 Об 07 А в 0 оа 01 02 оз 04 Об 08 07 А в 0 Оа О1 02 оз 04 Об Об 07 660 Глава 6.