Buscar

Calculadora Simples com ULA

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

EPUSP — PCS 2011/2305/2355 — Laboratório Digital 
Calculadora Simples com ULA (2012) 1 
RESUMO1 
Esta experiência tem por objetivo a utilização de circuitos integrados de operações lógicas e aritméticas 
para o desenvolvimento de circuitos que executam operações aritméticas básicas. A parte experimental 
inclui o projeto de uma calculadora simples que executa as operações de soma e subtração, além de 
multiplicação e divisão por 2 para valores em complemento de dois, utilizando o circuito integrado 74181 
(ULA de 4 bits). 
1. PARTE TEÓRICA 
1.1. Soma / Subtração Usando Complemento de Dois 
Sabe-se que numa operação aritmética em complemento de dois, não se corrige o resultado como no 
caso da notação em complemento de um. É necessário, porém, somar-se 1 ao complemento bit a bit do 
número: 
(Complemento de 2) = (Complemento de 1) + 1. 
Numa subtração, portanto, costuma-se “forçar” um “vem-um” na coluna de bits menos significativos dos 
operandos: 
Exemplos: 
 
7 - 3 = 4 4 - 6 = -2 
 
 1 “vem-um” forçado 1 “vem-um” forçado 
0 1 1 1 7 0 1 0 0 4 
1 1 0 0 -3 (complemento de 1) 1 0 0 1 -6 (complemento de 1) 
0 1 0 0 4 1 1 1 0 -2 (complemento de 2) 
 
Numa soma de dois números de mesmo sinal (positivos ou negativos), a complementação não é 
necessária e, portanto, não há “vem-um” forçado. 
Exemplo: 
-2 + (-3) = -5 
 
1 1 1 0 -2 (complemento de 2) 
1 1 0 1 -3 (complemento de 2) 
1 0 1 1 -5 (complemento de 2) 
 
A figura 1.1 mostra um circuito de soma/subtração em complemento de 2 usando um somador binário. 
 
1 Esta experiência foi baseada nas experiências “Somadores binários” e “Calculadora Simples”, desenvolvidas para o Laboratório 
Digital. 
CALCULADORA SIMPLES COM ULA 
Versão 2012 
 
 
 
EPUSP — PCS 2011/2305/2355 — Laboratório Digital 
Calculadora Simples com ULA (2012) 2 
 
Figura 1.1 - Circuito de Soma / Subtração em Complemento de 2 com somador binário. 
1.2. Multiplicação e Divisão 
As operações de multiplicação e divisão podem ser implementadas em um circuito digital através de um 
processo iterativo que envolve diversos passos computacionais (Midorikawa, 2004) (Tocci & Widmer, 
2007). Por exemplo, a figura 1.2 abaixo ilustra um exemplo de multiplicação. 
Figura 1.2 – Exemplo de Multiplicação Binária. 
Embora estas operações sejam complexas, certas situações podem levar a simplificações no circuito 
digital que as implementa. Uma destas situações é a da divisão por dois, onde, no caso de números 
positivos sem sinal, a operação pode ser implementada apenas por um deslocamento de bits de uma 
posição à direita. 
Exemplos: 
 
6 / 2 = 3 5 / 2 = 2 
 
0 1 1 0 6 0 1 0 1 5 
 desloca à direita de uma posição desloca à direita de uma posição 
0 0 1 1 3 0 0 1 0 2 
 
O mesmo pode ser aplicado para a multiplicação de números inteiros positivos por dois, onde esta 
operação pode facilmente ser implementada com um deslocamento de bits de uma posição à esquerda. 
S
4
X Y ou Y'
4 4
SUBTR = 1
1
 13 1101 multiplicando 
 11 1011 multiplicador 
 0000 valor inicial do produto parcial 
 + 1101 soma multiplicando, bit do multiplicador é 1 
 1101 
 0110 1 desloca para a direita 
 + 1101 soma multiplicando, bit do multiplicador é 1 
 1 0011 1 
 1001 11 desloca para a direita 
 0100 111 só desloca para a direita, bit do multiplicador é 0 
 + 1101 soma multiplicando, bit do multiplicador é 1 
 1 0001 111 
 1000 1111 desloca para a direita 
 
143 10001111 produto 
 
 
EPUSP — PCS 2011/2305/2355 — Laboratório Digital 
Calculadora Simples com ULA (2012) 3 
1.3. Unidade Lógica e Aritmética (ULA) 
A Unidade Lógica e Aritmética (ULA) é um circuito combinatório responsável pela execução de somas, 
subtrações e funções lógicas, em um sistema digital. Na figura 1.3 é mostrado um esquema simplificado 
de uma ULA. 
 
Figura 1.3 - Esquema Simplificado de uma ULA. 
A operação que deve ser executada com os dados (A e B) é determinada pelos sinais de controle (S) e o 
resultado é obtido na saída (F). A complexidade da ULA é proporcional à complexidade do sistema em 
que será utilizada; assim, sistemas simples permitem ULAs simples, e sistemas sofisticados exigem ULAs 
sofisticadas. 
Uma vez estabelecido o porte do sistema, existe também o compromisso entre velocidade e preço. Por 
exemplo, as calculadoras eletrônicas exigem ULAs que permitem operações complexas, porém com 
velocidade de operação baixa, reduzindo-se o custo; já os computadores de grande porte exigem 
velocidade de operação elevada, aumentando o custo da ULA. 
Atualmente têm-se várias alternativas de circuitos integrados que incluem uma ULA. Entre elas estão o 
74181, 74381 e 74LS881. 
A seguir será apresentada uma descrição de uma ULA integrada, o circuito integrado 74181. 
1.4. Circuito Integrado 74181 – uma ULA de 4 bits 
O circuito integrado MSI 74181 é uma ULA de 4 bits que tem possibilidade de executar 16 operações 
aritméticas binárias e 16 operações lógicas. A figura 1.4 apresenta um diagrama simplificado deste 
circuito integrado. 
 
Figura 1.4 - Diagrama Simplificado da ULA 74181. 
As tabelas I e II a seguir apresentam a descrição dos pinos e as operações da ULA. 
 
A B
F
S
A3
A2
A1
A0
B
B
BB
B
3
2
1
0
SS SS3 2 1 0 C
3
2
1
0
F
F
F
F
n
G
T
A = B
M
Cn+4
74181
 
 
EPUSP — PCS 2011/2305/2355 — Laboratório Digital 
Calculadora Simples com ULA (2012) 4 
Tabela I - Descrição dos pinos da ULA 74181. 
Pinos Tipo Descrição 
A0 a A3 e B0 a B3 Entrada Dados 
Cn Entrada Bit de "vem um" 
S0 a S3 Entrada Seleção da operação 
M Entrada 
Modo de operação: 
M=0 - para operações aritméticas 
M=1 - para operações lógicas 
F0 a F3 Saída Dados (resultado) 
Cn+4 Saída Bit de "vai-um" 
G e T Saídas Utilizadas para expansão utilizando carry look-ahead 
A=B Saída Indica igualdade das duas entradas 
 
Tabela II - Sinais e Operações da ULA 74181. 
Seleção Funções 
Lógicas 
( M = 1 ) 
Funções Aritméticas ( M = 0 ) 
S3 S2 S1 S0 Cn = 1 (sem carry) Cn = 0 (com carry) 
0 0 0 0 AF = F = A F = A + 1 
0 0 0 1 )BORA(F = F = A OR B F = (A OR B) + 1 
0 0 1 0 BAF ⋅= BORAF = BORAF = + 1 
0 0 1 1 F = 0 F = -1 (*) F = 0 
0 1 0 0 A.BF = F = A + BA ⋅ F = A + BA ⋅ + 1 
0 1 0 1 BF = F = (A OR B) + BA ⋅ F = (A OR B) + BA ⋅ + 1 
0 1 1 0 F = A ⊕ B F = A - B - 1 F = A - B 
0 1 1 1 BAF ⋅= BAF ⋅= - 1 BAF ⋅= 
1 0 0 0 BORAF = F = A + A.B F = A + A.B + 1 
1 0 0 1 )BA(F ⊕= F = A + B F = A + B + 1 
1 0 1 0 F = B BORAF = + A . B BORAF = + A . B + 1 
1 0 1 1 F = A . B F = A . B - 1 F = A . B 
1 1 0 0 F = 1 F = A + A F = A + A + 1 
1 1 0 1 BORAF = F = (A OR B) + A F = (A OR B) + A + 1 
1 1 1 0 F = A OR B BORAF = + A BORAF = + A + 1 
1 1 1 1 F = A F = A - 1 F = A 
 * (-1)10 é representado por (1111)2 em C2. 
 
As saídas G e T são os sinais "gerador de vai-um", correspondentes ao bit mais significativo e, utilizando-
se o circuito integrado 74182, look-ahead carry generator, permitem a expansão da largura da palavra a 
ser manipulada. 
 
 
EPUSP — PCS 2011/2305/2355 — Laboratório Digital 
Calculadora Simples com ULA (2012) 5 
As operações de subtração são executadas em complementode dois (C2). Por exemplo, (-1) é 
representado por (1111). As operações lógicas são executadas bit a bit. Por exemplo, se a operação AND 
é aplicada às entradas A = 1011 e B = 0110, resulta F = 0010. 
O resultado de uma operação de comparação é apresentado na saída A = B. Para tanto, deve-se executar 
a operação A - B - 1 com Cn = 1; se as duas entradas são iguais, a saída A = B toma o valor 1. Esta saída 
tem a configuração open-colector para que seja possível implementar uma função wired-and dentre duas 
ou mais saídas deste tipo pertencentes a diferentes ULAs, quando se deseja expandir a largura da 
palavra a ser manipulada. 
A saída Cn+4 representa o sinal de vai-um do último bit da palavra. Ela pode ser usada para propagar o 
vai-um para o próximo estágio quando não há preocupação com a velocidade do circuito. O sinal Cn+4 
também pode ser usado em conjunto com a saída A = B para indicar as condições A>B e A<B. 
 
OBSERVAÇÃO: Na realidade, em se tratando de um circuito combinatório, a ULA 74181 pode trabalhar 
com operandos representados em lógica positiva ou negativa. A Tabela II acima mostra o significado dos 
bits de seleção de operações quando se considera o uso de lógica positiva. Consulte o manual 
(datasheet) do componente para o caso do uso de lógica negativa. 
 
 
 
EPUSP — PCS 2011/2305/2355 — Laboratório Digital 
Calculadora Simples com ULA (2012) 6 
2. PARTE EXPERIMENTAL 
2.1. Especificação do Projeto 
Projetar o circuito da Calculadora Simples com ULA, onde a figura 2.1 ilustra os sinais de entrada e saída 
do circuito. 
 
Figura 2.1 – Circuito da Calculadora Simples com ULA. 
 
O circuito deve realizar uma função, determinada pela entrada I (3 bits), sobre o dado de entrada D 
de 4 bits e o conteúdo do registrador interno A de 4 bits. A tabela 2.1 apresenta as funções a serem 
implementadas. O resultado deve ser armazenado em A apenas no acionamento do sinal EXECUTE. 
O circuito da Calculadora Simples com ULA deve trabalhar com valores de 4 bits em notação de 
complemento de dois. 
 
Tabela 2.1 – Tabela de funções da Calculadora Simples com ULA. 
Código 
Função 
I2 I1 I0 
0 
0 
0 Soma (A ← A+D) 
1 Subtração (A ← A-D) 
1 
0 Multiplicação por 2 (A ← A×2) 
1 Divisão por 2 (A ← A÷2) 
1 
0 
0 Carga de valor (A ← D) 
1 Reset (A ← 0) 
1 
0 Reservado 
1 Reservado 
 
Para o projeto do circuito devem ser usados componentes básicos como portas lógicas, decodificadores, 
multiplexadores, somadores binários, registradores, deslocadores e flip-flops. 
2.2. Montagem e Depuração do Circuito 
Nesta etapa, o grupo deve planejar os procedimentos de montagem modular, testes e depuração dos 
módulos do circuito da Calculadora Simples com ULA. 
 
a) A montagem deve ser realizada e testes iniciais devem ser planejados pelo grupo. 
b) O grupo deve propor um roteiro para a demonstração do correto funcionamento deste circuito. 
Calculadora
Simples
com ULA
D3 D2 D1D0
S3 S2 S1 S0
Execute
I2
I1
I0
 
 
EPUSP — PCS 2011/2305/2355 — Laboratório Digital 
Calculadora Simples com ULA (2012) 7 
2.3. Programas de Teste do Circuito Completo 
Agora o grupo deve desenvolver “programas” para realizar algumas computações abaixo. 
c) Executar a seguinte sequência de instruções: 
RESET 
CARGA 6 em A 
Subtrai 11112 
Divide por 2 
 
Qual deve ser o resultado final em A após a execução desta sequência? 
d) Desenvolver um plano de execução para os seguintes cálculos: 
i. F = (A + B) - C 
ii. F = ((A * 2) – B) + C 
iii. F = (A + B – C) / 2 
e) Elaborar uma tabela contendo todos os sinais que devem ser ativados para a execução de cada 
plano. 
f) Executar cada plano para pelo menos um conjunto de valores positivos e negativos. 
 
 
Perguntas: 
1. Explique como a operação de multiplicação por 2 poderia ser implementado usando a ULA. 
2. Mostre como outras operações (p.ex. operações lógicas) poderiam ser acrescentadas no circuito. 
3. Como seria o projeto do circuito da Calculadora se ao invés de uma ULA, fosse usado um 
somador binário? 
 
 
3. BIBLIOGRAFIA 
• FREGNI, Edson e SARAIVA, Antonio M. Engenharia do Projeto Lógico Digital: Conceitos e Prática. 
Editora Edgard Blucher Ltda, 1995. 
• WAKERLY, John F. Digital Design Principles & Practices. 4th edition, Prentice Hall, 2006. 
• Fairchild Semiconductor. TTL Data Book. Mountain View, California, 1978. 
• MIDORIKAWA, E. T. Multiplicador binário. Apostila de Laboratório Digital, versão de 2004. 
• PCS/EPUSP. Somadores binários. Apostila de Laboratório Digital, 2001. 
• PCS/EPUSP. Calculadora simples. Apostila de Laboratório Digital, 2008. 
• Texas Instruments. TTL Logic Data Book, 1994. 
• TOCCI, R. J.; WIDMER, N. S.; MOSS, G. L. Digital Systems: principles and applications. 11th ed., 
Prentice-Hall, 2011. 
4. MATERIAL DISPONÍVEL 
• Circuitos Integrados TTL: 
7400 – portas NAND de 2 entradas 
7402 – portas NOR de 2 entradas 
7404 – portas inversoras 
7408 – portas AND de 2 entradas 
7410 – portas NAND de 3 entradas 
7420 – portas NAND de 4 entradas 
7474 – flip-flops tipo D 
7486 – portas XOR 
74157 – multiplexadores de 2 para 1 
74175 – registrador de 4 bits 
74181 – ULA de 4 bits 
74193 – contador síncrono up/down de 4 bits 
74194 – registrador deslocador bidirecional de 4 bits 
74195 – registrador deslocador de 4 bits 
 
 
EPUSP — PCS 2011/2305/2355 — Laboratório Digital 
Calculadora Simples com ULA (2012) 8 
5. EQUIPAMENTOS NECESSÁRIOS 
• 1 painel de montagens experimentais. 
• 1 fonte de alimentação fixa, 5V ± 5%, 4A. 
• 1 osciloscópio digital. 
• 1 multímetro digital. 
• 1 gerador de pulsos. 
 
Histórico de Revisões 
E.T.M./2003 – revisão e adaptação. 
M.D.M. e E.T.M./2005 – revisão. 
E.T.M./2008 – revisão. 
E.T.M./2012 – versão inicial com ULA.

Continue navegando