Partilhar: WhatsApp
aulify · Sebenta
UC · Unidade de Competência · UC00652

Sebenta · Otimizar e implementar circuitos lógicos (UC00652)

Combinatório, sequencial e híbrido, simulados passo a passo e montados em breadboard
50h · 4.5 pontos crédito Curso: T. Eletrónica, T. Eletrónica e Comunicaçõ ↗ Referencial oficial SNQ
Índice

Introdução

Esta sebenta ensina a caracterizar, simular e implementar circuitos lógicos, do princípio ao fim do processo profissional: primeiro compreende-se a teoria (portas lógicas, álgebra de Boole, memória), depois configura-se e monta-se o circuito em software de simulação, executa-se a simulação, interpreta-se e compara-se resultados de diferentes configurações e, por fim, implementa-se fisicamente em breadboard.

Um circuito lógico é o coração de qualquer sistema digital: de um simples alarme a um controlador de automação industrial. Compreender a diferença entre lógica combinatória (sem memória) e lógica sequencial (com memória) é a base de todo o resto da eletrónica digital, e é por isso o fio condutor desta unidade curricular.

Objetivos de aprendizagem (referencial): configurar e montar circuitos lógicos em software de simulação; executar a simulação de configurações de circuitos; comparar o desempenho de diferentes configurações; implementar circuitos combinatórios e sequenciais simples em breadboard.

1. Lógica combinatória e lógica sequencial

Um circuito lógico trabalha com sinais binários, apenas dois estados possíveis: 0 (nível baixo) e 1 (nível alto). Consoante a relação entre entradas e saídas, existem três tipos:

A diferença essencial: a memória

O critério que separa combinatório de sequencial é sempre o mesmo: existe ou não um elemento que guarda o estado anterior? Um interruptor de luz é combinatório: a luz reflete apenas o estado atual do interruptor. Um contador de voltas de uma corrida é sequencial: soma sempre ao valor anterior, precisa de "se lembrar" de quantas voltas já foram dadas.

Esta distinção orienta toda a unidade curricular: primeiro estuda-se o combinatório (capítulos 2 a 4), depois o sequencial (capítulos 5 e 6), depois o híbrido (capítulo 7), e só então se passa à prática de simulação e montagem (capítulos 8 a 11).

2. Portas lógicas básicas e álgebra de Boole

As sete portas lógicas fundamentais

Porta Função Saída a 1 quando
AND E todas as entradas estão a 1
OR OU pelo menos uma entrada está a 1
NOT negação a entrada está a 0
NAND E negado nem todas as entradas estão a 1
NOR OU negado nenhuma entrada está a 1
XOR OU exclusivo número ímpar de entradas a 1
XNOR XOR negado as entradas são iguais entre si

As portas NAND e NOR chamam-se "universais" porque qualquer outra porta lógica se pode construir usando só uma delas, repetida. É uma propriedade muito usada na indústria, porque simplifica o fabrico de circuitos integrados a um único tipo de porta.

Álgebra de Boole

A álgebra de Boole é a matemática das variáveis binárias, com as operações E (·), OU (+) e negação ('). Serve para simplificar expressões antes de as montar, poupando componentes, espaço e consumo. As leis principais:

Exemplo resolvido: simplificar uma expressão

Simplificar S = A·B + A·B':

S = A·B + A·B'
S = A·(B + B')      [lei distributiva]
S = A·1             [lei do complemento: B+B'=1]
S = A               [lei da identidade]

Um circuito que precisaria de 2 portas AND, 1 porta OR e 1 porta NOT simplifica-se para um único fio, ligado diretamente a A. É este tipo de simplificação que se procura antes de montar qualquer circuito combinatório.

3. Circuitos combinatórios: somadores, subtratores e complementos

O meio somador (half adder)

O meio somador soma dois bits, A e B, produzindo a soma (S) e o transporte (carry, C):

A B S C
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1

As expressões booleanas são S = A XOR B e C = A AND B. O meio somador não tem entrada para um transporte anterior, por isso só soma dois bits isolados.

O somador completo (full adder)

O somador completo soma A, B e um transporte de entrada (Cin), dando soma (S) e transporte de saída (Cout):

S    = A XOR B XOR Cin
Cout = (A·B) + (Cin·(A XOR B))

Constrói-se com dois meios somadores e uma porta OR. Encadeando vários somadores completos, com o Cout de cada um ligado ao Cin do seguinte, obtém-se um somador de N bits, capaz de somar números binários de qualquer tamanho.

Exemplo resolvido: somar 4 bits

Somar 0111 (7) com 0001 (1) usando 4 somadores completos, do bit menos significativo para o mais significativo:

  bit0: A=1 B=1 Cin=0  → S=0 Cout=1
  bit1: A=1 B=0 Cin=1  → S=0 Cout=1
  bit2: A=1 B=0 Cin=1  → S=0 Cout=1
  bit3: A=0 B=0 Cin=1  → S=1 Cout=0

Resultado: 1000 = 8. Confirma-se: 7 + 1 = 8.

Subtratores e complemento para dois

A subtração digital reaproveita o mesmo circuito somador, através do complemento para dois:

Exemplo resolvido: calcular 5 − 3 em 4 bits. 5 = 0101, 3 = 0011. Complemento para um de 3: 1100. Complemento para dois: 1101. Somar: 0101 + 1101 = 1 0010. Descartar o transporte (o "1" à esquerda): resultado 0010 = 2. Confirma-se: 5 − 3 = 2.

A grande vantagem do complemento para dois é que o mesmo circuito somador serve para somar e para subtrair, sem precisar de um circuito separado.

4. Circuitos combinatórios: multiplexadores, descodificadores e comparadores

Multiplexadores (MUX) e demultiplexadores (DEMUX)

O multiplexador (MUX) seleciona uma de várias entradas de dados para uma única linha de saída, escolhida por linhas de seleção. Um MUX de 4 entradas precisa de 2 linhas de seleção (2² = 4 combinações). Serve para partilhar um único canal entre várias fontes de dados.

O demultiplexador (DEMUX) faz o inverso: uma única entrada é encaminhada para uma de várias saídas, também escolhida por linhas de seleção. É como um distribuidor: recebe uma carta e entrega-a na caixa correta.

Codificadores e descodificadores

Comparadores digitais

O comparador digital compara dois números binários A e B e indica a relação entre eles: A>B, A=B ou A<B.

Exemplo resolvido: dimensionar um MUX

Um sistema precisa de selecionar 1 de 8 sensores para ler de cada vez. Quantas linhas de seleção precisa o MUX?

2^n  8    n = 3

São precisas 3 linhas de seleção (2³ = 8), um MUX 8:1.

5. Circuitos sequenciais: síncronos e assíncronos, latches e flip-flops

Síncrono vs assíncrono

Latches: elementos de memória sensíveis ao nível

O latch é o elemento de memória mais simples, sensível ao nível do sinal de controlo (enquanto o controlo está ativo, a saída pode mudar).

Flip-flops: elementos de memória sensíveis à transição

O flip-flop é sensível à transição (borda de subida ou de descida) do clock, não ao nível. Isto torna-o mais previsível e é o elemento de memória preferido em circuitos síncronos.

Flip-flop Comportamento
D a saída copia o valor de D na borda do clock
JK J=K=0 mantém o estado; J=K=1 inverte (toggle); J≠K define o valor diretamente
T T=1 inverte a saída a cada borda de clock; T=0 mantém o estado

O flip-flop JK resolve o estado proibido do latch SR (quando J=K=1, apenas inverte, não é indefinido). O flip-flop T é a base ideal para construir um contador binário, porque inverte a cada impulso de clock.

6. Circuitos sequenciais: contadores, registos, memórias e FSM

Contadores e divisores de frequência

Um contador é uma cadeia de flip-flops que percorre uma sequência de estados a cada impulso de clock.

Um contador binário de N bits funciona também como divisor de frequência: a última saída da cadeia alterna a uma frequência 2ᴺ vezes menor que o clock de entrada.

Registos e memórias

Máquinas de estado finito (FSM)

Uma FSM (Finite State Machine) é um circuito sequencial que percorre um número finito de estados, mudando conforme as entradas e o estado atual. Descreve-se por um diagrama de estados: círculos representam os estados, setas representam as transições, rotuladas com a condição que as dispara.

Exemplo resolvido: FSM de um semáforo

Um semáforo simples tem 3 estados: verde, amarelo e vermelho, cada transição disparada por um temporizador:

[Verde] --(tempo esgotado)--> [Amarelo] --(tempo esgotado)--> [Vermelho] --(tempo esgotado)--> [Verde]

Cada estado define diretamente a saída (qual luz está acesa): é por isso uma máquina de Moore. Uma máquina de venda automática, em contraste, teria estados como "à espera de moeda" e "valor suficiente", com a saída (entregar produto) dependente também da entrada (moeda inserida): mais próxima de uma máquina de Mealy.

7. Circuitos híbridos

Um circuito híbrido combina lógica combinatória e sequencial no mesmo sistema: a parte combinatória processa dados instante a instante, a parte sequencial guarda o estado e sincroniza tudo através de um clock.

O técnico de eletrónica e automação encontra circuitos híbridos em quase todo o equipamento moderno: reconhecer o bloco combinatório e o bloco sequencial dentro deles é a base do diagnóstico de avarias.

8. Consultar datasheets de componentes lógicos

O datasheet é a ficha técnica oficial de um componente, publicada pelo fabricante. É a fonte de verdade antes de ligar qualquer componente a um circuito, seja em simulação ou em breadboard. Contém:

Exemplo resolvido: ler um datasheet passo a passo

Antes de montar um circuito com um contador integrado 4017:

  1. Confirmar a referência exata (4017, não outra variante da família).
  2. Localizar o pinout: identificar VCC, GND, entrada de clock, entrada de reset e as 10 saídas.
  3. Verificar os valores máximos absolutos de tensão de alimentação (tipicamente entre 3 V e 15 V para a família CMOS 4000).
  4. Consultar os parâmetros elétricos: nível lógico alto e baixo, corrente máxima de cada saída.
  5. Rever os parâmetros de temporização: frequência máxima de clock suportada.
  6. Verificar o circuito de aplicação típica sugerido no datasheet.

Ler o datasheet antes de montar poupa componentes queimados e horas de diagnóstico posterior.

9. Software de simulação: seleção, configuração e montagem

Critérios de seleção do software

Ferramentas de desenho e simulação de circuitos lógicos, gratuitas e profissionais:

Ferramenta Características
Logisim / Logisim Evolution didático, simulação lógica pura, ideal para começar
Tinkercad Circuits simulação online com breadboard virtual, boa ponte para a montagem física
Multisim profissional, simulação analógica e digital
Proteus profissional, simulação + desenho de placa

Critérios de escolha: disponibilidade (gratuito ou licença da escola), tipo de análise suportado, biblioteca de componentes disponível e facilidade de exportar e documentar o circuito.

Selecionar componentes para o circuito a simular

Os componentes escolhem-se conforme a função do circuito: uma porta lógica, um flip-flop, um descodificador, conforme a tabela de verdade ou o diagrama de estados de partida. Confirma-se sempre no datasheet a tecnologia (ex.: família 74HC) e o encapsulamento, e verifica-se a compatibilidade de tensões entre componentes (ex.: 5 V vs 3,3 V).

Procedimentos de configuração e montagem em software de simulação

  1. Criar um novo projeto no software escolhido.
  2. Colocar os componentes selecionados: portas, flip-flops, entradas, saídas, instrumentos de medida.
  3. Configurar os parâmetros de cada componente segundo o datasheet (tensão de alimentação, tipo de porta, valores de temporização).
  4. Ligar os componentes segundo o esquema do circuito a simular, entrada a entrada, saída a saída.
  5. Verificar visualmente que não há ligações soltas antes de simular.

Exemplo resolvido: montar uma porta AND em simulação

  1. Novo projeto no Logisim.
  2. Colocar uma porta AND, dois interruptores (entradas) e um LED (saída) da biblioteca.
  3. Ligar o interruptor 1 e o interruptor 2 às duas entradas da porta AND.
  4. Ligar a saída da porta AND ao LED.
  5. Testar as quatro combinações: só quando ambos os interruptores estão ligados é que o LED acende, confirmando a tabela de verdade da porta AND.

10. Executar a simulação e interpretar resultados

Configurar as condições de simulação

Antes de correr a simulação, define-se o que o software vai calcular:

Interpretação de resultados

Depois de simular, compara-se o resultado obtido com o resultado esperado (a tabela de verdade, o cronograma teórico ou o diagrama de estados previsto):

Documentar sempre o que se observou, mesmo quando os resultados coincidem: é a base para comparar configurações mais tarde.

Exemplo resolvido: análise transiente de um contador

Circuito: contador de 2 bits com flip-flops T, clock de 1 kHz.

  1. Colocar sondas nas saídas Q0 e Q1 e no clock.
  2. Correr a simulação em modo transiente durante 4 ms.
  3. Ler o cronograma: Q0 alterna a cada impulso de clock (500 Hz), Q1 alterna a metade dessa frequência (250 Hz).
  4. Confirmar contra a tabela esperada: a cada 4 impulsos de clock, o par (Q1,Q0) percorre 00, 01, 10, 11 e volta a 00.

O resultado simulado confirma a teoria: o contador funciona também como divisor de frequência por 4.

11. Comparar configurações e implementar em breadboard

Deteção de anomalias e otimização

Deteção de anomalias: comparar o resultado simulado com o esperado, nó a nó, para localizar onde o circuito diverge (ligação trocada, componente errado, porta em falta).

Análise de desempenho e otimização: depois de o circuito funcionar corretamente, experimentam-se diferentes configurações do mesmo circuito e compara-se:

Exemplo resolvido: comparar contador síncrono e assíncrono

Simulando o mesmo contador de 4 bits em dois desenhos:

Configuração Componentes Atraso total Observação
Assíncrono (ripple) 4 flip-flops soma dos 4 tempos de propagação mais simples, mais lento
Síncrono 4 flip-flops + lógica extra 1 tempo de propagação mais rápido, mais componentes

Para uma aplicação que exija contagem a alta frequência, a configuração síncrona é a escolha correta, apesar de usar mais componentes. Para um indicador visual lento, o assíncrono já é suficiente e mais barato.

Da simulação à breadboard

Validado o circuito em simulação, passa-se à implementação física em breadboard, uma placa de montagem sem soldadura:

  1. Confirmar tensão e polaridade da alimentação antes de ligar qualquer componente.
  2. Seguir a disposição da breadboard: as calhas laterais são alimentação/massa, as filas do meio ligam entre si.
  3. Manter a fiação organizada: fios curtos, cores diferentes para sinal, alimentação e massa.
  4. Confirmar o pinout de cada circuito integrado no datasheet antes de o inserir (o entalhe ou o ponto no encapsulamento marca o pino 1).

Exemplo resolvido: montar um circuito combinatório simples

Montar uma porta AND com o circuito integrado 74HC08 e um LED indicador:

  1. Ligar VCC e GND do 74HC08 conforme o datasheet.
  2. Ligar as duas entradas a interruptores, cada um com uma resistência pull-down.
  3. Ligar a saída a um LED com resistência limitadora (entre 220 Ω e 330 Ω).
  4. Testar as quatro combinações de entrada e confirmar contra a tabela de verdade da porta AND.

Exemplo resolvido: montar um circuito sequencial simples

Montar um contador binário com o circuito integrado 4017 (contador Johnson decimal) e LEDs de estado:

  1. Ligar VCC e GND conforme o datasheet do 4017.
  2. Ligar um gerador de clock simples (um botão com filtro anti-ricochete, ou um temporizador 555 em modo astável) à entrada de clock.
  3. Ligar cada uma das dez saídas a um LED com resistência limitadora.
  4. Testar: a cada impulso de clock, deve acender-se o LED seguinte da sequência, confirmando o comportamento visto em simulação.

Erros comuns

Glossário

Síntese

Um circuito lógico é sempre combinatório, sequencial ou híbrido, consoante tenha ou não memória. O combinatório constrói-se a partir de portas lógicas e da álgebra de Boole, dando origem a somadores, multiplexadores, descodificadores e comparadores. O sequencial acrescenta memória através de latches e flip-flops, dando origem a contadores, registos, memórias e máquinas de estado. O híbrido combina os dois. Em qualquer dos casos, o percurso profissional é sempre o mesmo: consultar o datasheet, selecionar e configurar os componentes em software de simulação, executar a análise adequada, interpretar e comparar resultados de diferentes configurações e, por fim, implementar o circuito validado em breadboard.

Exercícios resolvidos

1. Classifica como combinatório ou sequencial: (a) um somador; (b) um contador; (c) um descodificador BCD-7-segmentos; (d) um registo de deslocamento.

Resolução: (a) combinatório (a soma depende só das entradas atuais); (b) sequencial (precisa de guardar o estado da contagem); (c) combinatório (converte um código atual numa saída, sem memória); (d) sequencial (guarda e desloca bits a cada clock).

2. Simplifica a expressão S = A·B + A·B' + A'·B usando álgebra de Boole.

Resolução: A·B + A·B' = A·(B+B') = A·1 = A. Fica S = A + A'·B. Por absorção, A + A'·B = A + B. Resultado final: S = A + B.

3. Um circuito integrado da família CMOS 4000 tem tensão de alimentação máxima de 15 V. Onde confirmas este valor antes de montar o circuito?

Resolução: no datasheet do componente, na secção de valores máximos absolutos (absolute maximum ratings). Ultrapassar este valor pode destruir o componente de forma irreversível.

4. Explica porque é que um flip-flop JK não tem estado proibido, ao contrário do latch SR.

Resolução: no latch SR, S=R=1 é indefinido. No flip-flop JK, quando J=K=1 a saída simplesmente inverte (toggle) em vez de ficar indefinida, porque a lógica interna do JK foi desenhada precisamente para resolver esse caso do SR.

5. Comparaste um contador síncrono e um assíncrono em simulação. O assíncrono tem atraso acumulado maior. Em que situação escolherias mesmo assim o assíncrono?

Resolução: quando a aplicação não exige alta velocidade (ex.: um indicador visual lento, contando segundos) e se pretende poupar componentes e custo, porque o assíncrono precisa de menos lógica adicional do que o síncrono.

6. Vais montar um LED numa breadboard, ligado à saída de uma porta lógica a 5 V. Que componente adicional é obrigatório e porquê?

Resolução: uma resistência limitadora de corrente (tipicamente entre 220 Ω e 330 Ω), em série com o LED. Sem ela, a corrente através do LED excede o valor máximo suportado e o componente queima.

7. Que tipo de análise de simulação usarias para confirmar que a saída de um flip-flop só muda no instante exato da borda de subida do clock?

Resolução: a análise transiente, porque mostra a evolução do circuito ao longo do tempo num cronograma, permitindo confirmar o instante exato de cada transição, ao contrário da simulação lógica pura, que não tem noção de tempo.