Você está na página 1de 22

FACULDADE DE ENGENHARIA

DEPARTAMENTO DE ENGENHARIA ELECTROTÉCNICA


Curso: ENGENHARIA ELÉCTRICA – LABORAL
Disciplina: Sistemas Digitais
Tema: Projecto de uma calculadora lógica digital que permite realizar a soma lógica, produto
lógico e complemento de números Hexadecimais de ate 4 dígitos. Esta calculadora deve
apresentar um botão B que permite observar a operação em binário.
Grupo-7

Discente: Docentes:
Massingue, Adriano Joaquim Engo: Albino Bernardo Cuinhane
Firmino, António Engo: Edson Fortes
Nhampule, Cled Luís
Maungue, Rute Vasco

Maputo, Novembro de 2023


INDICE
1. Ficha Técnica ................................................................................................................................. 4

2. Contextualização ........................................................................................................................... 5

2.1 Formulação do Problema .............................................................................................................. 5

3. OBJECTIVOS ............................................................................................................................... 6

4. METODOLOGIA DE DESENVOLVIMENTO ............................................................................ 7

TECNOLOGIA DE IMPLEMENTAÇÃO ................................................................................. 7

5. ETAPAS DE DESENVOLVIMENTO DO SISTEMA .............................................................. 8

5.1 ESPECIFICAÇÃO DO SISTEMA................................................................................................ 8

6. Organização do Sistema ............................................................................................................. 10

Fluxograma.................................................................................................................................. 10

6.2 Diagrama de blocos ....................................................................................................................... 11

7. PROJECTO DA UNIDADE DE CONTROLO OU CIRCUITO DE MODO ........................... 12

8. PROJECTO DA UNIDADE DE PROCESSAMENTO........................................................... 14

Botões de inserção de números e de operação .......................................................................... 14

Descodificador de hexadecimal-binário .................................................................................... 14

Selector de registos 1 ................................................................................................................... 15

Selector de registos 2 ................................................................................................................... 15

Limitador de 4 dígitos ................................................................................................................. 16

Registos SIPO de 16 bits ............................................................................................................. 16

Multiplicador Lógico de 16 bits ................................................................................................. 16

Somador Lógico de 16 bits ......................................................................................................... 17

Inversos de bits ............................................................................................................................ 17

Selector de dados (Multiplexadores) ......................................................................................... 18

Mostradores Hexadecimal .......................................................................................................... 19

Mostrador Binário ...................................................................................................................... 20

Oscilador ...................................................................................................................................... 20

9. Conclusão ......................................................................................................................................... 21

10. Referências Bibliográficas ............................................................................................................ 22


Índice de Tabelas
TABELA 1: VARIÁVEIS INTERNAS ........................................................................................................... 9

Índice de Figuras

FIGURA 1: FLUXOGRAMA ..................................................................................................................... 10

FIGURA 2: DIAGRAMA DE BLOCOS ....................................................................................................... 11

FIGURA 3: DIAGRAMA DE ESTADOS ..................................................................................................... 12

TABELA 2: ESTADOS EM QUE OS SINAIS INTERNOS SÃO ACTIVOS ........................................................ 12

FIGURA 4:CIRCUITO DE MODO ............................................................................................................ 13

FIGURA 5:BOTÕES DE INSERÇÃO DE NÚMEROS E DE OPERAÇÃO ........................................................ 14

FIGURA 6: SINAIS AUXILIARES DOS BOTÕES ........................................................................................ 14

FIGURA 7: DESCODIFICADOR DE HEXADECIMAL-BINÁRIO ................................................................. 15

FIGURA 8: SELECTOR DE INFORMAÇÕES 1 .......................................................................................... 15

FIGURA 9: SELECTOR DE REGISTPOS 2. ............................................................................................... 15

FIGURA 10: LIMITADOR DE 4 DÍGITOS ................................................................................................. 16

FIGURA 11: GRUPOS DE REGISTOS SIPO DE 16 BITS ......................................................................... 16

FIGURA 12: MULTIPLICADOR LOGICO DE 16 BITS ............................................................................... 17

FIGURA 13: SOMADOR LOGICO DE 16 BITS .......................................................................................... 17

FIGURA 14: INVERSOR DE BITS ............................................................................................................ 17

FIGURA 15: SELECIONADOR DE DADOS (PRIMEIRO) ........................................................................... 18

FIGURA 16: SELECIONADOR DE DADOS 2 ............................................................................................. 19

FIGURA 17: MOSTRADOR HEXADECIMAL ............................................................................................ 19

FIGURA 18: MOSTRADOR BINÁRIO ...................................................................................................... 20

FIGURA 19: OSCILADOR DE 10HZ ...................................................................................................... 200


1. Ficha Técnica

• Massingue, Adriano Joaquim – Especificao do Sistema, Revisão do Diagrama de Blocos;


• Firmino, António – Revisão da Especificação ;
• Nhampule, Cled Luis- Diagrama de blocos e circuitos de processamento;
• Maungue, Rute Vasco – Fluxograma, Revisão.

4
2. Contextualização
Atualmente, os sistemas digitais estão amplamente difundidos e encontrados em (quase) todos os
lugares. Temos a presença de sistemas digitais nos celulares, nos brinquedos eletrónicos, nos tablets,
notebooks, etc. O desenvolvimento de tais sistemas digitais envolve uma série de atividades que devem
seguir uma metodologia de projeto, que contém uma sequência de atividades de forma a tratar esta
complexidade de forma sistemática.
No presente trabalho pretende-se projetar uma calculadora lógica digital que permite realizar a soma
lógica, produto lógico e complemento de números Hexadecimais de ate 4 dígitos. Esta calculadora deve
apresentar um botão B que permite observar a operação em binário. Para tal, recorremos às etapas de
desenvolvimento de um sistema digital, onde faremos: a identificação das suas variáveis de entrada,
saída e internas; a representação do fluxograma, dos diagramas de bloco e de estado e dos
correspondentes circuitos de modo e de processamento.

2.1 Formulação do Problema


Pretende-se projectar uma calculadora lógica com uma capacidade de mostrar até 4 números
hexadecimais. Esta calculadora devera ter a opção de observar a operação em binário, pelo que, deverá
ser constituído de um mostrador que permite visualizar também 16 dígitos binários.
Os operandos serão introduzidos através de um teclado hexadecimal (contendo botões de 0 a F). A
operação de soma logica deve seguir os seguintes passos: através do teclado inserir o primeiro número,
pressionar o botão SUM, inserir o segundo e pressionar o botão RESULT, assim o resultado dessa
operação será mostrada no mostrador hexadecimal. A operação de soma logica deve seguir os seguintes
passos: através do teclado inserir o primeiro número, pressionar o botão PRD inserir o segundo e
pressionar o botão RESULT, assim o resultado dessa operação será mostrada no mostrador
hexadecimal. Operação de complemento será feita seguindo os seguintes passos: inserir o número que
se pretende obter o seu complemento, pressionar o botão PRD e de seguida o botão RESULT, assim, o
resultado da operação em hexadecimal será apresentado no mostrador hexadecimal.
A visualização da operação em binário é habilitada quando se pressiona o botão B após a realização de
qualquer operação (soma, produto ou complemento).

5
3. OBJECTIVOS

3.1 OBJECTIVO GERAL


➢ Construir uma calculadora logica de ate 4 bits com opção de visualizar a operação em binário

3.2 OBJECTIVOS ESPECÍFICO


➢ Fazer a especificação do sistema;
➢ Fazer a organização do sistema;
➢ Fazer o diagrama de blocos;
➢ Construir o circuito de modo;
➢ Construir o circuito de processamento e temporização;
➢ Implementar o sistema.

6
4. METODOLOGIA DE DESENVOLVIMENTO
O primeiro passo para o desenvolvimento do projeto foi a escolha da estratégia de desenvolvimento.
Das estratégias por nós estudadas nas aulas teóricas, optamos por usar TOP-BASE. A estratégia TOPO-
BASE consiste na descrição global do sistema e o refinamento sucessivo das especificações. Consiste
também em decompor o sistema em pequenos subsistemas, interligar e implementar o sistema ao nível
de elementos primitivos.
A escolha da estratégia TOPO-BASE deve-se ao facto de que essa estratégia permitir minimizar erros
pelo facto de esta permitir-nos olhar para a sua saída (TOPO) prosseguir entrando no seu sistema até a
chegar na entrada (BASE).

• TECNOLOGIA DE IMPLEMENTAÇÃO
A tecnologia de implementação usada foi a de circuitos padronizados da família TTL.

7
5. ETAPAS DE DESENVOLVIMENTO DO SISTEMA

5.1 ESPECIFICAÇÃO DO SISTEMA


Pelas necessidades e objetivos do sistema, notamos que teremos de projectar um Sistema Dedicado.
Variáveis de entrada:
• Y0…YF – Sinais gerados pelos botões do teclado hexadecimal, onde os índices representam o
respectivo número hexadecimal. Activos quando pressionado (0) e normalmente inactivos (1).
• SUM – Sinal para realizar a operação soma. Se SUM=0, realiza a soma dos números nos
registos.
• PRD – Sinal para realizar a operação produto. Se PRD=0, realiza o produto dos números nos
registos.
• COMP – Sinal que permite realizar o complemento de um número. Se COMP=0, realiza o
complemento do número primeiramente digitado.
• RESULT – Sinal que permite visualizar o resultado da operação no mostrador Hexadecimal.
Se RESULT=0 apresenta o resultado da operação no mostrador Hexadecimal.
• LIMPAR – Sinal que limpa os registos em caso de erros ao inserir um número ou para dar
espaço a uma nova operação. Se LIMPAR=0, todos os registos são zerados.
• S – Sinal que informa se algum número foi ou não inserido para operação. Se S=0 nenhum
número foi inserido e se S=1 pelo menos um número foi inserido.

Variáveis de saída
• L1…L28- segmentos dos 4 mostradores (Que mostram números hexadecimais)
• L29…L141-segmentos dos 16 mostradores (Que mostram o resultado da operação em binário)
• Nota: mostradores em catado comum, ou seja, com LED’s acesos em 1.

8
• Variáveis internas
Sinal Descrição/Utilidade
sinal que habilita o mostrador binário. Quando Hab=0 o mostrador fica apresenta
somente zeros (deve ser entendido como desabiitado), quando Hab=1 o mostrador
Hab apresenta o resultado da operação em binário.
Sinal que seleciona o registo que vai receber os números sendo digitados e também que
controla qual registo recebe o sinal de Clock (CK’). Quando X=0, um registo recebe os
números sendo digitados e o sinal clock, quando X=1 o outro registo recebe os números
X e o sinal Clock.
Combinação de sinais que indicam qual informação apresentar nos mostradores. Quando
YX=00, informação do primeiro registo é mostrada. Quando YX=01, informação do
segundo registo é apresentada nos mostradores. Quando YX=10, resultado da actual
YX operação devera ser apresentado nos mostradores.
Combinação de sinais que decidem que informação levar ao selector de informação
final (S. dados 2) de acordo com a operação sendo executada. Quando A1C1=01 - do
A1C1 produto; A1C1=10 – da soma e A1C1=11 do bloco inversor de bits (complemento).
CKP CK para sincronização dos flip-flops

TABELA 1: VARIÁVEIS INTERNAS

9
6. Organização do Sistema

• Fluxograma
O fluxograma de operações é uma tradução gráfica dos acontecimentos que se registam num processo.
O seguinte fluxograma foi elaborado:

FIGURA 1: FLUXOGRAMA
Os estados foram codificados com de X0 a X12. O estado inicial é o XO, onde todos sinais internos estão
no nível low (0). É verificado o sinal “S” de modo a saber se algum número foi ou não inserido para
operação, se sim (s=1), há possibilidade de se proceder com a realização de qualquer uma das três
operações através dos sinais de controle SUM, PRD ou COMP. Como se pode ver do fluxograma o
sinal LIMPAR não só zera os registos como também obriga a o sistema a retornar ao estado inicial.

10
6.2 Diagrama de blocos
O diagrama de blocos espelha as interligações entre as diversas partes do sistema. Aqui são definidas
as unidades funcionais necessárias, a sua interconexão e os sinais de controle necessários. O diagrama
de blocos do actual projecto é composto de seguintes unidades:
• Decodificador hexadecimal-binário – responsável pela conversão dos números hexadecimais
digitados em códigos binários de 4 bits. Deste bloco também surge um sinal pulsante (CK)
toda vez que se digita um número, que será aproveitado para armazenar os números nos
registos;
• Limitador de 4 dígitos – este bloco limita os dígitos em 4 hexadecimais através do bloqueio do
sinal CK após ser digitado o quarto número.
• Selector de Registo 1 – bloco que seleciona o registo onde os números serão guardados;
• Selector de registo 2 – bloco que que seleciona qual registo recebe o Ck.
• Registo SIPO- serão usados para guardar os valores que participam da operação;
• Somador e multiplicador Logico de 16 bits e inversos de bits – responsáveis pelas operações
de soma, multiplicação e complemento respectivamente;
• Selectores de dados 1 e 2 – selecionam as informações disponíveis nas suas entradas para as
suas saídas.

FIGURA 2: DIAGRAMA DE BLOCOS

11
7. PROJECTO DA UNIDADE DE CONTROLO OU CIRCUITO DE MODO
A unidade de controle ou circuito de modo articula todo o conjunto das unidades do sistema. O projecto
do Circuito de Modo (CM) começa pela elaboração do Diagrama de Estados (DE). Neste diagrama
define-se a sequência de acontecimentos bem como as condições para se passar dum estágio para outros
Adoptaremos o modelo de Moore que é mais explícito e facilmente se traduz do fluxograma de
operações. Assim, a partir do fluxograma anteriormente foi elaborado o seguinte diagrama de estados:

FIGURA 3: DIAGRAMA DE ESTADOS


Do diagrama de estados, fica evidente em quais estados quais sinais ficam activos, assim pode se tirar
seguintes conclusões.

TABELA 2: ESTADOS EM QUE OS SINAIS INTERNOS SÃO ACTIVOS


Sinal Estados em que o sinal é activo
A1 X2, X3, X4, X9, X10, X11 e X10
C1 X2, X3, X4, X5, X6, X7 e X8
Y X3, X7, X8, X11 e X12
X X5, X6, X9 e X10
Hab X4, X8 e X12

Pela simplicidade, o circuito de modo foi projectado usando a distribuição espacial, onde cada estado
representa um flip-flop diferente. Lembrando que há de saída sinais que ficam em determinados

12
estados, deve-se somar todos os estados em que cada sinal fica activo para construir cada sinal.
Assim:
A1=X2+X3+X4+X9+X10+X11+X10; C1= X2+X3+X4+X5+X6+X7+X8;
Y= X3+X7+X8+X11+X12; X= X5=X6+X9+X10; e Hab= X4+X8+X12
Desta forma projectou-se o circuito de modo abaixo apresentado:

FIGURA 4:CIRCUITO DE MODO

13
8. PROJECTO DA UNIDADE DE PROCESSAMENTO
Nesta etapa projecatm-se os blocos que apoiam a actividade da unidade de controle. Serão projectados
os circuitos de entrada, os de saída e os internos que processam a informação solicitada pela unidade de
controle e recebem respostas desta. No caso do presente projecto, é necessário projectar um somador,
multiplicador, inversor de bits, osciladores, selectores de registo (que na verdade são
demultiplexadores), limitador de dígitos, descodificador hexadecimal-binário e selector de dados
(Multiplexadores).
• Botões de inserção de números e de operação
Os botões de inserção de números e de operação apresentam uma estrutura tal que são normalmente em
1, e somente quando pressionados vão ao estado low. A figura abaixo ilustra o deseign do teclado:

FIGURA 5:BOTÕES DE INSERÇÃO DE NÚMEROS E DE OPERAÇÃO


Os diversos sinais BTi, provem de uma fonte de tensão para que mantenham os sinais de saída nos
normalmente em alto (1).

FIGURA 6: SINAIS AUXILIARES DOS BOTÕES


• Descodificador de hexadecimal-binário
Os sinais dos16 digitos hexadecimais produzidos pelos botões 4bits binário (I0..I3) e um sinal CK
enviado indicando que um dígito foi pressionado. Os 4 bits binários passaram por um demultiplexador,
que decidirá em qual grupo de registos devem guardados os valores. O CK será usado como clock nos
resgistos, este também passará por um multiplexador que decidirá qual registro irá recebê-lo, assim

14
serão separados os tempos de armazenamento de números no registo 1 e 2. O sinal Ck será tratado antes
de passar pelo demultiplexador, isto é, passara pelo limitador de 4 dígitos que servirá para bloquear o
ck após 4 números já terem sido inseridos. As portas notas antes do sinal CK servem para criar um
atraso no sinal CK, de modo que sejam os 4 bits conservados sem conservados sem constrangimentos.

FIGURA 7: DESCODIFICADOR DE HEXADECIMAL-BINÁRIO


• Selector de registos 1
É um demultiplexador, que recebe os sinais provenientes do demux e decide em qual grupo de
registos guardar os valores sendo inserido, controlado pela variável X.

FIGURA 8: SELECTOR DE INFORMAÇÕES 1


• Selector de registos 2
Este seleciona o grupo de registos que devem receber os sinais de CK0, que é basicamente o CK após
ser tratado pelo limitador de 4 bits ainda por ser apresentado. Os sinais de saída CK1 e CK2, são
enviados a um grupo de 4 registos SIPO de 4 bits de modo a se ter capacidade de armazenamento de
16 bits e o para um outro grupo de registos nas mesmas condições respetivamente.

FIGURA 9: SELECTOR DE REGISTPOS 2.

15
• Limitador de 4 dígitos
Porque a calculadora devera operar com números de até 4 bits. Há necessidade de se limitar os números
inseridos. O circuito abaixo desempenha essa função, este circuito é na verdade um registo SIPO de 4
bits, que vai recebendo o sinal CK toda vez que um número for digitado, fazendo com que o digito o
sina 1 passe para ultima posição após 4 ciclos, dai se aproveita a mudança de estado do último local
onde o digito 1 esta armazenado para bloquear o CK0, assim nenhum digito será mais aceite até que
seja limpo. Desse limitador pode-se aproveitar a primeira posição para informar através de S ao CM
que um número foi inserido. Como ilustra a figura abaixo:

FIGURA 10: LIMITADOR DE 4 DÍGITOS

• Registos SIPO de 16 bits


Os registos SIPO de 16 bits são obtidos por associação de 4 registos de 4 bits. Um grupo de registos
deverá armazenar os valores do primeiro número da operação e o outro grupo o outro número (se a
operação exigir).

FIGURA 11: GRUPOS DE REGISTOS SIPO DE 16 BITS


Estes registos podem ser zerados pelo sinal limpar em caso de erros de digitação ou quando o usuário
pretende realizar uma nova operação. As saídas desses registos vão aos circuitos que devem realizar
as operações.
• Multiplicador Lógico de 16 bits
Este circuito recebe os 16 bits provenientes dos dois registos, realiza a operação e entrega a informação
ao primeiro selector de dados, que é um multiplexador.

16
FIGURA 12: MULTIPLICADOR LOGICO DE 16 BITS

• Somador Lógico de 16 bits


Este circuito recebe os 16 bits provenientes dos dois registos, realiza a operação e entrega a informação
ao primeiro selector de dados, que é um multiplexador. Este circuito é basicamente, um conjunto de
portas OR.

FIGURA 13: SOMADOR LOGICO DE 16 BITS


• Inversos de bits
O inversor de bits realiza a operação de complemento, este recebe os valores provenientes de apenas o
primeiro grupo de registos. A saída desse grupo de registos, vai ao primeiro selector de dados.

FIGURA 14: INVERSOR DE BITS

17
• Selector de dados (Multiplexadores)
Conforme apresentado no diagrama de blocos há dois selectores de dados no circuito o primeiro (figura
15) recebe os dados vindo dos operadores lógicos, a saída deste é controlada pelo circuito de modo da
seguinte maneira, quando nenhuma operação for indicada, as saídas de todos multiplexadores são zeros,
quando a operação é de soma, as saídas colocam os valores provenientes do circuito de soma e
similarmente é o comportamento para o restante das operações.O segundo selector (figura 16) de dados
tem como entradas os sinais vindos do primeiro e segundo grupo de registo e do primeiro selector de
dados. As saídas são ligadas aos mostradores e são controladas pelas variáveis YX, através do CM, que
apresentam o seguinte comportamento: quando se está inserindo o primeiro valor, deverá surgir uma
combinação de YX de tal modo que as saídas do selecionador de dados apresentem o primeiro valor
sendo inserido, o mesmo ocorre quando se insere o segundo número. Durante a apresentação dos
resultados da operação, este selecionador de dados deverá ter na sua saída valores provenientes do
primeiro selecionador de dados anteriormente descrito.

FIGURA 15: SELECIONADOR DE DADOS (PRIMEIRO)

18
FIGURA 16: SELECIONADOR DE DADOS 2

• Mostradores Hexadecimal

O mostrador hexadecimal é composto por 4 mostradores de 7 segmentos, este apresenta as informações


provenientes do selecionador do último selecionador de dados (figura16).

FIGURA 17: MOSTRADOR HEXADECIMAL

19
• Mostrador Binário
O mostrador binário é composto por 16 mostradores de 7 segmentos, este apresenta as informações
provenientes do selecionador do último selecionador de dados em binário (figura16). Apresenta as
informações quando o sinal Hab, controlado pelo CM se encontra no estado 1.

FIGURA 18: MOSTRADOR BINÁRIO

• Oscilador
Um elemento necessário no circuito de modo é, o gerador de clock para a sincronização dos flip-flop.
O gerador de clock (oscilador) foi projectado a partir do temporizador NE555, foi projetado de modo
que funcione no modo astável com uma frequência de 10Hz. Tendo sido usado o sianl CKP em todos
os flip-flops do CM.

FIGURA 19: OSCILADOR DE 10HZ

20
9. Conclusão

Em conclusão, o projeto da calculadora lógica digital desenvolvido pelos estudantes na


disciplina de sistemas digitais representa uma solução eficiente e versátil para manipulação de
números hexadecimais de até 4 dígitos. A capacidade de realizar operações de soma lógica,
produto lógico e complemento, enquanto a inclusão do botão B, que permite a visualização das
operações em binário, proporciona uma compreensão mais profunda e educativa. Esse projeto
destaca a aplicação prática dos conceitos aprendidos na disciplina, promovendo uma
abordagem integrada entre teoria e prática no campo dos sistemas digitais.

21
10. Referências Bibliográficas

• [1] - Nelson, Victor P; Nagle, H Troy; Carroll, Bill & Irwin, J David Digital Logic Circuit
Analysis & Design, 1995, Prentice Hall Inc, New Jersey.
• [2] Floyd, Thomas L. Sistemas digitais [recurso electrónico]: fundamentos e aplicações /
Thomas L.Floyd ; tradução José Lucimar do Nascimento. – Dados electrónicos. – 9. ed.–
Porto Alegre :Bookman, 2007.
• [3] Notas do docente das aulas teóricas.

22

Você também pode gostar