elt502 - aula 09 - circuitos aritméticos - parte 2

29
ELT502 – Eletrônica Digital I Graduação em Engenharia Eletrônica Universidade Federal de Itajubá IESTI Prof. Rodrigo de Paula Rodrigues Circuitos aritméticos – Parte 2/2 Aritmética BCD e ULA Aula 09

Upload: romeu-corradi-junior

Post on 11-Feb-2016

16 views

Category:

Documents


0 download

DESCRIPTION

Circuitos Aritméticos

TRANSCRIPT

Page 1: ELT502 - Aula 09 - Circuitos Aritméticos - Parte 2

ELT502 – Eletrônica Digital IGraduação em Engenharia Eletrônica

Universidade Federal de Itajubá IESTI

Prof. Rodrigo de Paula Rodrigues

Circuitos aritméticos – Parte 2/2Aritmética BCD e ULA

Aula 09

Page 2: ELT502 - Aula 09 - Circuitos Aritméticos - Parte 2

Circuitos aritméticos | Contexto

Números BCD

d1d2d3 d0

Dígito BCD

Valores decimais de 0 a 9

d2

00001111

D

01234567

d3

00000000

d0

01010101

d1

00110011

ELT502 – Eletrônica Digital I Prof. Rodrigo

Amplitude dodígito decimal

em 4 bits

100001111

789------

011111111

101010101

100110011

Page 3: ELT502 - Aula 09 - Circuitos Aritméticos - Parte 2

Circuitos aritméticos | Contexto

Números BCD de n dígitos

8 bits4 bits 4*n bits

...

ELT502 – Eletrônica Digital I Prof. Rodrigo

dígito 1 dígito 21 dígito dígito 1 ... dígito n

Page 4: ELT502 - Aula 09 - Circuitos Aritméticos - Parte 2

Adição entre dígitos BCD

Circuitos aritméticos | Soma BCD

B1B2B3

Vs

B0

VeSomador completo de 4 bits

A1A2A3 A0

dígito de 4 bits

ELT502 – Eletrônica Digital I Prof. Rodrigo

S1S2S3 S0

4 bits

Page 5: ELT502 - Aula 09 - Circuitos Aritméticos - Parte 2

Adição entre dígitos BCD

Circuitos aritméticos | Soma BCD

2 + 5 = ?

9 + 5 = ?

B1B2B3

Vs

B0

Somador completo de 4 bits

A1A2A3 A0

Ve

ELT502 – Eletrônica Digital I Prof. Rodrigo

S1S2S3 S0 8 + 9 = ?

Page 6: ELT502 - Aula 09 - Circuitos Aritméticos - Parte 2

Adição entre dígitos BCD

Circuitos aritméticos | Soma BCD

B1B2B3

Vs

B0

Somador completo de 4 bits

A1A2A3 A0

Ve

S2

000011110

S

012345678

S3

000000001

S0

010101010

S1

001100110

Vs

000000000

ELT502 – Eletrônica Digital I Prof. Rodrigo

S1S2S3 S0

00001111x

89101112131415> 15

11111111x

01010101x

00110011x

000000001

Page 7: ELT502 - Aula 09 - Circuitos Aritméticos - Parte 2

Adição entre dígitos BCD

Circuitos aritméticos | Soma BCD

Base 10: d1...dn d0

x10

x16

ELT502 – Eletrônica Digital I Prof. Rodrigo

Base 16: d1...dm d0

x16

Page 8: ELT502 - Aula 09 - Circuitos Aritméticos - Parte 2

Somador BCD de um dígito

Circuitos aritméticos | Soma BCD

{ Vi, R } = A + B + Ve

R = R + 6sim

V = 1

Vs = ( Vi = 1 ) ou (R > 910 )

ELT502 – Eletrônica Digital I Prof. Rodrigo

R = R + 610

S = R

não

Vs = 1

Page 9: ELT502 - Aula 09 - Circuitos Aritméticos - Parte 2

Somador BCD de um dígito

Circuitos aritméticos | Soma BCD

B1B2B3

Vs

B0

VeSomador BCD de 1 dígito

A1A2A3 A0

2 + 5 = ?

9 + 5 = ?

ELT502 – Eletrônica Digital I Prof. Rodrigo

S1S2S3 S0 8 + 9 = ?

Page 10: ELT502 - Aula 09 - Circuitos Aritméticos - Parte 2

Somador BCD de ‘ n’ dígitos

Circuitos aritméticos | Soma BCD

S

Vs

Bn-1

Somador BCD de 1 dígito

An-1

S

B0

Somador BCD de 1 dígito

A0

S

B1

Somador BCD de 1 dígito

A1

... Ve

ELT502 – Eletrônica Digital I Prof. Rodrigo

Sn-1 S0S1

‘n’ somadores BCD de 1 dígito

{ Vs, Sn-1Sn-2...S0 } = An-1An-2...A0 + Bn-1Bn-2...B0 + Ve

Page 11: ELT502 - Aula 09 - Circuitos Aritméticos - Parte 2

Subtração entre dígitos BCD

Circuitos aritméticos | Subtração BCD

1 0 7__

100101102

10

5 34 7

100101102

1

-1

5 3__

ELT502 – Eletrônica Digital I Prof. Rodrigo

4505 3

491

“Devendo um”

Page 12: ELT502 - Aula 09 - Circuitos Aritméticos - Parte 2

Subtração entre dígitos BCD

Circuitos aritméticos | Subtração BCD

4 7

100101102

1

-1

5 3__

Operação efetiva realizada:

Incidência do “devendo um”

O resultado é negativo

ELT502 – Eletrônica Digital I Prof. Rodrigo

491

“Devendo um”

Operação efetiva realizada:100 + 47 – 53 = 94

Valor em complemento de 10

Page 13: ELT502 - Aula 09 - Circuitos Aritméticos - Parte 2

Subtração entre dígitos BCDnotação negativa em complemento de 10

Circuitos aritméticos | Subtração BCD

notação negativa em complemento de 10

Valor decimal Complemento de 9 Adição do valor 1 Valor decimal em com. de 10

Quanto falta para “9”

ELT502 – Eletrônica Digital I Prof. Rodrigo

em com. de 10

Quanto falta para “10”

Page 14: ELT502 - Aula 09 - Circuitos Aritméticos - Parte 2

Subtração entre dígitos BCDnotação negativa em complemento de 10

Circuitos aritméticos | Subtração BCD

notação negativa em complemento de 10

7251+152710

748 2complemento de 9

ELT502 – Eletrônica Digital I Prof. Rodrigo

748 2

-1527103748+1

Page 15: ELT502 - Aula 09 - Circuitos Aritméticos - Parte 2

Subtração entre dígitos BCD

Circuitos aritméticos | Subtração BCD

A – B = A + (-B)

ELT502 – Eletrônica Digital I Prof. Rodrigo

Complemento de 10 de B

Page 16: ELT502 - Aula 09 - Circuitos Aritméticos - Parte 2

Subtração entre dígitos BCD

Circuitos aritméticos | Subtração BCD

A > B

5 61

8 7+

11

ex: 56 - 13A < B

1 34 4

+

ex: 13 - 56

ELT502 – Eletrônica Digital I Prof. Rodrigo

341

8 7

“Vai um”

750

4 4

“Vai um”Resultado

positivo diretoResultado em comp. de 10

Page 17: ELT502 - Aula 09 - Circuitos Aritméticos - Parte 2

Subtração entre dígitos BCD

Circuitos aritméticos | Subtração BCD

{ Vs, R } = A + Comp10( B )

R = Comp10( R )sim

Vs = 0

Vs: 0, valor negativo; 1, positivo

(1) somador BCD

Comp10( X ) = Complemento de 10 de X

(1)

ELT502 – Eletrônica Digital I Prof. Rodrigo

S = R

não

Page 18: ELT502 - Aula 09 - Circuitos Aritméticos - Parte 2

Exercício

Circuitos aritméticos | Subtração BCD

Apresente um circuito capaz de implementar o algoritmo de subtraçãovalores de 2 dígitos BCD (AB-CD). O circuito deve conter elementosrepresentativos de cada operação efetuada (somador BCD, complementode 10, multiplexadores, dentre outras).

Obs: Para o caso da operação de obtenção do complemento de 10 de umnúmero BCD de 2 dígitos, apresente, à parte, um circuito capaz de efetuá-la.

ELT502 – Eletrônica Digital I Prof. Rodrigo

la.

Page 19: ELT502 - Aula 09 - Circuitos Aritméticos - Parte 2

Circuitos aritméticos | Unidade Lógica e Aritmética

Unidade Lógica e Aritmética (ULA)

Operações lógicas

operações aritméticas simples

Operações aritméticas

ULA

ELT502 – Eletrônica Digital I Prof. Rodrigo

operações lógicas simples

Page 20: ELT502 - Aula 09 - Circuitos Aritméticos - Parte 2

O que é uma ULA ?

Circuitos aritméticos | Unidade Lógica e Aritmética

ULA

Visão daoperação

Visão do projetista

É o operário dos µP Circuito combinatório ULA

ELT502 – Eletrônica Digital I Prof. Rodrigo

É o operário dos µP Circuito combinatório

Efetua um conjunto de operações aritméticas

Efetua um conjunto de operações lógicas

ULA

Conjunto de subcircuitos específicos

Page 21: ELT502 - Aula 09 - Circuitos Aritméticos - Parte 2

Características de uma ULA

Circuitos aritméticos | Unidade Lógica e Aritmética

Regra geral emEngenharia !?

Depende!

Símbolo

ULA

De um modo geral

Tamanho dos operadores

Conjunto de operações

B A

N bits N bits

S

D

ELT502 – Eletrônica Digital I Prof. Rodrigo

ULADepende da

complexidade do sistema em que é

aplicada

Conjunto de operações

VelocidadeR

N bits

S

Page 22: ELT502 - Aula 09 - Circuitos Aritméticos - Parte 2

Circuitos aritméticos | Unidade Lógica e Aritmética

Exemplo de uma ULA: ULA01

ULA01

B A

R

4 bits 4 bits

3 bits

Ve Vs

S

4 bitsA

4 bitsB

S=000R=0000

ULA01: 4 bits, 8 funções

4 bitsR

S=001R= A + B

S=010R= A - B

S=011R= ~A

S=100R= A & B

S=101R= A | B

S=110 S=111

ELT502 – Eletrônica Digital I Prof. Rodrigo

R

4 bitsVeVem um

VsVai um

S=110R = A ^ B

S=111R=1111

Page 23: ELT502 - Aula 09 - Circuitos Aritméticos - Parte 2

Exemplo de emprego da ULA01

Circuitos aritméticos | Unidade Lógica e Aritmética

ULA01

B A

Dados

S

Ce = 0 Cs

S

Passo S B Comentário

1 000 - AC ← 0

2 001 X AC ← X

3 001 Y AC ← X + Y

Realizar a operação X + Y - ZAcumulador

(AC)

ELT502 – Eletrônica Digital I Prof. Rodrigo

RS S3 001 Y AC ← X + Y

4 010 Z AC ← X + Y - Z

Page 24: ELT502 - Aula 09 - Circuitos Aritméticos - Parte 2

ULA de 1 bit

S Saída

00 A & B

Circuitos aritméticos | Unidade Lógica e Aritmética

00 A & B

01 A | B

10 B

11 A + B

ELT502 – Eletrônica Digital I Prof. Rodrigo

S1

S0

Page 25: ELT502 - Aula 09 - Circuitos Aritméticos - Parte 2

Circuitos aritméticos | Unidade Lógica e Aritmética

Exercício

Para a ULA de 1 bit apresentada anteriormente, considere as entradasHab. A, Hab. B e Inverte A. inexistentes e apresente um circuito capaz dereproduzi-la por meio de blocos funcionais (bloco “E”, bloco “Ou”, bloco“somador completo”, etc).

ELT502 – Eletrônica Digital I Prof. Rodrigo

Page 26: ELT502 - Aula 09 - Circuitos Aritméticos - Parte 2

Uma comercial 74181

Circuitos aritméticos | Unidade Lógica e Aritmética

ELT502 – Eletrônica Digital I Prof. Rodrigo

Page 27: ELT502 - Aula 09 - Circuitos Aritméticos - Parte 2

ULA74181

Circuitos aritméticos | Unidade Lógica e Aritmética

ELT502 – Eletrônica Digital I Prof. Rodrigo

Page 28: ELT502 - Aula 09 - Circuitos Aritméticos - Parte 2

Circuitos aritméticos | Fim

Conferir a presença …

ELT502 – Eletrônica Digital I Prof. Rodrigo

Page 29: ELT502 - Aula 09 - Circuitos Aritméticos - Parte 2

Circuitos aritméticos | Fim

Obrigado

ELT502 – Eletrônica Digital I Prof. Rodrigo