Aula 3 — Circuitos combinacionais e sequenciais
Apresentação
Tudo o que construímos até aqui — portas lógicas, codificadores, decodificadores, somadores — tem uma propriedade em comum: a saída depende apenas das entradas do momento. Desligue e religue o circuito com as mesmas entradas e você obtém exatamente a mesma saída. São os circuitos combinacionais.
Só que um computador precisa lembrar. Precisa guardar o resultado de uma soma até que ele seja usado, precisa saber qual instrução executar em seguida, precisa manter um valor estável enquanto outra parte do circuito o lê. Nenhuma combinação de portas lógicas sem realimentação faz isso.
Esta aula responde a uma única pergunta: o que separa um circuito que só reage de um circuito que se lembra? A resposta é uma só ideia estrutural — a realimentação, ligar a saída de volta à entrada — e a maior parte da aula é dedicada a entender o que essa ideia cria (o estado) e o que ela custa (o tempo passa a fazer parte do circuito). No fim, chegamos à célula biestável: o menor circuito capaz de guardar um bit. É dela que nasce o flip-flop, o dispositivo que a próxima aula constrói em suas quatro variantes.
Por que estudar isso em Organização de Computadores
Porque essa distinção é a fronteira entre as duas metades da máquina. Todo o caminho de dados combinacional — a ULA, os multiplexadores, os decodificadores de endereço — calcula e esquece. Tudo o que guarda estado — os registradores, o contador de programa, os flags, cada célula de RAM estática — é um circuito sequencial, construído sobre o laço de realimentação que veremos aqui.
Antes de estudar registradores, memória e a CPU, é preciso ter clareza sobre o que os torna possíveis. Esta aula abre a caixa da memória no seu nível mais elementar: dois transistores realimentados que se recusam a esquecer.
Objetivos
Ao final desta aula você deve ser capaz de:
- Distinguir circuito combinacional de circuito sequencial pela estrutura (grafo acíclico × grafo com ciclo) e pelo comportamento (com e sem estado).
- Prever o efeito de fechar um laço de realimentação em função do número de inversões, distinguindo o caso que oscila do caso que armazena.
- Enumerar as consequências da realimentação — coluna de estado anterior na tabela, distinção entre configurações estáveis e instáveis, e risco de corrida — e justificar o sincronismo por clock como resposta a elas.
- Explicar por que um anel de dois inversores guarda um bit mas não serve, sozinho, como célula de memória utilizável.
- Montar e simular os circuitos estudados no Logisim-Evolution, observando o comportamento em função do tempo.
1. O que é um circuito combinacional
No modelo lógico dos circuitos que estudamos até agora — portas, codificadores, decodificadores, somadores e o somador-subtrator — vale a seguinte regra: a saída é uma função booleana das entradas atuais.
Três consequências decorrem dessa definição. Vale enunciá-las porque elas marcam a diferença entre circuitos combinacionais e sequenciais:
- A tabela-verdade descreve por completo o comportamento lógico do circuito. Com n entradas, suas 2ⁿ linhas cobrem todas as combinações possíveis e indicam a saída correspondente a cada uma delas.
- O histórico das entradas não altera a saída. Depois que os sinais se estabilizam, chegar à entrada
10a partir de01ou de11produz o mesmo resultado. O circuito considera apenas os valores atuais das entradas, não a sequência de valores que veio antes. - O circuito não armazena estado. Ele não possui memória para registrar entradas ou resultados anteriores. Por isso, quando recebe novamente a mesma combinação de entradas, produz a mesma saída lógica.
Em uma implementação combinacional convencional, o grafo de dependências é acíclico: os sinais atravessam as portas sem retornar a uma etapa anterior. A ausência de realimentação impede que o circuito preserve um estado interno e sustenta o comportamento descrito acima.
2. Por que isso não basta
Uma porta lógica se comporta como uma campainha: enquanto o dedo está no botão, o som existe; ao soltar, o som acaba. O que precisamos, para construir um computador, é de um interruptor de luz: um toque acende, e a lâmpada continua acesa depois que a mão sai.
O problema aparece na primeira tarefa realmente útil que se tenta fazer. Some 3 + 5 + 2 usando um somador combinacional: ele calcula 3 + 5 = 8 instantaneamente, mas, no momento em que você apresenta o 2 nas entradas, o 8 já não existe em lugar nenhum. Não há onde guardar o resultado parcial.
O mesmo vale para todo o resto da máquina:
- Qual instrução executar agora? Exige lembrar qual foi a anterior.
- O resultado deu zero? Exige guardar essa informação até que o desvio condicional a consulte.
- Manter um valor estável enquanto outro bloco o lê exige, literalmente, memória.
Nenhuma dessas coisas é possível em um grafo acíclico. Precisamos fechar um ciclo.
3. A ideia da realimentação — e suas duas consequências
Realimentar é ligar a saída de um circuito de volta à sua própria entrada. A pergunta é: o que acontece quando fazemos isso?
Antes de responder, é preciso combinar o que significa "acontecer". Em um circuito com laço, aplicar uma entrada não produz uma saída instantânea: o sinal dá voltas, e cada volta custa um atraso de propagação — o tempo que uma porta leva entre ver a entrada mudar e mudar a saída. Só faz sentido falar em "a saída é tal" depois que as voltas param de mudar alguma coisa. Daí a definição que vamos usar o tempo todo:
Uma configuração é estável quando, ao recalcular todas as portas com os valores que estão nos fios, nenhum fio muda de valor. O laço confirma a si mesmo e o circuito para ali.
Ela é instável quando pelo menos um fio muda. Aí há dois desfechos:
- o circuito evolui algumas voltas e cai em uma configuração estável — é o caso normal, e o que se vê é apenas um atraso;
- o circuito nunca cai em nenhuma, e fica trocando de valor indefinidamente — é a oscilação.
E há um terceiro caso, que não é nem um nem outro: o laço pode não ter valor nenhum, porque ninguém nunca escreveu nada nele. É o que acontece com todo biestável no instante em que é energizado. Chamamos essa situação de indefinida, e ela é o assunto do quadro "O empate inicial", logo adiante.
Essa definição tem uma consequência prática importante: estabilidade é uma propriedade que se verifica, não que se deduz. As duas figuras seguintes vêm com um arquivo pronto no Logisim, e cada uma delas é para ser aberta e observada, não apenas lida.
Dito isso, a resposta depende de quantas inversões existem no laço. A Figura 1 mostra os dois casos possíveis.
(a) Um inversor realimentado — o laço se contradiz. Fechando o laço, obtemos a equação Q = Q, que não tem solução lógica: se Q for 0, a saída do inversor é 1, o que força Q a 1; se Q for 1, a saída é 0, o que força Q a 0. Nenhum valor se sustenta.
Na prática, o circuito não trava nem explode: ele oscila, trocando de valor a cada atraso de propagação da porta. Aplicando a definição do quadro acima: nenhuma das duas configurações possíveis é estável, e o circuito não tem para onde cair. Essa é a base do oscilador em anel, usado para gerar sinais de relógio e para medir a velocidade de um processo de fabricação — mas é inútil como memória.
No simulador (Atividade 2): abra 01-realimentacao-oscilador.circ e o circuito já entra oscilando. Depois de recalcular mil vezes sem que nada assente, o Logisim desiste e escreve Oscillation apparent em vermelho sobre o desenho, com círculos vermelhos nos nós culpados. Não há nada para clicar — o comportamento não depende de nenhuma entrada, porque o circuito não tem nenhuma.
(b) Dois inversores realimentados — o laço se sustenta. Agora a equação do laço é Q = Q = Q, que é verdadeira tanto para Q = 0 quanto para Q = 1. Recalculando as portas em qualquer uma das duas configurações, nada muda: são duas configurações estáveis. Uma vez em uma delas, o circuito permanece indefinidamente, porque cada porta confirma o valor da outra.
No simulador (Atividade 3): abra 02-realimentacao-biestavel.circ. O circuito assenta imediatamente em Q = 0, nQ = 1 e fica lá. Nenhuma mensagem de oscilação aparece — e, de novo, não há nada para clicar.
Isso é memória. É a célula biestável — e é, essencialmente, o núcleo de toda RAM estática. Falta, porém, uma coisa: não há como escolher em qual dos dois estados o circuito vai ficar, nem como mudá-lo depois. Um circuito que guarda um bit que ninguém pode escrever não serve para nada.
Repare que essa constatação não é um detalhe: ela é literal. Se você abrir o arquivo da Atividade 3 e procurar um pino de entrada, não vai encontrar nenhum — o anel de inversores não tem entrada. Todos os terminais das duas portas já estão ocupados pelo próprio laço.
Um anel de inversores tem um problema anterior a todos os outros: ao ser energizado, não há motivo para ele preferir 0 ou 1. As duas configurações são igualmente válidas, e nada no circuito desempata.
Em silício, quem desempata é a assimetria física — diferenças microscópicas de fabricação e o ruído térmico das próprias portas fazem uma delas comutar primeiro, e o anel cai em um dos dois estados de forma arbitrária.
O Logisim não modela ruído analógico. Para ele, um fio em que ninguém escreveu vale X (desconhecido), e um inversor que recebe X responde E (erro): não dá para inverter aquilo que não se sabe. Sem ajuda, o anel travaria em vermelho — o simulador estaria dizendo, com razão, "não tenho como saber".
Por isso os dois arquivos trazem um Pull Resistor (biblioteca Wiring) em cada nó do laço. Ele funciona como o resistor de pull-up/pull-down de um circuito real: define o valor de um fio apenas enquanto ninguém o está impondo, e sai da frente assim que uma porta assume o nó. É o desempate físico, tornado explícito. No arquivo da Atividade 3 você vai poder inverter os dois resistores (de 0/1 para 1/0) e ver o anel acordar no outro estado estável — a demonstração direta da biestabilidade.
A saída para o impasse. Trocar os dois inversores por duas portas de duas entradas — NAND ou NOR — preserva o comportamento biestável (cada porta continua invertendo o sinal que recebe da outra) e, de quebra, deixa uma entrada livre em cada porta. Essas entradas livres são o comando: por elas se escreve o bit — e, com elas, os resistores de desempate deixam de ser necessários, porque agora existe alguém para escrever no laço. É exatamente o circuito com que a próxima aula começa: o flip-flop RS.
Guarde a sequência, porque ela reaparece na disciplina inteira: um caminho de realimentação cria estado; o número de inversões nesse caminho decide se o resultado é oscilação ou memória; entradas adicionais nas portas do laço tornam esse estado controlável.
4. O que a realimentação custa
Ganhar memória não sai de graça. Fechar o ciclo muda a natureza do circuito de três maneiras, e cada uma delas gera um problema que a próxima aula vai resolver:
| O que muda | Consequência prática |
|---|---|
| A saída passa a depender também de si mesma | A tabela-verdade ganha uma coluna: já não basta listar as entradas, é preciso listar também o estado anterior (Qa). Com n entradas, são 2ⁿ⁺¹ linhas. |
| Passam a existir configurações que não se sustentam | A análise deixa de ser puramente algébrica. Cada linha precisa ser classificada como estável ou instável, e uma linha instável evolui sozinha até parar em outra — ou não para nunca, e o circuito oscila. |
| O resultado pode depender da ordem e da velocidade | Se duas entradas mudam "ao mesmo tempo", o estado final pode depender de qual porta comutar primeiro — algo que varia com temperatura e fabricação. É a condição de corrida (race condition), e é a raiz do caso proibido do flip-flop RS. |
Repare que os três itens têm a mesma origem: o tempo passou a fazer parte do circuito. Enquanto o grafo era acíclico, o atraso de propagação só atrasava a resposta; com o laço fechado, ele decide qual é a resposta.
A engenharia digital lida com esses três problemas com uma única decisão de projeto: sincronizar tudo por um sinal de clock. Em vez de deixar o circuito reagir a qualquer mudança a qualquer instante, concentra-se toda a mudança de estado em um momento definido, comum a todas as células. É o que a próxima aula introduz junto com o flip-flop RS com clock, e é por isso que praticamente todo circuito digital moderno é síncrono.
Os três itens da tabela têm um controle correspondente em Projeto → Opções… → Simulação (Project → Options… → Simulation), e é ali que se verifica cada um deles:
- Iterações até a oscilação (Iterations until oscillation, padrão 1000) — quantas vezes o simulador recalcula o circuito antes de declarar que ele não assenta. É o ajuste que a Atividade 2 explora.
- Adicionar ruído aos atrasos dos componentes (Add noise to component delays) — quando marcado, cada porta ganha uma variação aleatória de cerca de 3% no atraso. É o que transforma uma corrida empatada em uma corrida com vencedor; ele volta a importar nas atividades do caso proibido, na próxima aula.
- Saída da porta quando indefinida (Gate output when undefined) — decide se uma porta com entrada indefinida propaga o valor indefinido ou acusa erro. É o que explica o vermelho da Atividade 3.
A subseção "Onde a estabilidade aparece na tela", mais adiante, volta a esses ajustes com o passo a passo.
5. O quadro geral
A Figura 2 resume o contraste. Repare que o bloco sequencial tem duas adições em relação ao combinacional: o caminho de realimentação, que cria o estado, e a entrada de clock, que decide quando esse estado pode mudar. A primeira é o que torna a memória possível; a segunda é o que a torna utilizável.
| Combinacional | Sequencial | |
|---|---|---|
| Saída depende de | entradas atuais | entradas atuais e estado anterior |
| Estrutura | grafo acíclico | tem ao menos um ciclo |
| Descrição completa | tabela-verdade | tabela de transição de estados |
| Precisa de clock | não | em geral sim (os síncronos) |
| Exemplos | somador, decodificador, multiplexador | flip-flop, registrador, contador, memória |
Seguindo o livro-texto, escrevemos Qa para o estado da saída antes da aplicação das entradas (estado anterior) e Qf para o estado que a saída assume depois (estado futuro). A saída complementar é sempre indicada por Q.
Na literatura em inglês, os mesmos valores aparecem como Q(t) e Q(t+1), ou Q e Q⁺. Essa notação reaparece na próxima aula, na análise dos flip-flops.
6. Os dois estados
Antecipando o que a próxima aula formaliza: a célula biestável tem duas saídas, Q e Q, e — em operação normal — elas são sempre complementares. Só existem, portanto, dois estados possíveis:
- Q = 0 e Q = 1
- Q = 1 e Q = 0
A célula armazena, assim, exatamente um bit. Todo o resto — registradores, memórias, contadores — é replicação e interligação dessa mesma ideia. É por isso que o próximo passo, transformar o biestável em um flip-flop controlável, é o alicerce de toda a memória da máquina.
Exercícios (checkpoints)
Verificação rápida
1. O que distingue um circuito sequencial de um circuito combinacional?
- a)O circuito sequencial usa mais portas lógicas
- b)O circuito sequencial tem realimentação, e por isso a saída depende também dos estados anteriores
- c)O circuito combinacional não pode ter mais de uma saída
- d)O circuito sequencial só funciona com portas NAND e NOR
- e)O circuito combinacional não pode ser simulado no Logisim
2. Fechando um laço de realimentação com um número ÍMPAR de inversões (por exemplo, um único inversor com a saída ligada à entrada), o que acontece?
- a)O circuito armazena um bit, como um flip-flop
- b)O circuito oscila: nenhum valor se sustenta, e a saída troca a cada atraso de propagação
- c)A saída fica permanentemente em 1
- d)A saída fica permanentemente em 0
- e)O circuito se comporta como um circuito combinacional comum
3. Um anel de dois inversores é biestável e guarda um bit. Por que, ainda assim, ele não serve como célula de memória utilizável?
- a)Porque consome energia demais
- b)Porque o bit armazenado se perde depois de alguns milissegundos
- c)Porque não há nenhuma entrada por onde escrever: o estado inicial é definido por acaso e não pode ser alterado
- d)Porque as duas saídas não são complementares
- e)Porque ele precisa de um sinal de clock para funcionar
Questões dissertativas
Explique, com suas palavras, por que um circuito construído apenas com portas lógicas sem realimentação não consegue armazenar informação.
Atividades práticas no Logisim-Evolution
Ambiente sugerido: Logisim-Evolution, o fork mantido do Logisim clássico. Os arquivos desta aula declaram as bibliotecas na ordem do Logisim-Evolution e não abrem no Logisim 2.7.1 original.
Versão de referência: 4.1.0 (fevereiro de 2026).
| Como instalar | Arquivo |
|---|---|
| Multiplataforma — arquivo único, exige Java 21 ou superior já instalado | logisim-evolution-4.1.0-all.jar (51 MB) |
| Windows — instalador, já traz o Java embutido | .msi amd64 · .msi aarch64 |
| macOS — instalador, já traz o Java embutido | .dmg Apple Silicon · .dmg Intel |
| Linux — pacote da distribuição | .deb amd64 · .rpm x86_64 |
O .jar roda com duplo clique ou por java -jar logisim-evolution-4.1.0-all.jar. Se java -version não responder no seu terminal, instale antes uma distribuição do OpenJDK 21 — ou prefira o instalador do seu sistema, que já vem com o Java embutido e dispensa essa etapa.
Versões mais novas ficam na página de versões do projeto; o código-fonte e o manual, no repositório oficial.
São três atividades. A primeira mostra, lado a lado, a diferença que a aula inteira descreve; as duas seguintes usam arquivos prontos e tratam dos dois casos da Figura 1. A próxima aula continua a numeração, com os laços RS e os flip-flops.
Antes de abrir o primeiro arquivo, porém, vale gastar cinco minutos com a subseção seguinte. Ela responde à pergunta que atravessa a aula inteira — como eu sei que este circuito está estável? — em termos do que o simulador efetivamente desenha.
Onde a estabilidade aparece na tela
O Logisim não tem um botão "verificar estabilidade". Ele resolve o circuito repetidamente até que nada mude e, se não conseguir, avisa. Toda a verificação se resume, então, a ler quatro coisas na tela.
1. A cor dos fios. É a informação mais direta, e a que mais gera dúvida:
| Cor do fio | Valor | Significado |
|---|---|---|
| Verde-claro | 1 | valor definido, alto |
| Verde-escuro | 0 | valor definido, baixo |
| Azul | X (unknown) | ninguém escreveu nada aqui ainda |
| Vermelho | E (error) | conflito: dois componentes impondo valores diferentes ao mesmo nó, ou uma porta que recebeu um valor indefinido e não soube o que fazer com ele |
| Cinza | — | fio sem largura definida / desconectado |
Azul e vermelho não são mensagens de erro do programa: são valores do circuito. Um laço biestável recém-aberto aparece azul ou vermelho porque ele está, de fato, indefinido — exatamente como um flip-flop real no instante em que recebe alimentação.
2. A mensagem de oscilação. Quando o circuito não assenta, o Logisim escreve Oscillation apparent em letras vermelhas, centralizadas na parte de baixo da área de desenho, e desenha círculos vermelhos em volta dos nós que continuam mudando. É o diagnóstico completo: a mensagem diz que oscila, os círculos dizem onde.
3. O modo de propagação. No menu Simulate (Simular):
| Item de menu | Atalho | Para que serve |
|---|---|---|
| Auto-Propagate | Ctrl+E (⌘+E) | liga/desliga o cálculo automático. Desligado, aparece uma mensagem azul no canto superior esquerdo dizendo quantos sinais mudaram no último passo |
| Single-Step Propagation | Ctrl+I (⌘+I) | avança um atraso de porta. Os pontos que mudaram nesse passo ficam circulados em azul |
| Reset Simulation | Ctrl+R (⌘+R) | devolve tudo ao estado inicial e limpa o erro de oscilação — é isso, e não fechar e reabrir o arquivo, que se usa para recomeçar |
| Manual Tick Half Cycle | Ctrl+T (⌘+T) | avança meio ciclo de relógio, ou seja, uma borda. É o modo certo para estudar circuitos com clock — ele reaparece na próxima aula |
| Manual Tick Full Cycle | Ctrl+F9 (⌘+F9) | avança um ciclo inteiro (subida e descida) |
| Auto-Tick Enabled | Ctrl+K (⌘+K) | liga/desliga o relógio automático |
O Single-Step Propagation é a ferramenta de diagnóstico mais subestimada da disciplina: com o Auto-Propagate desligado, ele mostra o circuito assentando um atraso de porta por vez. Um circuito estável para de mudar depois de alguns passos e a mensagem azul passa a acusar zero sinais alterados; um circuito oscilante nunca chega lá.
4. Os ajustes de simulação, em Project → Options… → Simulation (Projeto → Opções… → Simulação) — os três controles apresentados na Seção 4. Vale abrir a janela agora e localizá-los; a Atividade 2 depende de mexer no primeiro.
A ferramenta dedo (a primeira da barra, Poke) é a que muda o valor de um pino de entrada. Com a seta você seleciona e move componentes — clicar em um pino com ela não faz nada.
E cuidado com a diferença entre um tick e um passo de propagação: Ctrl+T avança o relógio em uma borda; Ctrl+I avança a propagação em um atraso de porta. São escalas de tempo diferentes, e trocar uma pela outra é a causa mais comum de "o circuito não faz nada".
Arquivos de apoio
| Arquivo | Atividade | O que contém |
|---|---|---|
00-combinacional-vs-sequencial.circ | 1 | Um meio-somador combinacional (A, B → Soma, Carry) e um flip-flop D sequencial (D, CK → Q), lado a lado |
01-realimentacao-oscilador.circ | 2 | Figura 1(a): um inversor realimentado, com um Pull Resistor de desempate |
02-realimentacao-biestavel.circ | 3 | Figura 1(b): dois inversores em anel, com um Pull Resistor em cada nó |
Os arquivos das Atividades 2 e 3 são exatamente os circuitos da Figura 1, mais um componente: o Pull Resistor, da biblioteca Wiring. Ele existe pelo motivo explicado no quadro "O empate inicial" da Seção 3 — um anel de inversores não tem entrada nenhuma, e sem ele o Logisim não teria por onde começar.
Na prática, o Pull Resistor define o valor de um fio só enquanto nenhuma porta o está impondo. Assim que o laço assume o nó, o resistor sai da frente. Ele aparece no desenho como um pequeno retângulo (ou zigue-zague) ligado ao fio, com o valor de repouso — 0 ou 1 — escrito ao lado.
É o mesmo papel do resistor de pull-up/pull-down de uma placa real, e por isso vale a pena reconhecê-lo: ele volta a aparecer em barramentos e em entradas de circuitos integrados ao longo do curso.
Atividade 1 — Combinacional × sequencial, lado a lado
Objetivo: ver, no mesmo arquivo, a diferença que a aula inteira descreve — um circuito que só reage e um circuito que se lembra.
Abra 00-combinacional-vs-sequencial.circ. Em cima está um meio-somador (combinacional): as entradas A e B, uma porta XOR produzindo Soma e uma porta AND produzindo Carry. Embaixo está um flip-flop D (sequencial): a entrada D, um componente Clock e a saída Q. Não se preocupe com o que há dentro do flip-flop D — a próxima aula o constrói; aqui ele é só uma caixa que "lembra".
Use a ferramenta dedo (Poke) o tempo todo.
- No meio-somador: clique em
AeBalternando entre 0 e 1, passando pelas quatro combinações. ObserveSomaeCarry. - No flip-flop D: com o clock em 0, leve
Da 1 e observeQ. - Dê um clique no componente Clock para levá-lo de 0 a 1 (uma borda de subida) e observe
Qde novo. - Volte
Da 0 e observeQmais uma vez.
O que deve aparecer:
- Passo 1:
SomaeCarrymudam no mesmo instante em que você mexe emAouB. Volte as duas entradas a 0 e a saída volta imediatamente a 0. O circuito não guarda nada — é escravo do presente. - Passo 2:
Qnão muda. O dado está "batendo na porta", mas o flip-flop só o deixa entrar na borda do clock. Aqui costuma vir a surpresa. - Passo 3: na subida do clock,
Qfinalmente assume o valor deD— o estado foi capturado. - Passo 4:
Qcontinua em 1, mesmo comDde volta a 0. O circuito reteve a informação. Ele só vai trocar quandoDfor outro valor e houver uma nova borda de clock.
A comparação é o ponto: o meio-somador é um espelho (reflete o que está na frente dele agora); o flip-flop D é uma câmera fotográfica (o D é a cena, o clock é o botão do obturador, e o Q é a foto, que permanece depois que a cena mudou). Toda a Seção 5 está resumida nesses dois blocos.
Se Q mudar assim que você altera D, sem esperar o clock: confira se o componente é mesmo um Clock ligado à entrada de clock (a que tem o triângulo) do flip-flop, e não à entrada D.
Atividade 2 — Um laço com uma inversão oscila
Objetivo: ver, na tela, o que significa "nenhuma configuração é estável".
Abra 01-realimentacao-oscilador.circ. É a Figura 1(a): um inversor com a saída ligada de volta à própria entrada, mais o Pull Resistor de desempate. Não há nenhum pino de entrada — não há o que clicar, e é esse o ponto.
- Abra o arquivo e olhe a tela por alguns segundos, sem tocar em nada.
- Localize os círculos vermelhos e diga a que parte do circuito eles correspondem.
- Dê Reset Simulation (
Ctrl+R) e confirme que a situação se repete.
O que deve aparecer: o circuito entra oscilando sozinho. Na parte de baixo da área de desenho aparece Oscillation apparent em vermelho, e há círculos vermelhos na saída do inversor e no fio de realimentação — que são o mesmo nó, percorrido pelo laço. Depois de mil recálculos sem assentar, o simulador desistiu.
Compare com a álgebra: Q = Q não tem solução, e a tela está dizendo exatamente isso. E repare que nenhuma entrada foi tocada, porque não existe nenhuma: é a realimentação, sozinha, produzindo comportamento.
Para explorar: abra Project → Options… → Simulation e reduza Iterations until oscillation de 1000 para 20. Dê Ctrl+R: a mensagem aparece igual, só que muito mais rápido. Isso mostra o que o número significa — é a paciência do simulador, não uma propriedade do circuito. Volte o valor para 1000 depois.
Se não aparecer: confirme que o Auto-Propagate está ligado (Ctrl+E; quando desligado há uma mensagem azul no canto superior esquerdo).
Atividade 3 — Um laço com duas inversões guarda um bit
Objetivo: ver a biestabilidade — e ver, com a mesma clareza, que ela sozinha não basta.
Abra 02-realimentacao-biestavel.circ. É a Figura 1(b): dois inversores em anel, com um Pull Resistor em cada um dos dois nós — um em repouso 0, o outro em repouso 1. Também aqui não há nenhum pino de entrada.
- Observe o estado inicial e anote
QenQ. - Dê
Ctrl+Ralgumas vezes e confirme que o resultado é sempre o mesmo. - Procure um jeito de mudar o valor guardado usando apenas a ferramenta dedo. Gaste um minuto nisso de verdade.
- Agora selecione, com a seta, o Pull Resistor que está em
0e mude o atributo pull para1; faça o inverso no outro resistor. DêCtrl+R.
O que deve aparecer:
- Passos 1 e 2: o circuito assenta imediatamente em
Q = 0,nQ = 1e fica lá, sempre igual. Em nenhum momento aparece a mensagem de oscilação: com duas inversões, a configuração se sustenta. E as duas saídas são complementares, como devem ser. - Passo 3: não existe jeito. Não há pino de entrada, e clicar nas portas ou nos fios não muda nada. Todos os terminais dos dois inversores já estão ocupados pelo próprio laço.
- Passo 4: o anel acorda no outro estado —
Q = 1,nQ = 0— e fica igualmente estável. Os dois estados são igualmente válidos; quem escolheu foi algo de fora do laço.
O passo 3 é a atividade inteira. O anel guarda o bit com perfeição, mas quem decide qual bit são os resistores — e trocá-los exige editar o circuito, o que é reprojeto, não escrita. Um dispositivo de memória precisa de uma entrada por onde receber o dado durante a operação, e é exatamente isso que a próxima aula acrescenta: duas portas de duas entradas no lugar dos dois inversores.
Se as saídas aparecerem em vermelho: algum Pull Resistor foi removido ou saiu de cima do fio. Sem ele, o inversor recebe um valor desconhecido e responde com erro — veja o quadro "O empate inicial" na Seção 3.
Referências
Principais (essenciais)
-
CAPUANO, Francisco Gabriel. Sistemas digitais: circuitos combinacionais e sequenciais. São Paulo: Érica, 2014. (Série Eixos). Número de chamada: Ac.5012157
- Capítulo 4 — Circuitos Sequenciais, seção 4.1 (introdução a circuitos sequenciais e realimentação)
-
SILVA, Gabriel Pereira da. Arquitetura e organização de computadores: uma introdução. Rio de Janeiro: LTC, 2024. Recurso online — Acervo Virtual. Número de chamada: Ac.5063593
- Elementos de armazenamento e o subsistema de memória
Continuação
- Aula 4 — Flip-flops — transforma o biestável desta aula nos flip-flops RS, JK, T e D, com clock, entradas assíncronas e oito atividades no Logisim-Evolution.
Pré-requisito
- Revisão: Fundamentos de Circuitos Digitais — portas lógicas, álgebra booleana e teoremas de De Morgan, usados na análise dos laços desta aula.