Vous êtes sur la page 1sur 6

EPUSP — PCS 2011 — Laboratório Digital I

Uma ULA Simples


Versão 2014

RESUMO
Esta experiência tem como objetivo o desenvolvimento do projeto de uma unidade lógica e aritmética
simples que realiza quatro operações sobre dados de quatro bits.

OBJETIVOS
Após a conclusão desta experiência, os seguintes tópicos devem ser conhecidos pelos alunos:
 Desenvolvimento de uma unidade lógica e aritmética simples;
 Documentação de projetos;
 Montagem estruturada no painel de montagens experimentais;
 Teste e depuração modular de circuitos digitais.

1. INTRODUÇÃO
1.1. 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.1 é mostrado um esquema simplificado
de uma ULA.

Figura 1.1 - Esquema Simplificado de uma ULA.

A operação que deve ser executada com os dados de entrada (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 o uso de 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.

Uma ULA Simples (2014) 11


EPUSP — PCS 2011 — Laboratório Digital I

1.2. 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.2 apresenta um diagrama simplificado deste
circuito integrado.

Figura 1.2. - Diagrama Simplificado da ULA 74181.

As tabelas I e II a seguir apresentam a descrição dos pinos e as operações da ULA, respectivamente.

Tabela I - Descrição dos pinos da ULA 74181.

Pinos Tipo Descrição

A0 a A3 e B0 a B3 Entrada Dados de entrada

Cn Entrada Bit de "vem um"

S0 a S3 Entrada Seleção da operação

Modo de operação:
M Entrada M=0 - para operações aritméticas
M=1 - para operações lógicas

F0 a F3 Saída Dados de saída (resultado)

Cn+4 Saída Bit de "vai-um"

GeT Saídas Utilizadas para expansão utilizando carry look-ahead

A=B Saída Indica igualdade das duas entradas

Uma ULA Simples (2014) 22


EPUSP — PCS 2011 — Laboratório Digital I

Tabela II - Sinais e Operações da ULA 74181.

Seleção Funções Funções Aritméticas ( M = 0 )


Lógicas
S3 S2 S1 S0 (M=1) Cn = 1 (sem carry) Cn = 0 (com carry)

0 0 0 0 F  A F=A F=A+1

0 0 0 1 F  (A O RB) F = A OR B F = (A OR B) + 1

0 0 1 0 F  A B F  A O RB F  A O RB + 1

0 0 1 1 F=0 F = -1 (*) F=0

0 1 0 0 F  A B F = A + AB F = A + AB+ 1

0 1 0 1 F  B F = (A OR B) + A  B F = (A OR B) + A  B + 1

0 1 1 0 F=AB F=A-B-1 F=A-B

0 1 1 1 F  AB F  AB- 1 F  AB

1 0 0 0 F  A O RB F = A + A.B F = A + A.B + 1

1 0 0 1 F  (A  B) F=A+B F=A+B+1

1 0 1 0 F=B F  A O RB + A . B F  A O RB + 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 F  A O RB F = (A OR B) + A F = (A OR B) + A + 1

1 1 1 0 F = A OR B F  A O RB + A F  A O RB + A + 1

1 1 1 1 F=A F=A-1 F=A

* (-1)10 é representado por (1111)2 em Complemento de 2.

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.
As operações de subtração são executadas em complemento de dois (C2). Por exemplo, (-1)10 é
representado por (1111)2. 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 C n+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.

Uma ULA Simples (2014) 33


EPUSP — PCS 2011 — Laboratório Digital I

2. PARTE EXPERIMENTAL
O desenvolvimento do circuito da ULA Simples será dividido em 3 etapas, a saber: inicialmente o projeto
lógico do circuito é realizado a partir da sua especificação. A correção do projeto deve ser verificada a
partir da simulação com o software Altera Quartus II, e as cartas de tempo devem ser incluídas no
planejamento. A seguir, uma estratégia de montagem deve ser elaborada com a divisão do circuito em
módulos que serão montados e testados de forma separada e independente. Se for encontrado algum
erro em relação ao funcionamento correto, deve ser iniciado um procedimento de depuração. Ao final,
uma avaliação geral do circuito da ULA Simples deve ser realizada com a execução das quatro operações
especificadas.

2.1. Especificação da ULA Simples


A unidade lógica e aritmética a ser desenvolvida deve executar quatro operações sobre dados de 4 bits. A
interface do circuito é apresentada na figura 2.1 abaixo.

Figura 2.1 – Interface da ULA Simples.

A operação a ser executada é especificada pelo sinal função de acordo com a tabela abaixo.

Função
DESCRIÇÃO
F[1] F[0]
0 0 R=A+B
0 1 R=A–B
1 0 R=AeB
1 1 R = A ou B

O projeto da ULA Simples pode ser dividido em módulos independentes. Uma sugestão é apresentada na
figura 2.2, onde temos a divisão em três partes mais um conjunto de multiplexadores.

Figura 2.2 – Sugestão de Módulos da ULA Simples.

Uma ULA Simples (2014) 44


EPUSP — PCS 2011 — Laboratório Digital I

2.2. Montagem do Circuito da ULA Simples


a) Realize a montagem usando uma estratégia modular do projeto da ULA Simples. A cada passo
execute testes de cada módulo.
DICA: apresente no planejamento o conjunto de testes a serem realizados para cada módulo. Anote
no relatório qualquer ocorrência e mudanças no projeto original.
b) Com a montagem do circuito da ULA Simples terminada, execute testes do circuito completo para
verificar sua funcionalidade.
DICA: elabore um conjunto de testes do circuito completo com um conjunto variado de dados de
entrada. Use uma tabela para especificar este conjunto de testes. Compare os valores esperados com
os resultados experimentais.

2.3. Estudo do Circuito da ULA Simples


c) Realize testes mais detalhados da operação do circuito projetado com a operação do circuito com
valores numéricos com sinal em representação em complemento de dois. Apresente os resultados e
uma análise dos resultados.
d) Verifique como a ocorrência de estouro pode ser detectada no circuito da ULA Simples. Apresente
uma solução.
e) Como o circuito de detecção acima se comporta na realização das operações lógicas? Qual é uma
possível interpretação de sua saída?

2.4. Desafio
f) Uma modificação do circuito poderá ser solicitada pelo professor. Execute esta modificação e teste o
circuito. Documente o projeto no relatório.

2.5. Atividades Pós-Laboratório


g) Com base nos resultados obtidos, responda as perguntas abaixo.

1. Como é possível acrescentar mais uma função no projeto da ULA simples? Mostre um
diagrama de blocos.
2. É possível estimar o tempo de execução de uma operação na ULA? Considere tx como o
tempo do componente x para realizar sua função (p.ex. tand para tempo de uma porta AND).
3. Explique como seria o projeto de uma ULA de 32 bits, usando como base a ULA de 4 bits do
projeto da experiência. Que modificações são necessárias para a ULA simples?

3. BIBLIOGRAFIA
 Fairchild Semiconductor. TTL Data Book. Mountain View, California, 1978.
 FREGNI, E. e SARAIVA, A. M. Engenharia do Projeto Lógico Digital: Conceitos e Prática.
Editora Edgard Blücher Ltda, 1995.
 TOCCI, R. J.; WIDMER, N.S.; MOSS, G.L. Sistemas Digitais: Princípios e Aplicações.
Prentice-Hall, 11a ed., 2011.
 WAKERLY, John F. Digital Design Principles & Practices. 4th edition, Prentice Hall, 2006.

4. MATERIAL DISPONÍVEL
 Circuitos Integrados TTL:
- 7400, 7402, 7408, 7432, 7486 (portas lógicas)
- 74157 (multiplexador)
- 74283 (somador binário)

Uma ULA Simples (2014) 55


EPUSP — PCS 2011 — Laboratório Digital I

5. EQUIPAMENTOS NECESSÁRIOS
 1 painel de montagens experimentais.
 1 fonte de alimentação fixa +5V.
 1 osciloscópio digital.
 1 multímetro digital.
 1 computador com software Altera Quartus II.

Histórico de Revisões

E.T.M. / 2013 (versão inicial)


E.T.M. / 2014 (revisão)

Uma ULA Simples (2014) 66