Logo Passei Direto
Buscar

Projeto de Circuito Somador/Subtrator

Guia de projeto de um somador/subtrator de 4 bits no Quartus II (HCPLD Cyclone IV EP4CE30F23C7). Especifica uso do lpm_add_sub, inversor controlado por XOR para B invertido, decodificador BCD→7 segmentos, indicação de sinal no segmento g, indicação de overflow em LED e passos com exemplos.

Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

Profa.. LUIZA MARIA ROMEIRO CODÁ
Profa. Luiza Maria Romeiro Codá
D
e
p
a
rt
a
m
e
n
to
 d
e
 E
n
g
e
n
h
a
ri
a
 E
lé
tr
ic
a
 e
 d
e
 C
o
m
p
u
ta
ç
ã
o
3
Utilizando o software QUARTUSII, escolha o dispositivo HCPLD Cyclone
IV-E EP4CE30F23C7, projete, e teste o funcionamento de um circuito
somador/subtrator de 4 bits, ligado a um decodificador BCD para 7
segmentos, como mostra a Figura 1.
D
e
p
a
rt
a
m
e
n
to
 d
e
 E
n
g
e
n
h
a
ri
a
 E
lé
tr
ic
a
 e
 d
e
 C
o
m
p
u
ta
ç
ã
o
4
Funcionamento do circuito:
Um sinal (chave) P deve selecionar SOMA ou SUBTRAÇÃO:
P=’0’ soma e P=’1’ subtração
Utilizar um componente somador completo de 4 bits;
Para a inverter os bits do subtraendo, deve ser utilizado circuitos ou 
exclusivo como inversor controlado. 
O sinal da subtração se negativa deve ser mostrado no segmento g do 
display da esquerda do módulo mercúrio IV; 
O sinal de estouro da soma (over_som) deve ser mostrado no LED RGB
D
e
p
a
rt
a
m
e
n
to
 d
e
 E
n
g
e
n
h
a
ri
a
 E
lé
tr
ic
a
 e
 d
e
 C
o
m
p
u
ta
ç
ã
o
5
Se A >B A= 8 e B= 2
A - B = 8 -2 = +6 então A (1000)b A (1000)b +
B (0010)b inverte B (1101)b
-----------------
Resultado da soma de A com B invertido 1 (0101)b
Como o carry é 1, o número é positivo, deve-se somar 1 ao resultado dessa soma
para obter o resultado certo da subtração : 1 (0101)b + 1 = 1 (0110)b
Se A < B A =2 e B= 8
A - B = 2 – 8 = -6 então A (0010)b A (0010)b +
B (1000)b inverte B (0111)b
-----------------
Resultado da soma de A com B invertido 0 (1001)b
Como o carry é 0, número é negativo, deve-se inverter o resultado dessa soma para
obter o resultado certo da subtração : 0 (1001)b invertendo obtém-se 0 (0110)b
D
e
p
a
rt
a
m
e
n
to
 d
e
 E
n
g
e
n
h
a
ri
a
 E
lé
tr
ic
a
 e
 d
e
 C
o
m
p
u
ta
ç
ã
o
6
Circuito da somador:
Utilizar o componente lpm_add_sub
7
D
e
p
a
rt
a
m
e
n
to
 d
e
 E
n
g
e
n
h
a
ri
a
 E
lé
tr
ic
a
 e
 d
e
 C
o
m
p
u
ta
ç
ã
o
• Somas cujo resultado sejam menores ou igual a 15 são apresentados
corretamente nas saídas S[3] S[2] S[1] S[0] e apresenta Cf =‘0’
• Somas cujo resultado sejam maiores que 15 não são representados 
corretamente pelas saídas e apresentam Cout =‘1’, mostrando que 
ocorreu estouro(overflow)
Circuito da Subtração:
8
Para implementar um circuito que executa a subtração de números de 4 
bits, pode ser utilizado um circuito somador de 4 bits (CI 7483) 
incluindo alguns circuitos;
Dois circuitos devem ser implementados :
• circuito que repete o mecanismo de subtração caso A> B,
resultado = número positivo
• circuito que repete o mecanismo de subtração caso A< B
resultado = número negativo 1
D
e
p
a
rt
a
m
e
n
to
 d
e
 E
n
g
e
n
h
a
ri
a
 E
lé
tr
ic
a
 e
 d
e
 C
o
m
p
u
ta
ç
ã
o
9
P B Q
0 0 0
0 1 1
1 0 1
1 1 0
Se P=‘’1’ 
inverte B
Circuito da Subtração: segue passos slide 9
para A>B ou A<B o 1ºe 2º passo são iguais
D
e
p
a
rt
a
m
e
n
to
 d
e
 E
n
g
e
n
h
a
ri
a
 E
lé
tr
ic
a
 e
 d
e
 C
o
m
p
u
ta
ç
ã
o
1ºpasso: inverte B
Utiliza-se inversor controlado 
com portas XOR
soma
subtração
Circuito da Subtração:
para A>B ou A<B o 1ºe 2º passo são iguais
10
Com P=‘1’ as saídas Q são as entrada B invertidasD
e
p
a
rt
a
m
e
n
to
 d
e
 E
n
g
e
n
h
a
ri
a
 E
lé
tr
ic
a
 e
 d
e
 C
o
m
p
u
ta
ç
ã
o
Inversor controlado pelo sinal P: 
11
D
e
p
a
rt
a
m
e
n
to
 d
e
 E
n
g
e
n
h
a
ri
a
 E
lé
tr
ic
a
 e
 d
e
 C
o
m
p
u
ta
ç
ã
o
• Quando P=0 (soma) as entradas B[3..0] passam para as saídas
INB[3..0] sem se alterarem;
• Quando P=1 (subtração)as entradas B[3..0] são invertidas
P B INVB
0 0 0
0 1 1
1 0 1
1 1 0
Subtração Inverte B
Utilizar o componente XOR:
soma
Circuito da Subtração:
para A>B ou A<B o 1ºe 2º passo são iguais
12
2º Passo: somar a entrada A com as entradas B invertidas:
Usar somador completo (lpm_add_sub) para somar a com b 
invertida
D
e
p
a
rt
a
m
e
n
to
 d
e
 E
n
g
e
n
h
a
ri
a
 E
lé
tr
ic
a
 e
 d
e
 C
o
m
p
u
ta
ç
ã
o
Circuito da Subtração (P=‘1’):
13
D
e
p
a
rt
a
m
e
n
to
 d
e
 E
n
g
e
n
h
a
ri
a
 E
lé
tr
ic
a
 e
 d
e
 C
o
m
p
u
ta
ç
ã
o
3º Passo: verificação do valor de Cout
Cout
se Cout = ‘1’ A>B subtração positiva
se Cout = ‘0’ ’ A< B subtração negativa
Circuito da Subtração: Qdo cf = ‘0’ A<B
14
D
e
p
a
rt
a
m
e
n
to
 d
e
 E
n
g
e
n
h
a
ri
a
 E
lé
tr
ic
a
 e
 d
e
 C
o
m
p
u
ta
ç
ã
o
O resultado correto INVERTER a saída somador completo lpm_add_sub) 
Portanto, incluir mais um circuito inversor controlado, mas só inverter qdo
P=‘1’ e Cout = ‘0’( subtração com resultado negativo) 
3º Passo: verificação do valor de Cout
Circuito da Subtração: Qdo cout = ‘0’ A<B
15
D
e
p
a
rt
a
m
e
n
to
 d
e
 E
n
g
e
n
h
a
ri
a
 E
lé
tr
ic
a
 e
 d
e
 C
o
m
p
u
ta
ç
ã
o
O resultado correto INVERTER a saída somador completo lpm_add_sub) 
Portanto, incluir mais um circuito inversor controlado(INV2), mas só inverter 
qdo P=‘1’ e Cout = ‘0’( subtração com resultado negativo) 
P Cout INV2
0 0 0
0 1 0
1 0 1
1 1 0
subtração
soma
𝐼𝑁𝑉2 = 𝑃 𝑎𝑛𝑑 𝐶𝑜𝑢𝑡
3º Passo: verificação do valor de Cout
Circuito da Subtração: Qdo cf = ‘0’ A<B
16
D
e
p
a
rt
a
m
e
n
to
 d
e
 E
n
g
e
n
h
a
ri
a
 E
lé
tr
ic
a
 e
 d
e
 C
o
m
p
u
ta
ç
ã
o
Portanto, incluir mais um circuito inversor controlado(INV2), mas só inverter 
qdo P=‘1’ e Cout = ‘0’( subtração com resultado negativo) 
3º Passo: verificação do valor de Cout
Circuito da Subtração: Qdo cout = ‘1’ A>B
17
D
e
p
a
rt
a
m
e
n
to
 d
e
 E
n
g
e
n
h
a
ri
a
 E
lé
tr
ic
a
 e
 d
e
 C
o
m
p
u
ta
ç
ã
o
O resultado correto é a saída do somador + 1 
Portanto, incluir um outro somador para somar 1 quando:
carry (Cout)=1 e P =1(subtração)
3º Passo: verificação do valor de Cout
Circuito da Subtração: Qdo cout = ‘1’ A>B
18
D
e
p
a
rt
a
m
e
n
to
 d
e
 E
n
g
e
n
h
a
ri
a
 E
lé
tr
ic
a
 e
 d
e
 C
o
m
p
u
ta
ç
ã
o
O resultado correto a saída do somador + 1
Portanto, se P=‘1’ (subtração) e Cout = ‘1’ Somar em Cin de um 
segundo somador com’1’
P Cout Cin
0 0 0
0 1 0
1 0 0
1 1 1 Cin = P and Coutsubtração
soma
3º Passo: verificação do valor de Cout
Circuito da Subtração: Qdo cout = ‘1’ A>B
19
D
e
p
a
rt
a
m
e
n
to
 d
e
 E
n
g
e
n
h
a
ri
a
 E
lé
tr
ic
a
 e
 d
e
 C
o
m
p
u
ta
ç
ã
o
O resultado correto a saída do somador + 1
Portanto, se P=‘1’ (subtração) e Cout = ‘1’ incluir mais um 
somador completo (componente lpm_add_sub) com as entradas 
dataB todas em ‘0’, as entradas dataA serão as saídas do INV2, e a 
entradas Cin ligar o sinal de P and Cout
3º Passo: verificação do valor de Cout
20
D
e
p
a
rt
a
m
e
n
to
 d
e
 E
n
g
e
n
h
a
ri
a
 E
lé
tr
ic
a
 e
 d
e
 C
o
m
p
u
ta
ç
ã
o
21
D
e
p
a
rt
a
m
e
n
to
 d
e
 E
n
g
e
n
h
a
ri
a
 E
lé
tr
ic
a
 e
 d
e
 C
o
m
p
u
ta
ç
ã
o
Sinal negativo da subtração mostrar em LED que acende 
com nível alto:
Qdo P= ’1’ e C = ‘0’ subtração negativa acender LED
Excluir qdo a saída for (0000)b
P Cout S[3] S[2] S[1] S[0] sinal
0 X X X X X 0
1 1 X X X X 0
1 0 0 0 0 0 0
1 0 X X X X 1
22
D
e
p
a
rt
a
m
e
n
to
 d
e
 E
n
g
e
n
h
a
ri
a
 E
lé
tr
ic
a
 e
 d
e
 C
o
m
p
u
ta
ç
ã
o
Sinal negativo da subtração mostrar no segmentp g do 
display esquerdo do módulo mercúrio IV (acende com nível 
alto):
Qdo P= ’1’ e Cout = ‘0’ subtração negativa acender o 
segmento, mas excluir qdo a saída for (0000)b
23
D
e
p
a
rt
a
m
e
n
to
 d
e
 E
n
g
e
n
h
a
ri
a
 E
lé
tr
ic
a
 e
 d
e
 C
o
m
p
u
ta
ç
ã
o Qdo P= ’0’ (soma) e C = ‘1’, ou seja, ocorrer estouro no 
valor da soma, mostrar em LED RGB que acende com nível 
alto
P Cout ov_som
0 0 0
0 1 1
1 0 0
1 1 0
subtração
soma
ov_som= P 𝑎𝑛𝑑 𝐶𝑜𝑢𝑡
D
e
p
a
rt
a
m
e
n
to
 d
e
 E
n
g
e
n
h
a
ri
a
 E
lé
tr
ic
a
 e
 d
e
 C
o
m
p
u
ta
ç
ã
o24
25
D
e
p
a
rt
a
m
e
n
to
 d
e
 E
n
g
e
n
h
a
ri
a
 E
lé
tr
ic
a
 e
 d
e
 C
o
m
p
u
ta
ç
ã
o
26
Pinagem
Nome do 
sinal
Pino do 
FPGA
Segmento do dsiplay Módulo mercurio
D[0] V2 a
Segmentos do
Display 0
D[1] V1 b
D[2] U2 c
D[3] U1 d
D[4] Y2 e
D[5] Y1 f
D[6] W2 g
P V21 SW[0]
sinal N6 Segmento g do display1
over_som E7 LED_B
A[0] E16
Chaves da Placa 
expansora
Grupo A
A[1] H22
A[2] F16
A[3] F19
B[0] J21 Chaves da Placa 
expansora
Grupo B
B[1] K21
B[2] H20
B[3] H18
D
e
p
a
rt
a
m
e
n
to
 d
e
 E
n
g
e
n
h
a
ri
a
 E
lé
tr
ic
a
 e
 d
e
 C
o
m
p
u
ta
ç
ã
o
27
Foto do módulo mercúrio com o posicionameto dos sinais

Mais conteúdos dessa disciplina