Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Книги / Книга Проектирование ВПОВС (часть 2)

.pdf
Скачиваний:
84
Добавлен:
01.06.2015
Размер:
4.62 Mб
Скачать

Операция умножения аналогична умножению в n-ричной системе счисления. Каждая группа рассматривается как цифра данной системы счисления. В соответствии с этим формируется таблица умножения цифр. Для получения полного произведения на основе таблицы умножения получаются частичные произведения с учетом сдвига, и осуществляется суммирование всех частичных произведений.

Предложенные в [7] алгоритмы выполнения операций обладают низкой скоростью, связанной с тем, что необходимо выполнять два шага:

суммирование и коррекцию суммы. В диссертационной работе разраба-

тываются методы, позволяющие ускорить выполнение операции за счет исключения этапа коррекции.

4.3.2.2. Параллельный перенос в сумматорах на основе системы «код

опережающий перенос»

Сумматор, предложенный в [7] строится как двухрядный сумматор и,

как следствие, время суммирования увеличивается в два раза. Если группа поля

в коде опережающий перенос содержит 8 бит, то время суммирования

оказывается равным 24

 

на верхнем уровне и 24

 

на нижнем. Общее время

 

сложения равно 48

 

. Для снижения времени суммирования разработаем

 

однорядный сумматор групп. В случае кода опережающий перенос число разрядов в каждой группе одинаково и равно 4 или 8 бит плюс один вспомогательный бит. Большее число бит усложняет аппаратную реализацию.

В силу этого разрабатывается методика построения однорядных сумматоров.

Для наглядности покажем её на примере 4-х битовой группы.

Сумматор групп, предлагаемый в работе [7] (рис. 4.3), содержит два слоя комбинационных двоичных сумматоров. Первый слой сумматоров производит сложение исходных операндов в форме групп (на рисунке показано только суммирование двух одноименных групп исходных слагаемых). Второй слой осуществляет коррекцию суммы и вспомогательных разрядов.

261

р

0

 

 

a

a

 

a

3

 

a

4

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

п

0

 

C

C

2

 

C

3

 

C

4

 

 

 

1

 

 

 

 

 

 

 

e

 

e

 

e

 

 

 

e

 

 

 

 

0

1

 

2

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

П

 

 

 

 

 

1

0

 

 

 

 

14

 

Sig=0

x1

x2

x3

d

x4

 

1

1

1

d

4

 

 

3

 

 

P

P

P

 

P

 

 

0

1

2

 

3

 

 

П

 

 

 

 

 

 

0

 

 

 

 

24

 

y0

y1

y2

y3

 

y4

 

 

 

S

 

 

 

 

Рис. 4.3

Двухрядный сумматор требует двух тактов суммирования и оказывается не эффективным по параметру быстродействия. Для реализации высоко-

скоростных операционных суммирующих узлов построим однорядный сумматор, что позволит выполнить операцию сложения за один такт. Для построения однорядного сумматора разобьем операцию суммирования на ряд элементарных операций. В частности, на операции сложения бит по модулю два, формирования разрядных и полных переносов, а также окончательных разрядных сумм. Тогда первый слой сумматоров может быть описан следующей системой уравнений:

R a c ; R

 

a

 

c

; R a

 

c

; R

 

a

 

c

;

 

1

 

1

1

 

2

 

 

2

 

2

3

 

3

 

3

 

4

 

 

4

4

 

P1 a1c1 ; P2 a2 c2 ; P3 a3c3 ; P4 a4 c4 ;

 

 

 

 

 

 

P1 4 P1 P2 R1 P3 R2 R1 P4 R3 R2 R1 ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

R1 4 R1 R2 R3 R4 ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,

e3 P4 e4 R4 ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(4.35)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

e2 P3 P4 R3 e4 R3 R4 ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

e1 P2 P3 R2 P4 R3 R2 e4 R4 R3 R2 ,

 

 

 

 

 

 

 

 

e0 P1 4 e4 R1 4 ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

4

=

e

4

R

; x

=

e

R

; x =

e

R

 

; x

 

= e

R .

 

 

 

4

 

 

3

 

 

3

 

3

2

 

2

 

 

2

1

1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

262

 

 

 

 

Так как

e

4

в младшей группе равно нулю, то x4 =

e

4

R

в младшей

 

 

4

группе равно x4

=

R

, а учитывая, что во всех старших группах

e

4

равно

4

 

единице, то x4 =

R

 

 

 

 

 

4 .

 

 

 

 

 

Далее получим выражения для замещения нижнего сумматора. С этой

целью вначале определим значение вспомогательного разряда и построим комбинационную схему условного суммирования вспомогательных бит. Вспомогательные биты всегда имеют, как было показано выше, отрицательный знак. Дополнительный разряд каждого слагаемого имеет одно из двух значений нуль или минус один. Кроме того, при суммировании в дополнительный разряд всегда добавляется минус единица. Таким образом, дополнительный разряд

Таблица истинности коррекции вспомогательных бит.

X0

X1

X2

 

e

0

d

3

d

4

Sign

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

0

1

 

0

 

0

 

1

 

1

 

 

 

 

 

 

 

 

 

 

 

 

1

1

0

1

 

0

 

1

 

0

 

1

 

 

 

 

 

 

 

 

 

 

 

 

2

0

1

1

 

0

 

1

 

0

 

1

 

 

 

 

 

 

 

 

 

 

 

 

3

1

1

1

 

0

 

1

 

1

 

1

 

 

 

 

 

 

 

 

 

 

 

 

4

0

0

1

 

1

 

0

 

0

 

0

 

 

 

 

 

 

 

 

 

 

 

 

5

1

0

1

 

1

 

0

 

1

 

1

 

 

 

 

 

 

 

 

 

 

 

 

6

0

1

1

 

1

 

0

 

1

 

1

 

 

 

 

 

 

 

 

 

 

 

 

7

1

1

1

 

1

 

1

 

0

 

1

 

 

 

 

 

 

 

 

 

 

 

 

8

0

0

0

 

0

 

*

 

*

 

*

 

 

 

 

 

 

 

 

 

 

 

 

9

1

0

0

 

0

 

*

 

*

 

*

 

 

 

 

 

 

 

 

 

 

 

 

10

0

1

0

 

0

 

*

 

*

 

*

 

 

 

 

 

 

 

 

 

 

 

 

11

1

1

0

 

0

 

*

 

*

 

*

 

 

 

 

 

 

 

 

 

 

 

 

12

0

0

0

 

1

 

*

 

*

 

*

 

 

 

 

 

 

 

 

 

 

 

 

13

1

0

0

 

1

 

*

 

*

 

*

 

 

 

 

 

 

 

 

 

 

 

 

14

0

1

0

 

1

 

*

 

*

 

*

 

 

 

 

 

 

 

 

 

 

 

 

15

1

1

0

 

1

 

*

 

*

 

*

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

263

 

 

 

 

 

суммы при отсутствии переноса может иметь 3, 2 или 1 отрицательные единицы, а при наличии переноса из группы 2, 1 или 0. Учитывая это, построим таблицу истинности для определения логических выражений формирования вспомогательных бит. Выходное значение вспомогательного разряда формируется как сумма двоичных единиц с учётом знака в форме двоичного дополнительного кода с учётом переноса из группы e0 . Нетрудно увидеть, что для представления числа достаточно трёх двоичных разрядов. Остальные получаются как размножение знакового разряда.

d

3

=

X

X

1

 

X

0

e

 

 

X e

;

 

 

 

 

0

 

 

 

 

 

0

 

 

 

 

1 0

 

 

d

4

=

X

0

X e

 

 

X

X e

 

X

X e

 

 

 

 

 

 

 

1 0

 

 

 

 

0

 

1

0

 

0

1 0 .

 

Sign =

X

0

 

 

X

1

 

X

2

 

e

 

 

 

 

 

 

 

 

 

 

 

 

 

0 .

 

 

X X e

0

1

0

Здесь

X

0

, X

1

– текущие дополнительные разряды слагаемых,

X

2

 

 

 

 

компенсирующая минус единица при сложении групп,

d

3 ,

d

4 –дополнительные

 

 

разряды

после

 

суммирования, а

Sign – знак.

 

Здесь следует отметить, что

значения

d

3

,

d

4

 

вычисляются в текущей группе,

а используются в следующей.

 

 

 

 

 

 

 

 

 

 

 

 

1

 

d

 

0

 

 

 

 

 

 

Разряд d3

имеет вес 2

относительно разряда

4

(2 ), а

сами они совпадают с

 

весами младших разрядов следующей перед ней старшей группы.

 

 

Второй

сумматор группы

осуществляет

коррекцию разрядов

суммы

текущей группы на основании дополнительных разрядов предыдущей группы.

Так как дополнительные разряды отрицательны, то формируется дополнительный код, разрядностью равной разрядности группы включая дополнительный разряд. Полученный код суммируется с текущим результатом соседней старшей группы. В результате формируется окончательная сумма и дополнительный разряд, равный нулю или минус единица. Таким образом,

дополнительный разряд всегда равен нулю или минус единице перед началом любой операции. Коррекция может осуществляться на сумматоре аналогичном сумматору первого уровня, однако в силу того, что второе слагаемое имеет фактически всегда заранее известную структуру, то процесс коррекции

264

результата может быть существенно упрощён. Действительно, возможны

только четыре типа корректирующих кодов 0.0000, 1.1111, 1.1110, 1.1101

0

 

1

P

0

x

 

1

P1

x

2

 

1

P2

x

3

 

d

3

P

 

x

4

 

d

4

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

x1

 

 

 

x2

 

 

 

x3

 

 

 

 

 

x4

 

 

y

0

 

 

 

y

1

 

 

 

y

2

 

 

 

y

3

 

 

 

 

 

y

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y

4

 

y

3

 

y

2

 

y

 

1

y

0

 

 

d

x

4

d

x

4

4

 

 

4

 

d P x d

3

3

 

3

3

 

 

P x

2

x

2

P

2

 

 

2

x P

 

x P

 

1

1

1

 

1 ,

P

 

 

 

 

 

 

0 .

 

 

 

 

 

,

P d

4

x

4 ;

 

 

3

 

 

 

 

P x

d P x

 

3

3

 

 

3

 

3

3

,

P x

2

P

 

1

 

 

 

2

 

P x

 

P

;

 

 

0

1

 

 

1

;

d P x

3

3

3

,

P2

d x

3

3

d P

3

3

P x

3

3

;

 

На основании вышеприведенных выражений получим полный

однорядный сумматор. Это достигается тем, что выходные переменные

y

i выражаются через входные переменные ai, bi, di, где i = 0, 1, 2, 3, 4, … n (n

 

число разрядов в группе) и в результате получаем один слой суммирования.

Либо через входные переменные выражается как первый, так и второй слой, а

затем логические схемы объединяются. На основе предложенных методов и строится однорядный сумматор, путём объединения операции суммирования и коррекции в одном логическом устройстве.

Для примера рассмотрим функции

e

P

e R

и х1=

e

R

0

1 4

4

1 4

1

1

Функция P1-4 равна Р1 4 Р1 Р2 R1 Р3R2 R1

P4 R3R2 R1 .

Подставляя

значения переменных через входные переменные, получим

P1 4 a1c1 a2c2a1c1 a2c2a1c1 .a4c4a1c1a2c2 a4c4a1c1a2c2 a4c4a1c1a2c2 a4c4a1c1a2c2 .

.a4c4a3c3a1c1a2c2 a4c4a3c3a1c1a2c2 a4c4a3c3a1c1a2c2 a4c4a3c3a1c1a2c2

a4c4a3c3a1c1a2c2 a4c4a3c3a1c1a2c2 a4c4a3c3a1c1a2c2 a4c4a3c3a1c1a2c2 .

Аналогично для R1-4

265

R

1-4

a c a

c a c a

c

4

a c a

c

 

a c a

c

4

a c a

c

 

a c a

c

4

a c a

c

 

a c a

c

4

 

 

 

 

1 1

2

 

2

 

3 3

4

 

 

 

 

 

1

1

2

 

2

 

 

3 3

4

 

 

 

 

 

 

1

1

2

 

2

 

 

3 3

4

 

 

 

 

 

1

 

1

2

 

2

 

 

3 3

4

 

 

a c a

c a c a

c a c a

c

a c a

c

4

a c a

c

a c a

c

4

a c a

c

a c a

c

4

 

 

 

 

 

1

1

2

2

3

3

4

 

 

1

1

 

2

 

2

 

3

3

4

 

 

 

1

1

 

2

 

2

 

 

3

3

4

 

 

 

1

1

 

2

 

2

 

3

 

3

4

 

 

 

 

 

 

 

 

a c a

c

a c a

c

4

a c a

c

a c a

c

4

a c a

c

a c a

c

4

a c a

c

a c a

c

4

 

 

 

 

 

1

1

2

2

3

3

4

 

 

1

 

1

2

 

2

 

3

3

4

 

 

 

 

1

 

1

2

 

2

 

 

3

3

4

 

 

 

 

1

 

1

2

 

2

 

3

3

 

4

 

 

 

 

 

 

 

 

a c a

c a c a

c

4

a c a

c

a c a

c

4

a c a

c

a c a

c

4

a c a

c

a c a

c

4

 

 

 

 

 

1

1

2

2

3

3

4

 

 

1

 

1

2

 

2

 

3

3

4

 

 

 

 

1

 

1

2

 

2

 

 

3

3

4

 

 

 

 

1

 

1

2

 

2

 

3

3

 

4

 

 

 

 

 

 

 

 

 

 

 

Учитывая, что e4 во всех группах кроме последней равна единице, то

время определения е0 3

 

. Аналогично для е1

и других е.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

e1 a2c2 a3c3a2c2 a3c3a2c2 a4c4a3c3a2c2 a4c4a3c3 a4c4a3c3a2c2 e4a4c4a3c3a2c2

e4a4c4a3c3a2c2 e4a4c4a3c3a2c2 e4a4c4a3c3a2c2 e4a4c4a3c3a2c2 e4a4c4a3c3a2c2

e4a4c4a3c3a2c2 e4a4c4a3c3a2c2

На основе предложенного метода ускорения выполнения операции в группе можно построить однорядный сумматор, объединив операцию суммирования и коррекцию в одном логическом устройстве. Рассмотрим применение данного метода на сумматоре 4-х разрядной группы. Как показано выше сумматор группы:

x

4

R

 

4

Откуда

(e

 

4

y

4

 

1)

d4

или

R4

x

 

4

d

4

 

R(e

 

4

R

или

4

0)

y

4

 

и

y

4

d

4

S

4

 

 

 

d

R d

4

4

d

S

4

 

4

R

4

4

.

.

Окончательно:

 

y

4

d

a

c

4

d

4

a

4

c

4

d

4

a

c

4

 

d

a

c

4

,

 

 

 

 

 

 

 

 

 

 

 

 

 

4

4

 

 

 

 

 

 

 

 

 

4

 

 

 

 

4

4

 

 

 

 

 

 

 

 

 

 

 

 

P3 d4a4c4 d4a4c4 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Для переменной y3 получим:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c3 R3 d3 P3 d

3

P3 c3 R3 d3

 

 

3 P3

 

y3

 

P3 d

 

e3

R3 e3 R3 d3 P3 e3

R3 e3 R3 d

3

 

 

 

 

 

P3 ;

 

R3 P4

 

R4

R3 a4c4 a4

 

 

 

 

 

R3 a4 c4

 

 

e3

 

 

4

 

a4c4

a3c3 a3c3

 

c

 

 

a4 c4

(a3 c3 )(a3 c3 ) a4

 

c4

a3c3 a3c3

a4a3c3 a4a3

 

3 c4a3c3 c4a3c3

;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

266

e R

 

 

 

P R

R

 

 

 

P R R

 

 

a

4

c

4

a

c

4

 

a

c

4

R

 

 

 

 

 

 

 

 

3

 

3

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

4

 

3

 

 

 

 

 

 

4

 

 

4

3

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

4

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

a

 

c

4

 

a

c

4

R

 

 

a

c

4

 

a c

 

a c

 

 

a c a

 

c

4

a c a

c

.

 

 

 

 

 

 

 

4

 

 

 

 

 

 

4

 

 

 

 

 

3

 

 

 

 

 

 

 

4

 

 

 

 

3

 

3

 

 

 

3

3

 

 

 

 

3

3

 

 

4

 

 

 

 

 

 

3

 

3

4

 

4

 

 

 

 

 

 

d

3

P d

 

a

 

c

 

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

3

3

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

d

3

P d

(a

 

c ) d

 

a

 

 

d

c

 

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

3

 

 

3

 

 

 

 

 

 

3

 

 

 

 

 

 

3

 

3

 

 

 

 

 

3

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

P d

 

x

 

d

P P x

 

 

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

3

 

 

3

 

 

 

 

3

 

 

 

3

 

 

 

 

3

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y

 

d

3

a c

a

a c

 

 

a

 

a c

 

c

a c

c

a c

 

d

3

a

,

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

3

3

 

 

 

 

4

 

3

 

3

 

 

 

 

 

4

 

 

3

3

 

 

 

4

 

 

3

 

3

 

 

 

4

 

 

3

 

3

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

a

a c

 

 

a a c

 

c

a c

 

 

c

4

a c

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

3

 

3

 

 

 

 

 

4

 

 

 

3

 

3

 

 

 

 

 

4

 

 

3

 

3

 

 

 

 

 

3

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

d

a

 

a c

 

d

c

a c

 

 

d

a

a c

 

d

a

a

d

 

a a c

 

d

c a c

,

 

 

 

 

3

 

4

 

 

3

 

3

 

 

 

 

 

 

 

 

3

 

4

 

 

 

3

 

3

 

 

 

 

 

3

 

 

4

 

3

3

 

 

 

 

3

 

4

 

 

3

 

 

 

 

 

3

 

4

 

 

3

3

 

 

 

3

 

4

3

3

 

 

P d

 

 

x

 

d

3

d

a c

d

 

d

a c

x d

a c

 

x d

a c

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

3

 

3

 

 

 

 

 

 

4

 

4

 

 

4

 

 

 

 

 

 

3

 

4

 

 

4

 

4

 

 

 

 

3

 

4

 

 

4

4

 

 

 

 

 

3

 

4

 

4

 

4 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Аналогично для остальных.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таким образом, однорядный сумматор обеспечивает задержку 6

 

. Это

 

 

 

 

 

 

обусловлено тем,

что

d

3

,

d

4

вычисляются через предварительное определение

 

 

 

 

 

е0. Если заменить в логических выражениях для

 

 

 

d

3

, d4

 

переменную е0

на её

 

 

 

 

 

 

значение через исходные переменные, то время уменьшится до 3

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Суммируя

 

вышесказанное

можно

утверждать,

 

 

что

для

реализации

сумматора в коде «опережающий перенос» следует использовать одноуровневый сумматор. Хотя при необходимости экономии можно использовать два уровня логических схем. Задержка при этом несколько увеличивается, но оборудование и число входов на элементах “ИЛИ” в целом сокращается. Также следует отметить, что метод одноуровнего сумматора более пригоден и для реализации на ПЛИС.

Рассмотрим построение сумматора для 4-и 8-битовой групп. На рис. 4.4

показан 4-битовый сумматор.

267

-1/0

 

a

 

2

 

a

3

 

a

4

 

1

 

 

 

 

 

 

 

 

a

 

 

 

 

 

 

c1

 

c 2

 

 

c 3

 

 

c 4

 

е

 

е

 

е

 

е

 

+1/0

Sign

0

1

2

3

4

 

 

 

 

Sign

 

S

 

S

 

 

S

 

 

S

 

 

1

 

2

 

 

3

 

 

4

 

 

 

 

 

S1-4

 

 

 

 

 

Рис. 4.4

 

a5

a6

 

a7

a8

 

 

c5

 

c 6

c 7

 

c 8

e 4

e5

 

e6

e7

 

+1/0

 

 

 

 

8

 

S5

 

S6

S7

S8

 

 

 

 

S5-8

 

 

-1/0

 

 

a1

a2

a3

a4

 

 

 

 

 

 

 

 

 

c1

 

 

 

 

c 2

 

 

 

 

c 3

 

 

 

 

c 4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

е0

 

 

 

 

е1

 

 

 

 

 

 

е2

 

 

 

 

 

е3

 

 

 

 

 

e 4

Sign

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Sign

 

 

 

 

S1

 

 

 

 

S2

 

 

 

 

S3

 

 

 

 

S4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S1-4

Рис. 4.5

При размерности группы в 8 бит построить полностью параллельную систему переноса затруднительно, так как с ростом бит существенно возрастает число входов элементов И – ИЛИ. Поэтому 8-битовый сумматор строится как два последовательно соединяемых сумматора по 4 бита каждый.

268

Первая группа сумматоров производит сложение исходных операндов,

начиная с младших разрядов. Вторая группа сумматоров определяет сумму соответственно старших разрядов (рис. 4.5).

Суммирование начинается с младших разрядов. Для них можно записать следующую систему уравнений.

Сумматор младших разрядов:

R a

 

c

; R a

 

 

c

; R a

 

c

; R a

 

 

c

;

 

5

 

 

5

5

 

6

 

 

 

6

 

 

 

6

 

7

7

 

 

7

8

 

 

8

 

8

 

 

 

P5 a5c5 ; P6 a6 c6 ; P7 a7 c7 ; P8

a8c8 ;

 

 

 

 

 

 

 

 

 

 

P5 8 P5 P6 R6 P7 R6 R5 P8 R7 R6 R5 ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

R5 8 R5 R6 R7 R8 ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

e7 P8 e8 R8 ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(4.36)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

e6 P7 P6 R5 e4 R3 R4 ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

e5 P6 P7 R6 P8 R7 R6 e8 R8 R7 R6 ,

 

 

 

 

 

 

 

 

 

 

 

e4 P5 8 e8 R5 8 ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S8 =

e

 

R

 

 

 

e

 

R

e

 

R

; S5=

e

R

 

 

8

 

8 ; S7=

 

 

7

 

 

 

7 ;S6=

 

6

 

6

5

 

 

5

 

 

 

 

 

Сумматор старших разрядов:

 

 

 

 

 

 

 

 

 

 

 

R a c ; R

 

a

 

 

c

; R a

 

c

; R

 

a

 

c

 

;

 

1

 

1

1

 

2

 

 

 

2

 

 

 

2

 

3

3

 

 

3

 

4

 

 

 

4

 

4

 

 

P1 a1c1 ; P2 a2 c2 ; P3 a3c3 ; P4

a4 c4 ;

 

 

 

 

 

 

 

 

 

 

P1 4 P1 P2 R1 P3 R2 R1 P4 R3 R2 R1 ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

R1 4 R1 R2 R3 R4 ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

e3 P4 e4 R4 ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(4.37)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

e2 P3 P4 R3 e4 R3 R4 ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

e1 P2 P3 R2 P4 R3 R2 e4 R4 R3 R2 ,

 

 

 

 

 

 

 

 

 

 

 

e0 P1 4 e4 R1 4 ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S = e

 

 

R

; S =

e

 

 

 

R

; S = e

 

R ; S =

e

 

 

 

 

.

4

 

 

 

3

 

 

 

 

 

 

1 R

4

 

 

4

 

3

 

 

 

 

 

 

3

2

2

 

 

 

2

 

1

 

 

 

 

 

 

1

 

 

 

 

 

Считая что время срабатывания элементов И, ИЛИ, НЕ одинаково и

равно , получим,

 

что сумматор формирует результат за 3 при сложении 4-х

битовых групп и 6 при сложении 8-битовых групп.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

269

 

 

 

 

 

 

 

 

 

Для сравнения рассмотрим также параллельный сумматор на 8 бит.

R

a

5

c

 

; R

 

a

6

c

 

; R

 

a

7

c

7

; R

a

c

 

;

 

5

 

 

 

 

 

 

5

 

 

6

 

 

 

 

 

 

 

6

 

 

 

 

7

 

 

 

 

 

 

 

8

 

 

8

8

 

R a

 

 

c

; R

a

2

c

; R

 

a

3

c

; R

a

4

c

;

 

1

 

 

1

 

 

 

 

1

 

 

 

2

 

 

 

 

 

 

2

 

 

 

 

3

 

 

 

 

 

3

 

 

 

4

 

 

4

 

 

P a

 

c

 

; P a

c

 

; P a

c

7

; P a c

 

;

 

 

 

 

 

 

 

 

5

 

 

5

 

5

 

 

6

 

 

6

6

 

 

 

7

 

 

7

 

 

 

8

 

 

 

 

8

8

 

 

 

 

 

 

 

 

P a c

; P a

 

c

; P a

c

3

; P a

c

 

;

 

 

 

 

 

 

 

 

1

 

 

1

 

1

 

 

2

 

 

 

2

 

2

 

 

 

 

3

 

 

3

 

 

 

 

4

 

 

 

 

4

4

 

 

 

 

 

 

 

 

 

P

 

P P R P R R P R R R ;

 

 

 

 

 

 

 

 

 

 

 

 

1 4

 

 

 

 

1

 

 

 

 

2

1

 

 

 

3

 

2

1

 

 

 

 

4

 

3

2

 

1

 

 

 

 

 

 

 

 

 

 

 

P

 

 

P P R P R R P R R R

;

 

 

 

 

 

 

 

 

 

 

 

5 8

 

 

 

 

5

 

 

 

6

6

 

 

 

 

 

7

6

5

 

 

 

 

 

8

7

 

 

6

 

5

 

 

 

 

 

 

 

 

 

 

 

P

 

P P R P R R P R R R

 

 

 

 

 

 

 

 

 

 

 

1 8

 

 

 

 

1

 

 

 

2

 

1

 

 

 

3

 

2

1

 

 

 

 

4

 

3

2

 

1

 

 

 

 

 

 

 

 

 

 

 

P R R R R P R R R R R P R R R R R R

 

 

 

 

 

5

4

3

 

 

2

1

 

 

 

6

 

5

 

 

 

4

3

2

 

1

 

 

7

 

 

6

 

5

 

4

3

2

1

 

 

 

P R R R R R R R ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8

 

7

 

 

6

 

5

 

 

4

3

 

 

2

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

R

 

 

R R R R

;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 4

 

 

 

 

1

 

2

 

 

3

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

R

 

 

R R R R

;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5 8

 

 

 

 

 

5

 

6

 

 

7

8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

R

 

 

R R R R R R R R

;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 8

 

 

 

 

1

 

2

 

3

4

 

 

5

 

 

6

7

8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

e

7

P

 

 

e R

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8

 

 

 

 

8

 

 

8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

e

 

P P R e

R R

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7

 

 

 

 

6

 

 

5

 

 

4

 

 

 

3

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

e

 

P P R P R R e R R R

,

 

 

 

 

 

 

 

 

 

 

5

 

 

6

 

 

 

 

7

 

 

6

 

 

8

 

 

 

7

6

 

 

 

8

 

 

8

7

 

 

6

 

 

 

 

 

 

 

 

 

 

 

 

e

 

P

 

 

 

 

e R

 

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5 8

 

 

 

8

 

5 8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

e

 

P e

R

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

4

 

 

 

 

4

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

e

 

P P R e R R

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

3

 

 

 

 

4

 

 

3

 

 

4

 

 

 

3

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

e

 

P

 

 

P R P R R e

 

R R R

,

 

 

 

 

 

 

 

 

 

 

 

1

 

 

2

 

 

 

 

3

 

 

2

 

 

 

4

 

 

 

3

2

 

 

 

4

 

 

4

3

 

 

2

 

 

 

 

 

 

 

 

 

 

 

e

 

P

 

 

 

e

 

R

 

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 4

 

 

 

4

 

1 4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                

.

В логических выражениях, приведенных выше, задержка, определяемая каждым членом выражения, составляет 3 . Так как все переменные, являются суперпозицией исходных переменных, задержка в восьмиразрядном сумматоре

увеличивается

до 6

 

. Заменяя

в выражениях

P1 4 , 5 8 ,

1 8 , R1 4 , 5 8

, 1 8 ,

 

 

 

 

 

 

 

P

P

R

R

промежуточные

переменные на

входные, время

выполнения

операции

снижается и равно 3

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Однако в максимальном случае, например, при формировании

переменной

1 8

, понадобится элемент с 16-входовыми элементами (И)

и 7-

 

P

 

 

 

 

 

 

 

 

 

 

входовыми элементами (ИЛИ), что существенно усложняет реализацию на ПЛИС. Поэтому для построения сумматоров групп содержащих 8 бит и более

270