circuitos aritméticos - utfpr

27
Circuitos Aritméticos Circuitos Aritméticos Nikolas Libert Aula 8 Eletrônica Digital ET52C Tecnologia em Automação Industrial

Upload: others

Post on 17-Jul-2022

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Circuitos Aritméticos - UTFPR

Circuitos AritméticosCircuitos Aritméticos

Nikolas Libert

Aula 8

Eletrônica Digital ET52CTecnologia em Automação Industrial

Page 2: Circuitos Aritméticos - UTFPR

DAELT ● Nikolas Libert ● 2

Circuitos Aritméticos

Circuitos Aritméticos

Circuitos combinacionais.

Utilizados para construção da ULA (Unidade Lógica Aritmética) de microcontroladores.

Disponíveis em circuitos integrados comerciais.

Principais circuitos:

– Somador

– Subtrator

– Somador/Subtrator

Page 3: Circuitos Aritméticos - UTFPR

DAELT ● Nikolas Libert ● 3

Meio Somador

Circuito Meio Somador

Realiza a soma de duas variáveis de 1 bit. O resultado é de 1 bit.

Deve indicar quando o resultado não pode ser representado por um único bit.

– Sinal de “vai-1” ou carry.

0+ 0 0

0+ 1 1

1+ 0 1

1 1

+ 1 10

“vai-1”(carry)

Page 4: Circuitos Aritméticos - UTFPR

DAELT ● Nikolas Libert ● 4

Meio Somador

MeioSomador

A

B

SCo Entrada Saída

A B S Co

0 0 0 0

0 1 1 0

1 0 1 0

1 1 0 1

CA+ BCS

0+ 0 0

0+ 1 1

1+ 0 1

1 1

+ 1 10

“vai-1”(carry)

Meio Somador

A

B

S

Co

A: Operando 1B: Operando 2S: SaídaCo: Carry out (“vai-1”)

Page 5: Circuitos Aritméticos - UTFPR

DAELT ● Nikolas Libert ● 5

Somador Completo

Somador Completo

Necessário para soma de números de mais de 1 bit.

Circuito modular:

– Uma célula somadora por bit.

Realiza a soma entre três bits:

– Dois de entrada e um de carry (“vai-1”) do estágio anterior.

1 1 1 0 1 1 1 0

+ 0 1 1 0 1 0 1 0 0

Co=0Co=1

Co=1Co=1

Page 6: Circuitos Aritméticos - UTFPR

DAELT ● Nikolas Libert ● 6

Somador Completo

SomadorCompleto

A

BSCoCi

Entrada Saída

A B Ci S Co

0 0 0 0 0

0 0 1 1 0

0 1 0 1 0

0 1 1 0 1

1 0 0 1 0

1 0 1 0 1

1 1 0 0 1

1 1 1 1 1

… Co Ci ? … ?… ? A ? ... ?

+ … ? B ? ... ?? … ? S ? ... ?

“vai-1”“vai-1”

A: Operando 1B: Operando 2Ci: Carry in (entrada)S: SaídaCo: Carry out (saída)

Page 7: Circuitos Aritméticos - UTFPR

DAELT ● Nikolas Libert ● 7

Somador Completo

SomadorCompleto

A

BSCoCi

Entrada Saída

A B Ci S Co

0 0 0 0 0

0 0 1 1 0

0 1 0 1 0

0 1 1 0 1

1 0 0 1 0

1 0 1 0 1

1 1 0 0 1

1 1 1 1 1

B B0 1 0 1

1 0 1 0

A

A

Ci Ci Ci

Saída S:

Saída Co:

B B0 0 1 0

0 1 1 1

A

A

Ci Ci Ci

Co=AB+ACi+BCi

S=A + B + Ci

- Não é simplificável por portas lógicas básicas. Pode ser representada por portas XOR.

- Como um circuito de paridade com saída invertida.

Page 8: Circuitos Aritméticos - UTFPR

DAELT ● Nikolas Libert ● 8

Somador Completo

SomadorCompleto

A

BSCoCi

Entrada Saída

A B Ci S Co

0 0 0 0 0

0 0 1 1 0

0 1 0 1 0

0 1 1 0 1

1 0 0 1 0

1 0 1 0 1

1 1 0 0 1

1 1 1 1 1

Co=AB+ACi+BCi

S=A + B + Ci

A

SB

Ci

Somador Completo

Co

Page 9: Circuitos Aritméticos - UTFPR

DAELT ● Nikolas Libert ● 9

Somador Completo

MeioSomador

A0

B0

S0

Co

Exemplo de circuito para soma de números de 4 bits.

A3 A2 A1 A0

+ B3 B2 B1 B0

S4 S3 S2 S1 S0

SomadorCompleto

A1

Ci

B1

S1

Co

SomadorCompleto

A2

Ci

B2

S2

Co

SomadorCompleto

A3

Ci

B3

S3

S4

SomadorCompleto

A

BSCoCi

Page 10: Circuitos Aritméticos - UTFPR

DAELT ● Nikolas Libert ● 10

Somador Completo de 4 bits

CI Dedicado

– 74LS83 e 74LS283

– Já possuem interligações internas para soma de 4 bits.

– O “carry in” do primeiro bit é acessível por um pino. Isso possibilita o cascateamento de somadores.

Page 11: Circuitos Aritméticos - UTFPR

DAELT ● Nikolas Libert ● 11

Somador Completo de 4 bits

Ache a saída do circuito para as entradas abaixo:

– A=13

– B=3

– Ci=1

74LS83

A3

A2

A1

A0

B3

B2

B1

B0

S3

S2

S1

S0

Co

Ci

A=A3A2A1A0

B=B3B2B1B0

R.: CoS3S2S1S0 = 0b10001

Page 12: Circuitos Aritméticos - UTFPR

DAELT ● Nikolas Libert ● 12

Meio Subtrator

Circuito Meio Subtrator

Realiza a subtração de duas variáveis de 1 bit. O resultado é de 1 bit.

Deve indicar quando a conta só é possível com o “empréstimo” de 1 bit.

– Sinal de “empresta-1” ou borrow.

0- 0 0

1- 0 1

-1 0- 1

1“empresta-1”

(borrow)

1- 1 0

Page 13: Circuitos Aritméticos - UTFPR

DAELT ● Nikolas Libert ● 13

Meio Subtrator

MeioSubtrator

A

B

SBo Entrada Saída

A B S Bo

0 0 0 0

0 1 1 1

1 0 1 0

1 1 0 0

Meio Subtrator

A

B

S

Bo

A: Operando 1B: Operando 2S: SaídaBo: Borrow out (“empresta-1”)

0- 0 0

1- 0 1

-1 0- 1

1borrow

1- 1 0

-Bo A- B S

Page 14: Circuitos Aritméticos - UTFPR

DAELT ● Nikolas Libert ● 14

Subtrator Completo

Subtrator Completo

Necessário para subtração de números de maisde 1 bit.

Circuito modular:

– Uma célula subtratora por bit.

Realiza a subtração com três bits:

– Dois de entrada e um de borrow (“empresta-1”) do estágio anterior.

0 -1 -1 1 1 0 0

- 0 0 1 1 1 0 0 1

Bo=1Bo=1

Bo=0Bo=0

Page 15: Circuitos Aritméticos - UTFPR

DAELT ● Nikolas Libert ● 15

Subtrator Completo

SubtratorCompleto

A

BSBoBi

Entrada Saída

A B Bi S Bo

0 0 0 0 0

0 0 1 1 1

0 1 0 1 1

0 1 1 0 1

1 0 0 1 0

1 0 1 0 0

1 1 0 0 0

1 1 1 1 1

… -Bo -Bi ? … ?… ? A ? ... ?

- … ? B ? ... ?? … ? S ? ... ?

“empresta-1”“empresta-1”

A: Operando 1B: Operando 2Bi: Borrow in (entrada)S: SaídaBo: Borrow out (saída)

Page 16: Circuitos Aritméticos - UTFPR

DAELT ● Nikolas Libert ● 16

Subtrator Completo

SubtratorCompleto

A

BSBoBi

Entrada Saída

A B Bi S Bo

0 0 0 0 0

0 0 1 1 1

0 1 0 1 1

0 1 1 0 1

1 0 0 1 0

1 0 1 0 0

1 1 0 0 0

1 1 1 1 1

B B0 1 0 1

1 0 1 0

A

A

Bi Bi Bi

Saída S:

Saída Bo:

B B0 1 1 1

0 0 1 0

A

A

Bi Bi Bi

Bo=AB+ABi+BBi

S=A + B + Bi

- Não é simplificável por portas lógicas básicas. Pode ser representada por portas XOR.

- Como um circuito de paridade com saída invertida.

Page 17: Circuitos Aritméticos - UTFPR

DAELT ● Nikolas Libert ● 17

Subtrator Completo

SubtratorCompleto

A

BSBoBi

Entrada Saída

A B Bi S Bo

0 0 0 0 0

0 0 1 1 1

0 1 0 1 1

0 1 1 0 1

1 0 0 1 0

1 0 1 0 0

1 1 0 0 0

1 1 1 1 1

Bo=AB+ABi+BBi

S=A + B + Bi

A

SB

Bi

Subtrator Completo

Bo

Page 18: Circuitos Aritméticos - UTFPR

DAELT ● Nikolas Libert ● 18

Subtrator Completo

MeioSubtrator

A0

B0

S0

Bo

Exemplo de circuito para subtração de númerosde 4 bits.

A3 A2 A1 A0

- B3 B2 B1 B0

S3 S2 S1 S0

SubtratorCompleto

A1

Bi

B1

S1

Bo

SubtratorCompleto

A2

Bi

B2

S2

Bo

SubtratorCompleto

A3

Bi

B3

S3

SubtratorCompleto

A

BSBoBi

Page 19: Circuitos Aritméticos - UTFPR

DAELT ● Nikolas Libert ● 19

Somador/Subtrator Completo

Somador/Subtrator Completo

Efetua operação de soma ou subtração.

Pino adicional de controle:

– Nível Alto: Subtração.

– Nível Baixo: Adição.

Somador/SubtratorCompleto

A

BSC/BoC/Bi

M

Page 20: Circuitos Aritméticos - UTFPR

DAELT ● Nikolas Libert ● 20

Somador/Subtrator Completo

Entrada Saída

A B Ci S Co

0 0 0 0 0

0 0 1 1 0

0 1 0 1 0

0 1 1 0 1

1 0 0 1 0

1 0 1 0 1

1 1 0 0 1

1 1 1 1 1

Entrada Saída

A B Bi S Bo

0 0 0 0 0

0 0 1 1 1

0 1 0 1 1

0 1 1 0 1

1 0 0 1 0

1 0 1 0 0

1 1 0 0 0

1 1 1 1 1

Somador/SubtratorCompleto

A

BSC/BoC/Bi

M

SomadorM=0

SubtratorM=1

A saída S é igual para os dois casos!

Não depende de M.

A função que representa S continua

a mesma.

Page 21: Circuitos Aritméticos - UTFPR

DAELT ● Nikolas Libert ● 21

Somador/Subtrator Completo

Entrada Saída

M A B C/Bi S C/Bo

0 0 0 0 0 0

0 0 0 1 1 0

0 0 1 0 1 0

0 0 1 1 0 1

0 1 0 0 1 0

0 1 0 1 0 1

0 1 1 0 0 1

0 1 1 1 1 1

... ...

Somador/SubtratorCompleto

A

BSC/BoC/Bi

M

SomaCompleta

M=0

C C0

0

0 1 0

1 1 1A

A

B

B

BD D D

A B C D

Saída C/Bo:

Page 22: Circuitos Aritméticos - UTFPR

DAELT ● Nikolas Libert ● 22

Somador/Subtrator Completo

Entrada Saída

M A B C/Bi S C/Bo

... ...

1 0 0 0 0 0

1 0 0 1 1 1

1 0 1 0 1 1

1 0 1 1 0 1

1 1 0 0 1 0

1 1 0 1 0 0

1 1 1 0 0 0

1 1 1 1 1 1

Somador/SubtratorCompleto

A

BSC/BoC/Bi

M

SubtraçãoCompleta

M=1C C

0

0

0 1 0

1 1 1

0

0

0 1 0

1 1 1

A

A

B

B

BD D D

A B C D

Saída C/Bo:

C/Bo=ABD+ABC+ABD+ABC+CDC/Bo=CD+C(AB+AB)+D(AB+AB)C/Bo=CD+C(A + B)+D(A + B)C/Bo=CD+(A + B)(C+D)

C/Bo=B[C/Bi]+(M + A)(B+[C/Bi])

Page 23: Circuitos Aritméticos - UTFPR

DAELT ● Nikolas Libert ● 23

Somador/Subtrator Completo

S=A + B + [C/Bi]

A

SB

C/Bi

Somador/Subtrator Completo

C/Bo

M

C/Bo=B[C/Bi]+(M + A)(B+[C/Bi])Somador/SubtratorCompleto

A

BSC/BoC/Bi

M

Page 24: Circuitos Aritméticos - UTFPR

DAELT ● Nikolas Libert ● 24

Complemento de dois

Complemento de dois

Na prática, subtrações são feitas utilizando complemento de dois.

Um número positivo é somado a um negativo, representado na notação complemento de 2.

Ex.:

– Notação normal (números positivos)

– Notação em Complementode dois.

6 = 0b0110

-6 = 0b1001 + 0b0001 = 0b1010 (Inverte-se os bits e soma-se 1)

Page 25: Circuitos Aritméticos - UTFPR

DAELT ● Nikolas Libert ● 25

Complemento de dois

Porta XOR utilizada como uma porta inversora controlada.

X1

......

C

X2

XN

Y1

Y2

YN

Quando o sinal de controle C estiver em nível lógico alto, as saídas serão o inverso das entradas.

Page 26: Circuitos Aritméticos - UTFPR

DAELT ● Nikolas Libert ● 26

Complemento de dois

O que ocorre quando C está em nível alto?

74LS83

B3

B2

B1

S3S2S1S0Co

Ci

B0

A3

A2

A1

A0

C

B*3 B*

2 B*1 B*

0

Co*

Ache as saídas para:

(a) C=1, A=13 e B*=5

(b) C=1, A=13 e B*=14

R.: C0*S3S2S1S0 = 0b01000

R.: C0*S3S2S1S0 = 0b11111

Page 27: Circuitos Aritméticos - UTFPR

DAELT ● Nikolas Libert ● 27

Referências

IDOETA, I. V., CAPUANO, F. G. Elementos de Eletrônica Digital, 41ª Edição, Érica, São Paulo, 2013.