КЛЕВО_FPGA
.pdf274Глава 12. Арифметические устройства
ир^ля максимального числа входов вентиля Ne
Ne = m |
(12.17) |
Р и с . 12.5. Логический символ сумматора, показанного на рис. 12.4.
12.4.1.Каскадирование сумматоров с параллельным переносом
Так как количество необходимых входов в вентиле и число венти лей при более длинных словах сильно увеличивается, целесообразно формировать в начале блоки из 4-битовых сумматоров с опереже нием переноса. Этот метод проиллюстрируем в начале на примере сумматора для 16-битовых двоичных чисел, который сформирован из четырех описанных выше 4-битовых сумматоров с параллельным переносом (CLA).
Для 4-битовых сумматоров i (г = 1... 4) вспомогательные сиг налы -iPi и -iG^ а также Со выводятся в соответствии с приведен ными ниже уравнениями CLA-генератора. Примененные уравнения соответствуют уравнениям 12.5-12.8. На основе этого генерируют ся переносы С4, Cg и Си для отдельных блоков. Эта схема имеет обозначение 74182.
С4 - |
Go V соРо - - (-Go-Po V -c^Go) |
(12.18) |
С8 = Gi V С4Р1 = Gi V GoPi V coPoPi = |
|
|
- |
- {-П G i - Pi V - GoGiPo V - cn-- GoGi) |
(12.19) |
12.4- Сумматор с параллельным переносом 275
С12 = |
«2 V CsP2 = G2 V G1P2 V G0P1P2 V С0Р0Р1Р2 = |
|
|
= |
-n(-nG2-P2 V ^ G i - G 2 - P i V |
|
|
|
V - Go- G i - G2Po V - CnGo- G i - G2) |
|
(12.20) |
C16 = |
G3 + C12P3 = |
|
|
= |
G3 + G2F3 + G1P2P3 + GQP1F2P3+C0 P0P1P2P2 |
(12.21) |
|
|
G |
P |
|
-1P = |
-^ Po V -П Pi V ^ P2 V -1P3 |
|
(12.22) |
-I G = |
-1G3— P3 V -> G2~i G3-iP2 V -«Gi-" G2~' G3->PiV |
|
|
|
V - G 0 - G 1 - G 2 - G 3 |
|
(12.23) |
В схеме 74182 Gie не генерируется, но вместо него генерируют ся сигналы -iG (блок генерации) и — Р (блок распространения), из которых затем с помощью двух вентилей (в соответствии с уравне нием (12.21)) можно сформировать Gie-
На рис. 12.6 показана полная схема генератора с опережением переноса, содержащегося в схеме 74182. Входы Р^ и G^ и выходы Р и Gинвepтиpyютcя, чтобы обеспечить совместимость с сумматором, показанным на рис. 12.4.
Логический символ схемы 74182 можно найти на рис. 12.7. Схе му генератора с опережением переноса на 16 бит можно составить из 4 арифметико-логических устройств (АЛУ, ALU) показанных на рис. 12.4, а одной схемы 74182. Схема генератора показана на рис. 12.8.
12.4.2.Сравнение сумматоров
Втабл. 12.1 сравниваются 3 сумматора по их величинам времени задержки. Можно видеть, что при более высоких аппаратурных за тратах сумматоры CLA-типа обладает большим быстродействием.
Таблица 12.1. Время задержки |
/tp. |
|
|
|
|
|
4 бит |
16 бит |
64 бит |
Последовательный сумматор |
|
12 |
48 |
192 |
Сумматор с последовательным |
переносом |
9 |
33 |
129 |
Сумматор CLA-типа |
|
4 |
8 |
12 |
276 Глава 12. Арифметические устройства
47Г
|
тт~ |
144 |
^ & |
|
[>T |
|
|||
|
4 ^ p |
|
|||||||
|
|
|
|
Г •- |
|
|
|
|
|
-/'з |
1 1 |
1 |
1 |
|
|
•J |
|
|
|
|
|
|
i Т |
|
|
|
|
|
|
-•^3 |
\ |
\ \ |
|
|
|
|
|
|
|
|
|
|
1 |
W^ |
1~ |
|
|
|
|
|
• |
1 |
• |
г j — — — |
L |
{- |
|
|
|
|
|
|
|
1 |
|
~L_ |
>1 |
|
|
|
|
|
1 |_i |
L |
|
Э |
|||
-/>, |
т1 |
1 |
|
|
J1 — — — J |
|
|||
IT |
iX |
|
|
|
|||||
""/^2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
i |
TJX |
|
|
|
|
|
1 |
|
i T |
|
|
|
|
|
|
пР, |
|
|
T |
|
|
|
^ |
|
|
1 |
J |
1 |
|
|
|
|
|
||
/^ |
|
|
|
|
|
|
|
|
|
-.О] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
г |
|
|
|
|
.Ро |
1 |
|
|
|
|
|
|
>1 Э |
|
/^ |
|
|
|
|
|
|
|
|
|
-.Go |
|
|
|
|
|
|
|
|
|
[T]J
Рис. 12.6. Генератор с параллельным переносом 7418.
12.5.Арифметико-логические вычислительные устройства (А1и,АЛУ)
Арифметико-логические устройства (англ., arithmetic logic unit=ALU) должны иметь возможность наряду со сложением и вычитанием осу ществлять логические функции. Как правило, эти схемы содержат сумматор j\RR двух слагаемых. Кроме того, они в состоянии про водить с помощью специальной схемы такие логические операции с двумя операндами, как, например, побитовые И-соединения между двумя операндами.
12.5. Арифметико-логические вычислительные устройства 279
следующие уравнения ^щя сигналов от UQ ДО [/3- В случае М = О С/^ заменяют сигналы переноса Ct:
щ |
= -^ ЬМсо) |
|
|
|
|
|
(12.27) |
||
ui |
= -^ {-п Мд'о V - Мр'осо) |
|
|
|
|
(12.28) |
|||
^2 = |
- |
(- Мд[ V - Мд'^р[ V - |
MpJjp'iCo) |
|
(12.29) |
||||
из = |
- |
(- М^^ V -п Мд[р'2 V -п M^()p'op'i V - Mp'oPiP2Co) |
(12.30) |
||||||
|
|
|
|
|
& |
|
|
|
|
|
|
|
|
С |
& |
|
|
|
|
|
|
|
- i V / |
& |
г |
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
& |
>1 |
g-' |
|
|
|
|
|
|
|
|
|
S2
S3
Рис. 12.9. Логическая схема для генерации 16 различных функций.
В случае М = О (арифметические функции) эти уравнения иден тичны инвертированным уравнениям (12.5)-(12.7). Для М = 1 все
Ui = l.
Как можно видеть из рис. 12-4, при ->С{ с помощью логической функции «исключающее ИЛИ» (EXOR) формируются выходные функ ции:
-^Fi=UiM¥ti |
(12.31) |
Сигнал переноса и сигналы генерации блока и распространения |
|
блока создаются в соответствии с уравнением (12.8): |
|
-. С = Зз V 52Рз V 9'iP'2P'3 V 9oP'lP'2P3 |
(12.32) |
-- -Р = PoP'iP2P3 |
(12.33) |
С4 = G у Pop[p2p'sCQ |
(12.34) |