View
225
Download
0
Category
Preview:
Citation preview
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
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
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
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
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 = ?
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
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
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
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 = ?
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
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”
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
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”
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
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
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
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
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.
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
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
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
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
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
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
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
Uma comercial 74181
Circuitos aritméticos | Unidade Lógica e Aritmética
ELT502 – Eletrônica Digital I Prof. Rodrigo
ULA74181
Circuitos aritméticos | Unidade Lógica e Aritmética
ELT502 – Eletrônica Digital I Prof. Rodrigo
Circuitos aritméticos | Fim
Conferir a presença …
ELT502 – Eletrônica Digital I Prof. Rodrigo
Circuitos aritméticos | Fim
Obrigado
ELT502 – Eletrônica Digital I Prof. Rodrigo
Recommended