Джон Ф.Уэйкерли Проектирование цифровых устройств. Том I (2002) (1095889), страница 117
Текст из файла (страница 117)
5.99 показан комбинационный эквивалент умножителя 8х8, в котором реализовано сложение с сохранением переноса. Обратите внимание, что выход переноса каждого полного сумматора в первых семи рядах соединен с одним нз входов сумматора, расположенного ниже. Выходы переносов полных сумматоров в восьмом ряду соединены со входами переносов следующих сумматоров так, 5.11.комбинационные умножители 521 что образуется обычный сумматор со сквозным переносом.
Хотя этот комбинационный умножитель состоит из точно з.акого же числа логических схем, что н предыдущий (64 двухвходовых вентиля и н 56 полных сумматоров), задержка распространения в нем существенно меньше. В худшем случае задержка определяется временем прохождения сигнала только через 14 полных сумматоров. При использовании в последнем ряду сумматора с ускоренным переносом задержка может быть еще меньше. Рис. 5.99.
Промежуточные соединения в комбинационном умножителе 8х8 с повышенным быстродействием Регулярность структуры комбинационных умножителей делает их идеальными для реализации внутри СВИС и специализированных ИС. Важность быстрого умножения в микропроцессорах, цифровой видеотехнике и многих других приложениях привела к многочисленным исследованиям в этой области и разработке еше лучших структур и схем комбинационных умножителей (см. Обзор литературы). *5.11.2. Описание процедуры умножения на языке АВЕ~.
и ее реализация в ПЛУ В языке АВЕЬ существует оператор умножения *, но его можно применять только к отдельным сигналам, числам иви специальным константам, но не к наборам. 522 Глава 5. Практическая разработка схоы комбинационной логики Таким образом, пользуясь языком АВЕЬ, нельзя синтезировать схему умножителя единственным соотношением типа "Р=Х*Х'1 Однако языком АВЕЬ можно воспользоваться для описания комбинационного умножителя, если разбить его на меньшие части.
В табл. 5.57, например, приведена программа перемножения 4-разрядных чисел без знака в соответствии с той же общей структурой умножителя, какая была представлена на рис. 5.97. Сначала находятся четыре компонента произведения РС1, РС2, РСЗ и РС4, которые затем складываются в разделе программы ес3ца с1опв. Эта процедура не создает массив полных сумматоров, как на рис. 5.98 или 5.99.
Вместо этого компилятор языка АВЕЬ послушно исполнит инструкцию сложения и составит минимальную сумму для каждого из восьми выходных битов произведения. Удивительно, но для формирования сигнала на выходе Р4 в худшем случае требуется только 36 термовпроизведений, что многовато, но безусловно реализуемо за два прохода через ПЛУ Табл. 5.57.
Программа нв языке АВЕЬдля комбинационного умыожителя 4х4 шойп1е ши14х4 е1с1е '4х4 Сошбдвасзоаа1 Ии1езр11ет' ХЗ..ХО, 78..70 р1п; " ша1сзр11сапс1, ши1едр11ег Р7..РО р1п 1веуре 'сош'; " ргойасе Р [Р7..РО) „' РС1 "- УО Д [О, О, О, О,ХЗ,Х2,Х1,Х03; РС2 = 71 Ф [О, О, О,ХЗ,Х2,Х1,ХО, 03; РСЗ У2 в [О, О,ХЗ,Х2,Х1,ХО, О, 03; РС4 = УЗ Ф [О,ХЗ,Х2,Х1,ХО, О, О, 03; ейвасзопв Р = РС1 + РС2 + РСЗ + РС4; еад шв14х4 *5.11.3. Описание процедуры умножения на языке зг'НО[. Язык ЧНРЬ достаточно богат, чтобы выражать умножение разными способами; лучший из них мы оставим напоследок. В табл. 5.58 представлена поведенческая программа на языке ЧНРЬ, которая воспроизводит структуру умножителя, приведенную парис. 5.99.
Для указанных на рисунке внутренних сигналов в программе определяется новый тип данных ах сау8 х8, который является двумерным массивом элементов типа Я ТО ЬСЯ1С (напомним, что Ят0 Е061с уест08 — это одномерный массив элементов типа ЯТО ЬСЯ1С). Переменная РС объявлена как массив типа ах сеу8х8, предназначенный для хранения битов компонентов произведения, а переменные РСЯ и РСС представляют собой аналогичные массивы лля хранения сумм и переносов основного массива полных сумматоров. 5.1 1. Комбинационные умножители 525 Табл.
5.58. Поведенческая ЧН()(.-программа для комбинационного умножите- ля Ях8 1патату 1ЕЕЕ; иае ТЕБЕ.есй 1оЕпс 11ба.а11„ епс1су паи18х8р 1а ротс ( Х; пп Ятр 10010 уестОВ (7 йоиппо О); 7: пд 370„10010 УЕСТОВ (7 йоипса О); Р: оиС БТО 10С10 ТЕСТОВ (18 йоидто О) ); едй пви18хбр; атсппсесСите пви18хбр атсЬ о1 пви18хбр пв 1ипстпод ХАЮ Л1, 12, 13: ЯТО 1001С) тетитд ЯТО 1001С пв Ье31п теситп ((11 апй 12) от (11 апй 13) от (12 апй 13)); еай ИАЗ; ЬеЕпп ртосевв (Х, 7) Суре аттаубхб пв аттау (О со 7) а1 БТО 10С1С ЧЕСТОВ (7 йоидго О); тат1аые РС: аттау8х8; — ртойисс сошропепс ьпса сатпаЫе РСЯ: аттауБхб; — ти11-аййет вив Ысв тат1аые Рсс: аттау8хб; — ти11-аййет сатту оисрис ьпсв пат1аЫе ВАБ, ВАС: БТ0„10010 ЧЕСТОЕ (7 йоипсо 0); — т1рр1е аййет виа Ье81п апй сатту Ьпса тот 1 1п 0 Со 7 1оор тот ) 1п 0 со 7 1оор РСИ) ()): ТИ) апй Х()); — соареса ртойисс совродедс Ысв епй 1оор; едй 1оор; тот ) 1п 0 Со 7 1оор РСБ(0)()): РС(О)()); — 1ппт1а11ае 11твт-тои уипттиа1" РСС(0) ()): '0'; — аййетв (пос впоип тп 1пЕите) епй 1оор; тот 1 1п 1 со 7 1оор — йо в11 ти11 аййетв ехсерс 1авс тов 1от ) пп 0 Со б 1оор РСЯИ)()): РСИ)()) хот РСЯ(п-1)()п1) хот РССИ-1)()); РССИ)()): МАЛ(РСИ)()), РСБЬ-1)()+1), РСС(п-1)())); РсяИ)(7): РсИ)(7); — 1е1сшовс пп1тгиа1" аййет виа оисрис епй 1оор; епй 1оор; ВАС(0) := '0'; тот 1 1п 0 со б 1оор — 11па1 тпрр1е аййет ВАЗИ): РСЯ(7)(п+1) хот РСС(7)И) хот ВАСЬ): ВАСИ+1): МАЛ(РОЗ(7) И+1), РСС(7) И), ВАСИ)); епй 1оор; тот 1 1п 0 Со 7 1оор РИ) < РСБЬ)(0); -- 11твс 8 ртойисс ысв ттов 1и11-аййет вива епй 1оар; 1от и 1п 8 со 14 1оор РИ) <= ВАЗИ-8); — вехс 7 Ысв ттов тпрр1е-аййет аиав епй 1оор; Р(13) < ВАС(7); 1авс Ьйс ттоа тпрр1е-аййет сатту едй ртосева; епй паи18хЯР атсЬ; 624 Глава б.
Практическая разработка схем комбинационной логики В одномерных массивах пня иджис хранятся суммы и переносы сумматора со сквозным переносом. На рис. 5.100 приведены обозначения и нумерация переменных. Целые переменные з. и З используются в качестве индексов циклов по строкам и столбцам соответственно. мсщ наса нас~я мв(з) вид ищи мед~ мс~ю~ рис. б. 1 00. Имена переменных в ЧНРЬпрограмме для умножителя 8х8 В программе предпринята попытка показать логические вентили, которые использовались бы в реализации, точно соответствующей рис.
5.99, хотя синтезатор имеет право на основе этой поведенческой программы создать совершенно другую структуру. Если вы хотите задать определенную структуру, то необходимо написать структурную ЧНРЬ-программу, о чем речь пойдет ниже. В первом вложенном операторе бог в программе выполняются 64 операции И, в результате которых получаются биты компонентов произведения. Следующий оператор цикла Еог инициализирует граничные условия вверху умножителя, используя понятие 0-й строки «виртуальных» полных сумматоров, не показанных на рисунке, у которых выходы сумм равны первой строке битов в массиве сС, а выходы переносов равны О. Третий вложенный цикл Еог соответствует основному массиву сумматоров, изображенных на рис.
5.99 во всех строках, кроме последней, которая реализуется четвертым циклом йог. В последних двух циклах Хог сигналам на выходах умножителя присваиваются значения, везникающие на выходах сумматора со сквозным переносом. Применяя структурный подход можно написать другую ЧНРЬ-программу, как показано в табл. 5.59. Этот подход позволяет разработчику полностью задавать структуру синтезируемой схемы, например, в том случае, когда желательно реализоватьь ее в специализированной ИС.
В программе предполагается, что архитектуры Л1402, ХОРАЗ и АЗ определены в другом месте, например, в библиотеке данной специализированной ИС. 5.11.Комбинационнывумножитвлн 525 Табл. 5.59. Структурная НН()(.-архитектура для 8х8 комбинационного умножи- теля агсЫсессиге тши18хЯв атсь о1 чви18х8в 1е сошропеаг АВ02 роги( 10, 11: 1П ЯТО 10010; О: оиг Ято )ЛСТС ); епа сошропепт; сошропепт ХОВЗ ротс( 10, 11, 12: 1п БТО 1001С; 0; сит ЯТО 10010 ); эвам сошропепт; сошропепс иАЯ -" Иа)отагу типсс1оп, О = 10*11 + 10*12 + 11*12 ротс( 1О, 11, 12: 1п Ято 10010; 0: оиг БТО 10010 ); епй совропепт; Суре аттауаха тв аттау (О то 7) оу 670„10010„уЕСТОН (7 иовато 0); а1япа1 РС". агтау8х8; — ргоаист-сошропэпг Ысв в18па1 РСЯ: аттауаха; -" ги11-аМег виш Ытэ а18па1 РСС: аттау8ха; — 1и11-ааает саггу оитриг Ыгв э1япа1 мз, ВАс: зтрлос1с уестОВ (7 йоюпсо О); — виш, сатту Ьея1п 61: Тот 1 1и 0 со 7 яепегасе — ртоаисс-сошропепс ьтсэ 62: Хог )' 1п 0 со 7 яеиетасе 01: АВ02 роги шар (ТИ), Х()), РСИ)())); еис яепегате; еиа Яепегасе; 83: 1ог ) 1п 0 то 7 Яепетате РСБ(0)()) < Рс(0)()); — 1п1саа11хе 11твс-гов "т1тсиа1" вмете РСС(0)()) <= 'О'; еий яепетасе; 84: Тот 1 Ап 1 Со 7 Еепегате — йо ти11 а<(сета ехсерС сае 1авт гов ЯЯ: Тот ) 1п 0 Фо 6 Яеиегате 02: ХОВЯ роги шар (РСИ) () ),РСБИ-1) ()+1),РССИ-1) ()),РСБ(1) ()) ); ротс шар (РСИ) () ),РОЯ И-1) ()+1),РОСИ-1) ()),РОСИ) ()) ); РСЯИ)(7) < РСИ)(7); — 1етсшовт "т1ттиа1" аабег виш оигрит епй яеиегаге; епи яепегате; ВАС(0) < '0'; 86: тот 1 Ап 0 со 6 Яепетате — 11аа1 гтрр1е абаег 07: ХОВЗ роги шар (РСЯ(7) И+1), РОС(7) И), ВАСИ), МЯИ)); 03: ИАЮ ротс шар (РСЯ(7) И+1), РСС(7) И), ВАСИ), МСИ+1)); еиа Яепегасе; 87: Хог 1 1п 0 Со 7 ЯеиетаСе РИ) < РСБИ)(О); -" яес 11гвс 8 ргоаисс ь1<е 1тош 1и11-абаег вива епй яепегасе; 88: 1от 1 Аи 8 со 14 еепегасе РИ) < ВАЗИ-8); -- яес пехс 7 Ысв тташ г1рр)е-аааег виши еиа Яепегасе; Р(16) <" ВАС(7); — яес 1авс ЪАс ухов г1рр1е-васек сатгу епй иии18х8в втсп! 626 Глава б.
Практическая разработка схем комбинационной логики В этой программе демонстрируется эффективное использование оператора депе ге се (9 еле ге ге згагетеиг) для создания массивов компонентов, используемых в умножителе. Оператор депегаге должен иметь метку; подобно оператору бог-1оор, им задается итеративная схема управления повторением включенных в него операторов. Операторами, содержащимися в конструкции Еог— депе гасе, могут быть любые параллельные операторы вида 1 8- 8НЕН вЂ” НЬИВЕ и структурные компоненты, в свою очередь предусматривающие выполнение циклов.