EPUSP — PCS 2011 — Laboratório Digital I
Uma ULA Simples
Versão 2015
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 - semestral (2015)
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 - semestral (2015)
22
EPUSP — PCS 2011 — Laboratório Digital I
Tabela II - Sinais e Operações da ULA 74181.
Seleção
S3
S2
S1
S0
0
0
0
0
0
0
Funções
Lógicas
Funções Aritméticas ( M = 0 )
(M=1)
Cn = 1 (sem carry)
Cn = 0 (com carry)
0
F  A
F=A
F=A+1
0
1
F  ( A OR B )
F = A OR B
F = (A OR B) + 1
0
1
0
F  AB
F  A OR B
F  A OR B + 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 OR B
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 OR B + A . B
F  A OR B + 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 OR B
F = (A OR B) + A
F = (A OR B) + A + 1
1
1
1
0
F = A OR B
F  A OR B + A
F  A OR B + 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, utilizandose 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 vaium 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 - semestral (2015)
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 corretude do projeto deve ser verificada a
partir da simulação do circuito com o software Altera Quartus II, e as cartas de tempo devem ser incluídas
no planejamento. A seguir, uma estratégia de montagem modular, incremental e hierárquica 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. Atividades Pré-Laboratório
a) 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 blocos funcionais mais um conjunto de multiplexadores.
Figura 2.2 – Sugestão de Módulos da ULA Simples.
b) Elabore o planejamento da experiência. Incluir um plano de montagem modular e um plano de testes
com alguns casos de teste a serem usados durante a implementação do circuito.
Uma ULA Simples - semestral (2015)
44
EPUSP — PCS 2011 — Laboratório Digital I
2.2. Montagem do Circuito da ULA Simples
c)
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.
d) 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
e) 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.
f)
Verifique como a ocorrência de estouro pode ser detectada no circuito da ULA Simples. Apresente uma
solução.
g) 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
h) Uma modificação do circuito será solicitada pelo professor. Execute esta modificação e teste o circuito.
Documente o projeto no relatório. Demonstre seu funcionamento.
2.5. Atividades Pós-Laboratório
i)
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 - semestral (2015)
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)
E.T.M. / 2015 (revisão)
Uma ULA Simples - semestral (2015)
66
Download

Uma ULA Simples