Transcript

CircuitosCircuitosDigitaisDigitais

ULA MultifunçãoMultiplicadores

Aula 14

INF01058

Circuitos Digitais

Unidade Aritmética Unidade Aritmética e e Lógica Lógica - ULA- ULAExemplo Exemplo de de uma uma ULA Simples de 4 Bits - 12 ULA Simples de 4 Bits - 12 EntradasEntradas, 5 , 5 SaídasSaídas

F0-3

ALUALU

C4

Cin

MS0-1

B0-3A0-3 M = Modo• 1 funções aritméticas• 0 funções lógicas

S = Seleção da função

cada estágiocada estágio

S1Bi

Ci+1

Fi

S0Ai

MCin

Circuitos Digitais

Funções Lógicas Funções Lógicas com M = 0com M = 0

- O valor de Cin não importa- Ci+1 pode ser 0 ou 1, dependendo de Ai e Bi, mas isto não

afeta o estágio seguinte Portanto: Fi depende apenas de Ai, Bi e da seleção S0 e S1

S10011

S00101

FiAiAiAi ⊕ BiAi ⊕ Bi = Ai ⊕ Bi (função equivalência)

Circuitos DigitaisFunções Aritméticas Funções Aritméticas com M = 1 e com M = 1 e CCin in = 0= 0

M = 1 faz com que Ci se propague através do estágio

S10011

S00101

FFi = Ai F = AFi = Ai F = A F = 1’s de AFi = Bi ⊕ Ai ⊕ Ci F = A mais BFi = Bi ⊕ Ai ⊕ Ci F = A mais B = B + 1’s de A ou B – A em 1’s

Funções Aritméticas Funções Aritméticas com M = 1 e com M = 1 e CCin in = 1= 1

FF0 = A0 ⊕ 1F0 = A0 ⊕ 1F0 = A0 ⊕ B0 ⊕ 1F0 = A0 ⊕ B0 ⊕ 1

S10011

S00101

F0 = A0 mais 1 F = A mais 1F0 = A0 mais 1 F = A mais 1 = 2’s de AF0 = A0 mais B0 mais 1 F = A mais B mais 1F0 = A0 mais B0 mais 1 F = A mais B mais 1

= B – A em 2’s

Circuitos Digitais

Para M=1, S1=1 e Cin(0) =(0,1) a ULA converte-se em um bloco Somador/Subtrator

Ai Bi

Cout

Soma/Dif.(i)

Cin Fulladder

Circuitos Digitais

Comparador

X

YCOMP = 1 se X = Y

= 0 se X ≠ Y

X Y COMP

0 0 1

0 1 01 0 0

1 1 1

COMP = X Y + X Y = X ⊕ Y

Circuitos Digitais

Planta Baixa tipo Bit-Slice

Bit 3

Bit 2

Bit 1

Bit 0

Re g

i st e

r

Add

er

Shi f

ter

Mul

tipl

exer

Control

Dat

a -In

Dat

a-O

ut Bit-Slice de mesma altura“Tiling” de elementos aritméticos e registradores

Circuitos Digitais

Multiplicador de 2 bits. Síntese de circuito combinacional

X1 X0 Y1 Y0 P3 P2 P1 P0

0 0 0 0 0 0 0 00 0 0 1 0 0 0 00 0 1 0 0 0 0 00 0 1 1 0 0 0 00 1 0 0 0 0 0 00 1 0 1 0 0 0 10 1 1 0 0 0 1 00 1 1 1 0 0 1 11 0 0 0 0 0 0 01 0 0 1 0 0 1 01 0 1 0 0 1 0 01 0 1 1 0 1 1 01 1 0 0 0 0 0 01 1 0 1 0 0 1 11 1 1 0 0 1 1 01 1 1 1 1 0 0 1

P3 = m15

P2 = ∑ m (10, 11, 14)

P1 = ∑ m (6, 7, 9, 11, 13, 14)

P0 = ∑ m (5, 7, 13, 15)

1 1

1 1

1 1

P1X1X0

Y1Y000 01 11 10

00

01

11

10

P1 = X1X0Y1 + Y1Y0X1 + X1X0Y0 + Y1Y0X0

0

00

00

0 0 0 0

0

Circuitos Digitais

Multiplicador através de ‘Rede de Somadores’

A ⇒ a3 a2 a1 a0 B ⇒ b3 b2 b1 b0

_____________________________________________

a3.b0 a2.b0 a1.b0 a0.b0a3.b1 a2.b1 a1.b1 a0.b1

a3.b2 a2.b2 a1.b2 a0.b2 a3.b3 a2.b3 a1.b3 a0.b3 +

__________________________________________________________________________________________

P7 P6 P5 P4 P3 P2 P1 P0

(A x B = P)(A x B = P)

• Os produtos an.bn são obtidos através da função AND entre an e bn.

• As somas são realizadas com somadores completos (FA) e meio-somadores (HA)

• Há diversas formas de agrupar as somas, cuidando sempre para que os carry-outs

(‘vai um’) gerados sejam considerados na coluna seguinte.

Circuitos Digitais

Uso de Produtos Parciais

1 0 1 1

1 0 1 0 1 0

0 0 0 0 0 0

1 0 1 0 1 0

1 0 1 0 1 0

1 0 1 0 1 0

×

1 1 1 0 0 1 1 1 0

+

Produtos Parciais

Operação AND

Circuitos Digitais

Multiplicador tipo array de 4 bits(Produto Z tem 8 bits)

HA FA FA HA

FA FA FA HA

FA FA FA HA

X0X1X2X3 Y1

X0X1X2X3 Y2

X0X1X2X3 Y3

Z1

Z2

Z3Z4Z5Z6

Z0

Z7

16 ANDS 4 Half-Adders 8 Full-Adders

Circuitos Digitais

Multiplicador de M bits x N bits -Caminhos críticos

HA FA FA HA

HAFAFAFA

FAFA FA HA

Critical Path 1

Critical Path 2

Critical Path 1 & 2

Circuitos Digitais

Multiplicador tipo carry-saveHA HA HA HA

FAFAFAHA

FAHA FA FA

FAHA FA HA

Vector Merging Adder

Circuitos Digitais

Multiplicador Wallace Tree

Circuitos Digitais

Multiplicadores - Sumário• Otimização específica das Células de FA, HA, AND

• Identificar o caminho crítico combinacional

• Outras técnicas utilizadas na prática

- Recodificação do Multiplicando (Codificação de Booth)- Pipelinização do multiplicador

Otimizações no nível sistema (Barramentos p/ Operandos)

- Atraso logarítmico versus Linear (Árvore deWallace para Multiplicação)


Top Related