Você está na página 1de 8

EPUSP PCS 2011/2305/2355 Laboratrio Digital

CALCULADORA SIMPLES COM ULA


Verso 2012

RESUMO1
Esta experincia tem por objetivo a utilizao de circuitos integrados de operaes lgicas e aritmticas
para o desenvolvimento de circuitos que executam operaes aritmticas bsicas. A parte experimental
inclui o projeto de uma calculadora simples que executa as operaes de soma e subtrao, alm de
multiplicao e diviso por 2 para valores em complemento de dois, utilizando o circuito integrado 74181
(ULA de 4 bits).

1. PARTE TERICA
1.1. Soma / Subtrao Usando Complemento de Dois
Sabe-se que numa operao aritmtica em complemento de dois, no se corrige o resultado como no
caso da notao em complemento de um. necessrio, porm, somar-se 1 ao complemento bit a bit do
nmero:
(Complemento de 2) = (Complemento de 1) + 1.
Numa subtrao, portanto, costuma-se forar um vem-um na coluna de bits menos significativos dos
operandos:
Exemplos:
4 - 6 = -2

7 - 3 = 4

1
0

vem-um forado

7
-3 (complemento de 1)
4

vem-um forado

-6 (complemento de 1)

-2 (complemento de 2)

Numa soma de dois nmeros de mesmo sinal (positivos ou negativos), a complementao no


necessria e, portanto, no h vem-um forado.
Exemplo:
-2 + (-3) = -5

-2 (complemento de 2)

-3 (complemento de 2)

-5 (complemento de 2)

A figura 1.1 mostra um circuito de soma/subtrao em complemento de 2 usando um somador binrio.

Esta experincia foi baseada nas experincias Somadores binrios e Calculadora Simples, desenvolvidas para o Laboratrio
Digital.

Calculadora Simples com ULA (2012)

EPUSP PCS 2011/2305/2355 Laboratrio Digital

Y ou Y'
4

4
SUBTR = 1

Figura 1.1 - Circuito de Soma / Subtrao em Complemento de 2 com somador binrio.

1.2. Multiplicao e Diviso


As operaes de multiplicao e diviso podem ser implementadas em um circuito digital atravs 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 multiplicao.

13
11

1101
1011
0000
+
1101
1101
0110
+
1101
1 0011
1001
0100
+
1101

multiplicando
multiplicador
valor inicial do produto parcial
soma multiplicando, bit do multiplicador 1
1

desloca para a direita


soma multiplicando, bit do multiplicador 1

1
11
111

desloca para a direita


s desloca para a direita, bit do multiplicador 0
soma multiplicando, bit do multiplicador 1

1 0001 111
1000 1111

143

10001111

desloca para a direita

produto

Figura 1.2 Exemplo de Multiplicao Binria.


Embora estas operaes sejam complexas, certas situaes podem levar a simplificaes no circuito
digital que as implementa. Uma destas situaes a da diviso por dois, onde, no caso de nmeros
positivos sem sinal, a operao pode ser implementada apenas por um deslocamento de bits de uma
posio direita.
Exemplos:
5 / 2 = 2

6 / 2 = 3

desloca direita de uma posio

5
desloca direita de uma posio

O mesmo pode ser aplicado para a multiplicao de nmeros inteiros positivos por dois, onde esta
operao pode facilmente ser implementada com um deslocamento de bits de uma posio esquerda.

Calculadora Simples com ULA (2012)

EPUSP PCS 2011/2305/2355 Laboratrio Digital

1.3. Unidade Lgica e Aritmtica (ULA)


A Unidade Lgica e Aritmtica (ULA) um circuito combinatrio responsvel pela execuo de somas,
subtraes e funes lgicas, em um sistema digital. Na figura 1.3 mostrado um esquema simplificado
de uma ULA.

S
F

Figura 1.3 - Esquema Simplificado de uma ULA.


A operao que deve ser executada com os dados (A e B) determinada pelos sinais de controle (S) e o
resultado obtido na sada (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 tambm o compromisso entre velocidade e preo. Por
exemplo, as calculadoras eletrnicas exigem ULAs que permitem operaes complexas, porm com
velocidade de operao baixa, reduzindo-se o custo; j os computadores de grande porte exigem
velocidade de operao elevada, aumentando o custo da ULA.
Atualmente tm-se vrias alternativas de circuitos integrados que incluem uma ULA. Entre elas esto o
74181, 74381 e 74LS881.
A seguir ser apresentada uma descrio 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 operaes
aritmticas binrias e 16 operaes lgicas. A figura 1.4 apresenta um diagrama simplificado deste
circuito integrado.

S3

S2

S1

S 0 Cn

A3

F3

A2

F2

A1

F1

A0

74181

F0

B3

B2

B1

A=B

B0

Cn+4

Figura 1.4 - Diagrama Simplificado da ULA 74181.


As tabelas I e II a seguir apresentam a descrio dos pinos e as operaes da ULA.

Calculadora Simples com ULA (2012)

EPUSP PCS 2011/2305/2355 Laboratrio Digital

Tabela I - Descrio dos pinos da ULA 74181.


Pinos

Tipo

Descrio

A0 a A3 e B0 a B3

Entrada

Dados

Cn

Entrada

Bit de "vem um"

S0 a S3

Entrada

Seleo da operao
Modo de operao:

Entrada

M=0 - para operaes aritmticas


M=1 - para operaes lgicas

F0 a F3

Sada

Dados (resultado)

Cn+4

Sada

Bit de "vai-um"

GeT

Sadas

Utilizadas para expanso utilizando carry look-ahead

A=B

Sada

Indica igualdade das duas entradas

Tabela II - Sinais e Operaes da ULA 74181.

Seleo
S3

S2

S1

S0

Funes
Lgicas

Funes Aritmticas ( M = 0 )

(M=1)

Cn = 1 (sem carry)

Cn = 0 (com carry)

F = A

F=A

F=A+1

F = (A OR B)

F = A OR B

F = (A OR B) + 1

F = AB

F = A OR B

F = A OR B + 1

F=0

F = -1 (*)

F=0

F = A.B

F=A+ AB

F = A + AB+ 1

F = B

F = (A OR B) + A B

F = (A OR B) + A B + 1

F=AB

F=A-B-1

F=A-B

F = AB

F = AB-1

F = AB

F = A OR B

F = A + A.B

F = A + A.B + 1

F = (A B)

F=A+B

F=A+B+1

F=B

F = A OR B + A . B

F = A OR B + A . B + 1

F=A.B

F=A.B-1

F=A.B

F=1

F=A+A

F=A+A+1

F = A OR B

F = (A OR B) + A

F = (A OR B) + A + 1

F = A OR B

F = A OR B + A

F = A OR B + A + 1

F=A

F=A-1

F=A

* (-1)10 representado por (1111)2 em C2.

As sadas G e T so os sinais "gerador de vai-um", correspondentes ao bit mais significativo e, utilizandose o circuito integrado 74182, look-ahead carry generator, permitem a expanso da largura da palavra a
ser manipulada.

Calculadora Simples com ULA (2012)

EPUSP PCS 2011/2305/2355 Laboratrio Digital

As operaes de subtrao so executadas em complemento de dois (C2). Por exemplo, (-1)


representado por (1111). As operaes lgicas so executadas bit a bit. Por exemplo, se a operao AND
aplicada s entradas A = 1011 e B = 0110, resulta F = 0010.
O resultado de uma operao de comparao apresentado na sada A = B. Para tanto, deve-se executar
a operao A - B - 1 com Cn = 1; se as duas entradas so iguais, a sada A = B toma o valor 1. Esta sada
tem a configurao open-colector para que seja possvel implementar uma funo wired-and dentre duas
ou mais sadas deste tipo pertencentes a diferentes ULAs, quando se deseja expandir a largura da
palavra a ser manipulada.
A sada Cn+4 representa o sinal de vai-um do ltimo bit da palavra. Ela pode ser usada para propagar o
vai-um para o prximo estgio quando no h preocupao com a velocidade do circuito. O sinal Cn+4
tambm pode ser usado em conjunto com a sada A = B para indicar as condies A>B e A<B.
OBSERVAO: Na realidade, em se tratando de um circuito combinatrio, a ULA 74181 pode trabalhar
com operandos representados em lgica positiva ou negativa. A Tabela II acima mostra o significado dos
bits de seleo de operaes quando se considera o uso de lgica positiva. Consulte o manual
(datasheet) do componente para o caso do uso de lgica negativa.

Calculadora Simples com ULA (2012)

EPUSP PCS 2011/2305/2355 Laboratrio Digital

2. PARTE EXPERIMENTAL
2.1. Especificao do Projeto
Projetar o circuito da Calculadora Simples com ULA, onde a figura 2.1 ilustra os sinais de entrada e sada
do circuito.

D3 D2 D1 D0

I2
I1

Calculadora

I0

Simples
com ULA

Execute

S3 S2 S1 S0
Figura 2.1 Circuito da Calculadora Simples com ULA.
O circuito deve realizar uma funo, determinada pela entrada I (3 bits), sobre o dado de entrada D
de 4 bits e o contedo do registrador interno A de 4 bits. A tabela 2.1 apresenta as funes 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 notao de
complemento de dois.
Tabela 2.1 Tabela de funes da Calculadora Simples com ULA.
Cdigo
I2

I1
0

0
1
0
1
1

I0

Funo

Soma (A A+D)

Subtrao (A A-D)

Multiplicao por 2 (A A2)

Diviso por 2 (A A2)

Carga de valor (A D)

Reset (A 0)

Reservado

Reservado

Para o projeto do circuito devem ser usados componentes bsicos como portas lgicas, decodificadores,
multiplexadores, somadores binrios, registradores, deslocadores e flip-flops.

2.2. Montagem e Depurao do Circuito


Nesta etapa, o grupo deve planejar os procedimentos de montagem modular, testes e depurao dos
mdulos 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 demonstrao do correto funcionamento deste circuito.

Calculadora Simples com ULA (2012)

EPUSP PCS 2011/2305/2355 Laboratrio Digital

2.3. Programas de Teste do Circuito Completo


Agora o grupo deve desenvolver programas para realizar algumas computaes abaixo.
c)

Executar a seguinte sequncia de instrues:


RESET
CARGA 6 em A
Subtrai 11112
Divide por 2
Qual deve ser o resultado final em A aps a execuo desta sequncia?

d) Desenvolver um plano de execuo para os seguintes clculos:


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 execuo de cada
plano.
f)

Executar cada plano para pelo menos um conjunto de valores positivos e negativos.

Perguntas:
1. Explique como a operao de multiplicao por 2 poderia ser implementado usando a ULA.
2. Mostre como outras operaes (p.ex. operaes lgicas) poderiam ser acrescentadas no circuito.
3. Como seria o projeto do circuito da Calculadora se ao invs de uma ULA, fosse usado um
somador binrio?

3. BIBLIOGRAFIA

FREGNI, Edson e SARAIVA, Antonio M. Engenharia do Projeto Lgico Digital: Conceitos e Prtica.
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 binrio. Apostila de Laboratrio Digital, verso de 2004.

PCS/EPUSP. Somadores binrios. Apostila de Laboratrio Digital, 2001.

PCS/EPUSP. Calculadora simples. Apostila de Laboratrio 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 DISPONVEL

Circuitos Integrados TTL:


7400 portas NAND de 2 entradas

7486 portas XOR

7402 portas NOR de 2 entradas

74157 multiplexadores de 2 para 1

7404 portas inversoras

74175 registrador de 4 bits

7408 portas AND de 2 entradas

74181 ULA de 4 bits

7410 portas NAND de 3 entradas

74193 contador sncrono up/down de 4 bits

7420 portas NAND de 4 entradas

74194 registrador deslocador bidirecional de 4 bits

7474 flip-flops tipo D

74195 registrador deslocador de 4 bits

Calculadora Simples com ULA (2012)

EPUSP PCS 2011/2305/2355 Laboratrio Digital

5. EQUIPAMENTOS NECESSRIOS

1 painel de montagens experimentais.

1 fonte de alimentao fixa, 5V 5%, 4A.

1 osciloscpio digital.

1 multmetro digital.

1 gerador de pulsos.

Histrico de Revises
E.T.M./2003 reviso e adaptao.
M.D.M. e E.T.M./2005 reviso.
E.T.M./2008 reviso.
E.T.M./2012 verso inicial com ULA.

Calculadora Simples com ULA (2012)