Sebenta · Otimizar e implementar circuitos lógicos (UC00652)
- Introdução
- 1. Lógica combinatória e lógica sequencial
- 2. Portas lógicas básicas e álgebra de Boole
- 3. Circuitos combinatórios: somadores, subtratores e complementos
- 4. Circuitos combinatórios: multiplexadores, descodificadores e comparadores
- 5. Circuitos sequenciais: síncronos e assíncronos, latches e flip-flops
- 6. Circuitos sequenciais: contadores, registos, memórias e FSM
- 7. Circuitos híbridos
- 8. Consultar datasheets de componentes lógicos
- 9. Software de simulação: seleção, configuração e montagem
- 10. Executar a simulação e interpretar resultados
- 11. Comparar configurações e implementar em breadboard
- Erros comuns
- Glossário
- Síntese
- Exercícios resolvidos
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:
- Circuitos combinatórios: a saída depende exclusivamente das entradas presentes no instante atual. Não têm memória. Descrevem-se por uma tabela de verdade ou por uma expressão booleana.
- Circuitos sequenciais: a saída depende das entradas e do estado anterior, guardado num elemento de memória (latch ou flip-flop). Podem ser síncronos (mudam de estado ao ritmo de um sinal de relógio comum, o clock) ou assíncronos (cada elemento reage assim que a sua entrada muda, sem esperar por um clock comum).
- Circuitos híbridos: combinam os dois tipos, com um bloco combinatório a processar dados e um bloco sequencial a guardar o estado, como um microcontrolador ou um controlador programável.
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:
- Comutativa: A·B = B·A ; A+B = B+A
- Associativa: (A·B)·C = A·(B·C)
- Distributiva: A·(B+C) = A·B + A·C
- Identidade: A·1 = A ; A+0 = A
- Complemento: A·A' = 0 ; A+A' = 1
- Absorção: A + A·B = A
- Leis de De Morgan: (A·B)' = A' + B' ; (A+B)' = A'·B'
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:
- Complemento para um: inverter todos os bits (0↔1).
- Complemento para dois: complemento para um mais 1.
- A − B = A + complemento_para_dois(B), descartando o transporte final.
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
- Codificador: converte uma entrada ativa (de várias possíveis) num código binário de saída. Exemplo: um teclado de 10 teclas gera um código de 4 bits correspondente à tecla premida.
- Descodificador: faz o inverso, converte um código binário de entrada na ativação de uma única saída de várias. Exemplo clássico: o descodificador BCD para 7 segmentos, que acende os segmentos certos de um visor para mostrar um algarismo.
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.
- Um comparador de 1 bit implementa-se com uma porta XNOR (a saída é 1 quando A=B).
- Comparadores de vários bits encadeiam-se, comparando sempre do bit mais significativo para o menos significativo.
- Aplicações típicas: alarmes de limite, controlo de temperatura, sistemas de prioridade em automação industrial.
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
- Síncrono: todos os elementos de memória mudam de estado ao mesmo tempo, disparados por um sinal de clock comum. Previsível e fácil de analisar.
- Assíncrono: cada elemento reage assim que a sua entrada muda, sem esperar por um clock comum; a mudança propaga-se de elemento em elemento, podendo gerar atrasos acumulados entre estágios.
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).
- Latch SR (Set-Reset): S=1 põe a saída a 1; R=1 põe a saída a 0. S=R=1 é um estado proibido (indefinido), a maior fragilidade deste latch.
- Latch D (Data): a saída segue a entrada D enquanto o sinal de habilitação (enable) está ativo; quando o enable desativa, a saída guarda o último valor de D. Resolve o problema do estado proibido do SR.
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.
- Contador assíncrono (ripple): o clock liga apenas ao primeiro flip-flop; a saída de cada um dispara o clock do seguinte. Simples de construir, mas com atraso acumulado ao longo da cadeia.
- Contador síncrono: todos os flip-flops recebem o mesmo sinal de clock; lógica combinatória adicional decide qual deve mudar de estado. Mais rápido e previsível, ao custo de mais componentes.
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
- Registo: conjunto de flip-flops que guarda uma palavra binária completa (vários bits em simultâneo). Pode ter carga paralela (todos os bits ao mesmo tempo) ou funcionar como registo de deslocamento (shift register), em que os bits se deslocam de um flip-flop para o seguinte a cada clock.
- Memória: matriz de células endereçáveis, cada uma guardando um bit ou uma palavra, acedida por um endereço. Ao contrário do registo, que guarda um só valor, a memória guarda muitos valores, cada um no seu endereço.
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.
- Máquina de Moore: a saída depende só do estado atual.
- Máquina de Mealy: a saída depende do estado atual e das entradas presentes.
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.
- Controladores programáveis (PLC): lógica configurável por software em vez de fios fixos, muito usados em automação industrial e linhas de produção.
- Processadores e microcontroladores: unidade de cálculo combinatória (a "unidade lógica e aritmética") mais registos e memória sequenciais, tudo orquestrado por um clock. Um Arduino é um exemplo acessível de circuito híbrido.
- Filtros digitais: processam um sinal amostrado no tempo, com memória das amostras anteriores; usados em áudio, instrumentação e comunicações.
- Controladores de interface: gerem a comunicação entre um circuito e periféricos externos, como um teclado, um ecrã ou um sensor.
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:
- Especificações técnicas: tensões e correntes máximas, faixa de temperatura de funcionamento, tecnologia (TTL, CMOS).
- Características de entrada e saída: níveis lógicos de 0 e 1, corrente que cada pino suporta.
- Diagrama e configuração de pinos (pinout): qual pino é qual entrada, saída, alimentação (VCC) e massa (GND).
- Parâmetros de temporização: tempos de propagação, tempo mínimo de setup e de hold antes e depois do clock.
- Aplicações práticas e exemplos de uso: circuitos típicos recomendados pelo fabricante.
Exemplo resolvido: ler um datasheet passo a passo
Antes de montar um circuito com um contador integrado 4017:
- Confirmar a referência exata (4017, não outra variante da família).
- Localizar o pinout: identificar VCC, GND, entrada de clock, entrada de reset e as 10 saídas.
- 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).
- Consultar os parâmetros elétricos: nível lógico alto e baixo, corrente máxima de cada saída.
- Rever os parâmetros de temporização: frequência máxima de clock suportada.
- 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
- Criar um novo projeto no software escolhido.
- Colocar os componentes selecionados: portas, flip-flops, entradas, saídas, instrumentos de medida.
- Configurar os parâmetros de cada componente segundo o datasheet (tensão de alimentação, tipo de porta, valores de temporização).
- Ligar os componentes segundo o esquema do circuito a simular, entrada a entrada, saída a saída.
- Verificar visualmente que não há ligações soltas antes de simular.
Exemplo resolvido: montar uma porta AND em simulação
- Novo projeto no Logisim.
- Colocar uma porta AND, dois interruptores (entradas) e um LED (saída) da biblioteca.
- Ligar o interruptor 1 e o interruptor 2 às duas entradas da porta AND.
- Ligar a saída da porta AND ao LED.
- 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:
- Análise transiente: evolução do circuito ao longo do tempo, produzindo formas de onda e cronogramas (timing diagrams). É a análise mais usada em circuitos sequenciais, onde o tempo e a ordem das transições são a própria informação.
- Análise de frequência: resposta do circuito a diferentes frequências do sinal de entrada; usada em filtros digitais e circuitos com resposta dependente da frequência.
- Simulação lógica: percorre a tabela de verdade, confirmando o valor de saída (0 ou 1) para cada combinação de entradas, sem análise temporal associada.
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):
- Resultado igual ao esperado: o circuito está validado para essa configuração.
- Resultado diferente: há uma anomalia a investigar, uma ligação errada, um componente mal configurado ou um erro de projeto.
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.
- Colocar sondas nas saídas Q0 e Q1 e no clock.
- Correr a simulação em modo transiente durante 4 ms.
- Ler o cronograma: Q0 alterna a cada impulso de clock (500 Hz), Q1 alterna a metade dessa frequência (250 Hz).
- 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:
- Número de componentes usados (menos portas custa menos e reduz pontos de falha possíveis).
- Velocidade de resposta (tempo de propagação total do sinal, do primeiro ao último componente).
- Consumo e robustez a variações de tensão de alimentação.
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:
- Confirmar tensão e polaridade da alimentação antes de ligar qualquer componente.
- Seguir a disposição da breadboard: as calhas laterais são alimentação/massa, as filas do meio ligam entre si.
- Manter a fiação organizada: fios curtos, cores diferentes para sinal, alimentação e massa.
- 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:
- Ligar VCC e GND do 74HC08 conforme o datasheet.
- Ligar as duas entradas a interruptores, cada um com uma resistência pull-down.
- Ligar a saída a um LED com resistência limitadora (entre 220 Ω e 330 Ω).
- 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:
- Ligar VCC e GND conforme o datasheet do 4017.
- Ligar um gerador de clock simples (um botão com filtro anti-ricochete, ou um temporizador 555 em modo astável) à entrada de clock.
- Ligar cada uma das dez saídas a um LED com resistência limitadora.
- Testar: a cada impulso de clock, deve acender-se o LED seguinte da sequência, confirmando o comportamento visto em simulação.
Erros comuns
- Confundir a porta OR com a XOR: a OR aceita as duas entradas a 1, a XOR não.
- Esquecer o transporte (carry) ao somar bits, tratando 1+1 como erro em vez de 10 binário.
- Confundir codificador com descodificador: o codificador reduz o número de linhas, o descodificador aumenta.
- Usar o latch SR sem perceber que S=R=1 é um estado proibido.
- Confundir latch (sensível ao nível) com flip-flop (sensível à transição do clock).
- Ligar um circuito integrado ao contrário na breadboard, ignorando a marca do pino 1.
- Esquecer a resistência limitadora de um LED e queimar o componente.
- Aceitar um resultado de simulação sem o confrontar com a tabela de verdade ou o cronograma esperado.
- Escolher a análise errada (ex.: simulação lógica pura para um circuito onde o tempo importa).
Glossário
- Circuito combinatório · a saída depende só das entradas atuais, sem memória.
- Circuito sequencial · a saída depende das entradas e do estado anterior, com memória.
- Álgebra de Boole · matemática das variáveis binárias (E, OU, negação).
- Somador completo · soma dois bits e um transporte de entrada, produz soma e transporte de saída.
- Complemento para dois · método para representar e subtrair números binários com o mesmo circuito somador.
- Multiplexador (MUX) · seleciona uma de várias entradas para uma única saída.
- Descodificador · converte um código binário na ativação de uma única saída de várias.
- Latch · elemento de memória sensível ao nível do sinal de controlo.
- Flip-flop · elemento de memória sensível à transição (borda) do clock.
- Contador síncrono / assíncrono · cadeia de flip-flops, com ou sem clock comum a todos.
- Registo de deslocamento (shift register) · regista bits que se deslocam de flip-flop em flip-flop a cada clock.
- FSM (Finite State Machine) · circuito sequencial com um número finito de estados e transições.
- Datasheet · ficha técnica oficial de um componente, publicada pelo fabricante.
- Pinout · diagrama de configuração dos pinos de um componente.
- Breadboard · placa de montagem eletrónica sem soldadura.
- Análise transiente · simulação da evolução do circuito ao longo do tempo.
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. FicaS = 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.