Aula 05 - Circuitos Sequenciais, Contadores, Registradores e Máquinas de Estados (FSM)
Navegação Rápida & Integração Curricular
📍 Disciplina: 02 Eletrônica Digital | 🏭 Área: 05 Eletrônica, Automação e Controle | 🏠 Hub Principal 📄 Apostila Base: Máquinas de Estados Finitos (Pedroni, V. A. — Circuit Design with VHDL) ⬅️ Aula Anterior: 04 - Latches, Flip-Flops e Temporização | ➡️ Próxima Aula: 06 - Memórias e Lógica Programável (PLDs e FPGAs)
1. Introdução à Lógica Sequencial Complexa
Os circuitos lógicos sequenciais complexos utilizam os elementos biestáveis estudados na aula anterior (Flip-Flops) associados a malhas combinacionais de realimentação para executar processamento temporal determinístico. Eles subdividem-se em três grandes pilares estruturais da arquitetura de computadores:
- Registradores de Deslocamento (Shift Registers): Manipulação, armazenamento temporário e conversão de formato de palavras binárias (serial/paralelo);
- Contadores Digitais: Geração de sequências numéricas periódicas, divisão de frequência de osciladores e controle temporal de ciclos de barramento;
- Máquinas de Estados Finitos (FSM - Finite State Machines): O cérebro controlador que dita a lógica de sequenciamento de unidades de controle (CPUs), protocolos de comunicação e automações industriais.
📌 Sumário da Aula
- 2. Registradores de Deslocamento (*Shift Registers*)
- 3. Contadores Digitais
- 4. Multivibradores e Circuitos Temporizadores
- 5. Máquinas de Estados Finitos (FSM)
- 6. Questões Resolvidas das Materiais Teóricos de Referência
2. Registradores de Deslocamento (Shift Registers)
Um registrador de deslocamento é uma cadeia síncrona de Flip-Flops configurados de modo que o dado binário é transferido de um estágio para o seguinte a cada borda ativa do sinal de clock compartilhado.
2.1 As Quatro Topologias Fundamentais de Transferência
| Topologia | Entrada | Saída | Latência Temporal | Aplicação Típica |
|---|---|---|---|---|
| SISO (Serial-In / Serial-Out) | Serial (1 bit/clk) | Serial (1 bit/clk) | pulsos de clock | Linhas de retardo digital, buffers FIFO |
| SIPO (Serial-In / Parallel-Out) | Serial (1 bit/clk) | Paralela ( bits) | pulsos de clock | Receptores seriais (UART, SPI, USB) |
| PISO (Parallel-In / Serial-Out) | Paralela ( bits) | Serial (1 bit/clk) | carga shifts | Transmissores seriais, multiplexação de sensores |
| PIPO (Parallel-In / Parallel-Out) | Paralela ( bits) | Paralela ( bits) | único pulso de clock | Registradores de uso geral de CPUs, buffers de dados |
2.2 Registrador Universal Bidirecional de 4 Bits (CI 74194)
O registrador universal sintetiza todas as operações possíveis em um único chip através de multiplexadores 4:1 acoplados às entradas de cada flip-flop, comandados pelas linhas de seleção de modo e :
| Modo de Operação | Função e Impacto Algorítmico | ||
|---|---|---|---|
| 0 | 0 | Retenção (Inibição / Hold) | Mantém o dado inalterado () |
| 0 | 1 | Deslocamento à Direita (Shift Right) | Equivale à Divisão Inteira por 2 () |
| 1 | 0 | Deslocamento à Esquerda (Shift Left) | Equivale à Multiplicação Aritmética por 2 () |
| 1 | 1 | Carga Paralela Síncrona (Parallel Load) | Carrega simultaneamente os dados |
2.3 Contadores em Anel (Ring) e Contador Johnson
A. Contador em Anel (Ring Counter)
Realimenta a saída serial do último estágio diretamente na entrada serial do primeiro estágio: .
- Utiliza a codificação One-Hot: exatamente um único bit ‘1’ circula pelos estágios ();
- Número de estados válidos: (para flip-flops);
- Vantagem: Dispensa qualquer lógica de decodificação adicional; cada saída de flip-flop fornece um pulso temporal sequencial limpo.
B. Contador Johnson (Twisted Ring Counter)
Realimenta a saída invertida do último estágio na entrada do primeiro: .
- Número de estados válidos: (o dobro da contagem do Ring Counter com a mesma quantidade de silício!);
- Sequência de estados para 4 bits ( estados):
- Propriedade Exclusiva: Apenas 1 bit comuta a cada transição (código unitário adjacente), tornando sua decodificação completamente imune a riscos estáticos (hazards) e glitches com portas AND de apenas duas entradas!
3. Contadores Digitais
Um contador digital é um circuito sequencial que percorre um ciclo prefixado de estados sob estímulo de pulsos de clock. O valor é denominado Módulo do Contador (Modulus). Para contar até estados, o número mínimo de flip-flops necessários satisfaz:
3.1 Contadores Assíncronos (Ripple Counters)
Nos contadores assíncronos, o sinal de clock externo é conectado apenas no primeiro flip-flop (LSB); a saída de cada flip-flop é utilizada como sinal de clock para disparar o estágio seguinte.
- Vantagem: Topologia esquemática extremamente simples, sem necessidade de portas lógicas intermediárias;
- Desvantagem Crítica (Gargalo de Ripple): Como cada flip-flop introduz um atraso de propagação , o atraso propaga-se em cascata por toda a cadeia: Durante essa transição transitória, surgem combinações falsas passageiras na saída que podem acionar circuitos externos de forma errônea (glitches). A frequência máxima de operação é severamente limitada:
3.2 Contadores Síncronos Paralelos
Nos contadores síncronos, todos os flip-flops compartilham exatamente a mesma linha de clock:
- Todos os estágios disparam em sincronismo absoluto no mesmo instante;
- A decisão sobre qual flip-flop deve comutar (toggle) é realizada por uma malha combinacional paralela de portas AND conectada às entradas e (ou ):
- Estágio 0: (Comuta a todo pulso);
- Estágio 1: (Comuta quando );
- Estágio 2: ;
- Estágio 3: .
- Desempenho: A frequência máxima independe do número de estágios , dependendo apenas do atraso de um único flip-flop somado à porta lógica:
3.3 Contadores Truncados de Módulo Arbitrário
Quando o módulo desejado não é uma potência exata de 2 (por exemplo, um contador de década BCD com ):
- Empregam-se flip-flops tais que (para flip-flops, cuja contagem natural iria até 16);
- Utiliza-se uma porta lógica (geralmente NAND) para decodificar o estado transitório em binário;
- A saída dessa porta é conectada aos pinos de Reset Assíncrono () de todos os flip-flops;
- Ao atingir o estado , os flip-flops sofrem reset instantâneo em escala de nanosegundos, retornando imediatamente ao estado .
- Exemplo CI 7490 (Contador BCD Módulo 10): O estado em binário é (). A condição de reinício é: Os estados válidos estáveis são de 0 a 9 ( estados estáveis)!
4. Multivibradores e Circuitos Temporizadores
Os multivibradores classificam-se quanto à estabilidade de seus estados:
| Tipo de Multivibrador | Estados Estáveis | Funcionamento Típico | Dispositivos e CIs |
|---|---|---|---|
| Astável | 0 estáveis (oscilador) | Comuta continuamente entre níveis alto e baixo | Oscilador de Clock, CI 555 |
| Monoestável (One-Shot) | 1 estável, 1 metaestável | Ao ser disparado, gera um pulso de largura calibrada | CI 74121 (Não-redisparável), CI 74123 (Redisparável) |
| Biestável | 2 estáveis | Mantém seu estado indefinidamente até novo pulso | Latches, Flip-Flops, interruptores eletrônicos |
Distinção Crucial entre Monoestáveis:
- Monoestável Não-Redisparável: Se novos pulsos de trigger chegarem enquanto o circuito estiver comutado no estado temporário, esses pulsos são ignorados;
- Monoestável Redisparável: Cada novo pulso de trigger recebido durante a contagem reinicia o temporizador a partir do zero. É a base de circuitos de Watchdog Timer e detectores de presença por sensor PIR.
5. Máquinas de Estados Finitos (FSM)
Uma Máquina de Estados Finitos é um modelo matemático de um sistema sequencial composto por:
- Um conjunto finito de estados discretos;
- Entradas que induzem transições;
- Saídas geradas em resposta aos estados e estímulos;
- Um registrador de estado (Flip-Flops) e blocos lógicos combinacionais.
5.1 Modelos Canônicos: Moore vs Mealy
A. Máquina de Moore
As saídas são função exclusiva do estado presente armazenado no registrador:
- Vantagem: As saídas são perfeitamente síncronas com o clock e livres de ruídos ou glitches transitórios originados nas entradas externas;
- Característica: Exige, em geral, maior número de estados para resolver o mesmo problema.
B. Máquina de Mealy
As saídas são função do estado presente E das entradas externas presentes :
- Vantagem: Requer frequentemente menos estados que a máquina de Moore equivalente e responde a estímulos no mesmo ciclo de clock;
- Desvantagem Crítica: Qualquer ruído de alta frequência ou variação assíncrona nas linhas de entrada propaga-se diretamente para as saídas no mesmo ciclo de clock, podendo gerar glitches espúrios.
5.2 Fluxo Sistemático de Síntese Digital em 5 Passos
- Diagrama de Transição de Estados (ASM): Mapeamento gráfico formal dos nós (estados) e arestas direcionadas (transições condicionadas pelas entradas);
- Tabela de Transição e Saída: Listagem tabular contendo Estado Atual (), Entradas (), Próximo Estado () e Saídas ();
- Atribuição e Codificação de Estados:
- Codificação Binária Clássica: flip-flops;
- Codificação Gray: Minimização de transições de bits simultâneas;
- Codificação One-Hot: flip-flop por estado (ideal para FPGAs, simplifica as equações para custo quase nulo de portas);
- Minimização das Equações de Excitação: Aplicação de Mapas de Karnaugh para determinar as equações lógicas das entradas dos Flip-Flops ();
- Verificação de Auto-Recuperação (Self-Starting): Análise dos estados proibidos não-utilizados. O circuito deve obrigatoriamente convergir para o laço operacional válido em caso de corrupção por ruído, impedindo travamento (deadlock).
5.3 Síntese de Máquinas de Estados Finitos (FSM) em Hardware e VHDL
Na engenharia contemporânea de sistemas digitais com PLDs e FPGAs, o projeto de máquinas de estados finitos raramente é feito por minimização manual em Mapas de Karnaugh quando . Em vez disso, utiliza-se a descrição comportamental em VHDL (IEEE 1076), na qual o sintetizador lógico infere automaticamente o banco de registradores de estado e a rede combinacional de excitação/saída.
flowchart LR subgraph COMB1["Bloco Combinacional de Transição"] NEXT["Lógica de Próximo Estado\n(PROCESS combinacional:\npr_state, entradas -> nx_state)"] end subgraph SEQ["Bloco Sequencial (Registrador de Estado)"] REG["Flip-Flops Tipo D\n(PROCESS síncrono:\nclk, rst -> pr_state <= nx_state)"] end subgraph COMB2["Bloco Combinacional de Saída"] OUT_LOGIC["Lógica de Saída\nMoore: f(pr_state)\nMealy: f(pr_state, entradas)"] end IN["Entradas Externas (X)"] --> NEXT NEXT -- "nx_state" --> REG CLK["Clock / Reset"] --> REG REG -- "pr_state" --> NEXT REG -- "pr_state" --> OUT_LOGIC IN -. "Apenas em Mealy" .-> OUT_LOGIC OUT_LOGIC --> Y["Saídas (Y)"]
🕹️ Simulador Dinâmico Interativo: Máquina de Estados Finitos (FSM Moore vs. Mealy) & Codificação em FPGA (VHDL)
Simule passo a passo ou com clock automático uma Máquina de Estados de 4 estados (), comparando em tempo real no diagrama de estados e no analisador lógico temporal o atraso de 1 ciclo de clock da saída síncrona de Moore frente à resposta assíncrona imediata de Mealy, além de alternar entre as codificações Binária Sequencial (2 FFs), Código Gray (2 FFs sem glitches) e One-Hot FPGA (4 FFs) com geração automática do código VHDL em 2 processos: 👉 ▶️ Clique para Abrir o Simulador em Tela Cheia no Navegador (Arquivo no cofre:
[[simulador_mapa_karnaugh_sintese_vhdl_fsm.html]])
A. Tipos Enumerados para Estados e Atributos de Codificação (State Encoding)
Em VHDL, o conjunto discreto de estados é declarado no cabeçalho da ARCHITECTURE através de um tipo enumerado definido pelo usuário (TYPE), acompanhado de dois sinais internos (pr_state para estado presente e nx_state para estado futuro):
TYPE state_type IS (state_A, state_B, state_C, state_D);
SIGNAL pr_state, nx_state : state_type;Para controlar fisicamente como o sintetizador mapeia esses símbolos abstratos em vetores binários nos Flip-Flops, utilizam-se esquemas de codificação (State Encoding) ou atributos de síntese (ATTRIBUTE enum_encoding):
| Esquema de Codificação | Nº de Flip-Flops () para Estados | Exemplo para Estados () | Impacto em Área de Flip-Flops vs. Lógica Combinacional | Plataforma Alvo Ideal |
|---|---|---|---|---|
| Binária Sequencial (Sequential / Binary) | Mínimo uso de Flip-Flops, porém exige lógica combinacional de decodificação de estado e próximo estado mais densa (múltiplos níveis de LUTs). | CPLDs e ASICs limitados por área de registradores. | ||
| Código Gray (Gray Encoding) | Apenas 1 bit comuta entre estados adjacentes sequenciais. Reduz drasticamente o consumo de potência dinâmica () e elimina glitches na decodificação de saídas. | Contadores assíncronos de baixa potência, ponteiros de FIFOs de cruzamento de domínio de clock (CDC). | ||
| Código Johnson (Twisted Ring) | Adjacência unitária sem hazards; decodificação de qualquer estado requer apenas uma porta AND de 2 entradas. | Geradores de fases de clock polifásicos e controle de alta velocidade. | ||
| One-Hot (1-entre-M) | Máximo uso de Flip-Flops ( FF por estado), mas mínima lógica combinacional (apenas 1 bit precisa ser testado para identificar o estado atual). Alcança a maior frequência máxima de clock (). | FPGAs (ricas em Flip-Flops dentro de cada CLB/Slice e limitadas por atraso de cascateamento de LUTs). |
Para forçar manualmente uma codificação específica no sintetizador VHDL:
TYPE state_type IS (A, B, C, D);
ATTRIBUTE enum_encoding : STRING;
ATTRIBUTE enum_encoding OF state_type : TYPE IS "1000 0100 0010 0001"; -- Força codificação One-HotB. A Estrutura Canônica em 2 Processos (Two-Process FSM Design Pattern)
A metodologia padrão recomendada na literatura de síntese (Pedroni) divide a descrição VHDL da máquina de estados exatamente nas duas partes físicas que compõem o hardware:
- Seção Sequencial (Inferência do Registrador de Estado):
- Implementada por um
PROCESSsensível exclusivamente aoclke ao sinal derst(reset); - Aplica o estado inicial padrão quando
rst = '1'e transferepr_state <= nx_statena borda ativa do relógio (rising_edge(clk)).
- Implementada por um
- Seção Combinacional (Lógica de Próximo Estado e Lógica de Saída):
- Implementada por um segundo
PROCESSsensível ao estado atual (pr_state) e a todas as entradas externas que determinam transições ou saídas; - Utiliza uma estrutura
CASE pr_state ISpara descrever todas as transições (nx_state <= ...) e as atribuições de saída (s <= ...), prevenindo a inferência acidental de latches.
- Implementada por um segundo
Taxonomia de Transições Temporais em FSMs
Conforme sistematizado por Pedroni, a transição de um estado para outro em VHDL pode depender de três categorias de eventos:
- Apenas Condição Lógica: Transição governada puramente por entradas assíncronas/síncronas avaliadas a cada ciclo de clock (ex.: detector de sequência de bits);
- Apenas Tempo: Transição incondicional após um número fixo de ciclos de clock contados por um temporizador auxiliar (ex.: semáforo de trânsito com tempos fixos);
- Condição Lógica E Tempo: A máquina aguarda uma entrada lógica ou estoura por timeout após ciclos de clock (ex.: controladores de protocolos industriais e watchdogs).
C. Exemplo Completo Comentado: Projeto VHDL em 2 Processos (Moore vs. Mealy)
Considere a máquina de estados de 4 estados () do diagrama de transição clássico com entrada binária e saída :
- Estado A: Saída . Se ; se .
- Estado B: Saída . Se ; se .
- Estado C: Saída . Se ; se .
- Estado D: Saída (detector da sequência
"10"). Se ; se .
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
ENTITY fsm_detector_moore IS
PORT (
clk : IN STD_LOGIC;
rst : IN STD_LOGIC;
x : IN STD_LOGIC;
s : OUT STD_LOGIC
);
END ENTITY fsm_detector_moore;
ARCHITECTURE comportamental OF fsm_detector_moore IS
-- 1. Declaração do tipo enumerado para os estados e sinais de estado
TYPE state_type IS (A, B, C, D);
SIGNAL pr_state, nx_state : state_type;
BEGIN
-- =========================================================================
-- PROCESSO 1: SEÇÃO INFERIDORA DE MEMÓRIA SEQUENCIAL (Registrador de Estado)
-- =========================================================================
processo_sequencial : PROCESS (rst, clk)
BEGIN
IF (rst = '1') THEN
pr_state <= A; -- Estado padrão de inicialização assíncrona
ELSIF rising_edge(clk) THEN
pr_state <= nx_state; -- Atualização síncrona na borda de subida
END IF;
END PROCESS processo_sequencial;
-- =========================================================================
-- PROCESSO 2: SEÇÃO COMBINACIONAL (Lógica de Próximo Estado e Saída Moore)
-- =========================================================================
processo_combinacional : PROCESS (pr_state, x)
BEGIN
CASE pr_state IS
WHEN A =>
s <= '0'; -- Em Moore, a saída depende APENAS de pr_state
IF (x = '1') THEN
nx_state <= B;
ELSE
nx_state <= A;
END IF;
WHEN B =>
s <= '0';
IF (x = '0') THEN
nx_state <= D;
ELSE
nx_state <= C;
END IF;
WHEN C =>
s <= '0';
IF (x = '0') THEN
nx_state <= D;
ELSE
nx_state <= C;
END IF;
WHEN D =>
s <= '1'; -- Pulso de detecção validado estritamente pelo estado D
IF (x = '1') THEN
nx_state <= B;
ELSE
nx_state <= A;
END IF;
END CASE;
END PROCESS processo_combinacional;
END ARCHITECTURE comportamental;Adaptação Direta para Máquina de Mealy e Depuração em Simulação
- Conversão para Modelo de Mealy: Se a saída depender também da entrada dentro de um estado (por exemplo, no estado , imediatamente quando ), basta mover a atribuição
s <= '1'para dentro do bloco condicionalIF (x = '0') THENno processo combinacional!- Inspeção de Estados Internos no Simulador (ModelSim / Quartus / Vivado): Como
pr_stateenx_statesão sinais internos (SIGNAL) e não portas daENTITY, para visualizá-los no diagrama de formas de onda durante a simulação com Testbench, deve-se expandir a hierarquiatestbench -> uut(Unit Under Test), selecionar os sinaispr_stateenx_state, adicioná-los à janela Waveform (Add to Waveform) e reexecutar a simulação (RestartRun).
6. Questões Resolvidas das Materiais Teóricos de Referência
Questão 1 (Apostila 04 - Módulo 1)
Enunciado: Um contador binário síncrono crescente de 4 bits com saídas possui entrada de Clear assíncrono ativada em nível baixo (). Sabendo que o pino de Clear é alimentado pela saída de uma porta lógica que calcula , qual é o módulo deste contador?
A) 10
B) 11
C) 9
D) 4
E) 15Resolução Passo a Passo:
- O contador inicia a contagem no estado zero () e avança monotonicamente a cada pulso de clock:
- Analisa-se a condição de disparo do Clear:
- Em termos de contagem binária de 4 bits ():
- Para as contagens de 0 a 9 ( a ), a condição nunca ocorre;
- O primeiro número a satisfazer essa condição é o número 10 ().
- Efeito do Clear Assíncrono:
- Ao atingir o estado 10, o Clear é ativado imediatamente (em escala de poucos nanossegundos);
- Como o Clear é assíncrono, o estado 10 não é estável e não permanece para o próximo pulso de clock; os flip-flops são resetados diretamente para ;
- Portanto, os estados estáveis do circuito são: .
- Total de estados estáveis: estados O contador é de Módulo 10 (Contador BCD / Década).
Resposta Correta: A (Módulo 10)
Questão 2 (Apostila 04 - Módulo 1)
Enunciado: Quais tipos de multivibradores podem compor os seguintes equipamentos:
- Uma campainha musical que, ao ter seu botão pressionado momentaneamente, toca um trecho de música por um tempo predeterminado e desliga automaticamente.
- Um sistema que liga a iluminação automaticamente ao detectar movimento e, se novo movimento for detectado durante o intervalo, mantém a contagem reiniciada.
- Um interruptor digital de lâmpada que comuta de desligado para ligado a cada clique, mantendo o estado indefinidamente.
A) I – Biestável; II – Monoestável não-redisparável; III – Astável
B) I – Biestável; II – Astável; III – Biestável
C) I – Monoestável; II – Monoestável redisparável; III – Biestável
D) I – Astável; II – Biestável; III – Monoestável
E) I – Monoestável; II – Monoestável não-redisparável; III – BiestávelResolução Passo a Passo:
- Equipamento 1 (Campainha Musical):
- Possui um estado estável de repouso (desligada);
- O pulso do botão leva o sistema temporariamente para um estado quase-estável (tocando) por um intervalo calibrado, retornando sozinho ao repouso;
- Esta é a definição exata de um Multivibrador Monoestável.
- Equipamento 2 (Iluminação por Sensor de Movimento):
- Opera como monoestável, mas com a capacidade vital de reiniciar a temporização sempre que novo movimento for detectado antes do fim do tempo;
- Esta característica define estritamente um Multivibrador Monoestável Redisparável (Retriggerable Monostable).
- Equipamento 3 (Interruptor Digital):
- Possui dois estados perfeitamente estáveis (aceso e apagado), alternando entre eles a cada comando externo e retendo o estado sem limite de tempo;
- Trata-se de um Multivibrador Biestável (Flip-Flop).
Resposta Correta: C
Questão 1 (Apostila 04 - Módulo 2 / Petrobras 2014)
Enunciado: (Prova Petrobras 2014 — Engenheiro de Equipamentos Júnior). Uma máquina de estados síncrona implementada por 4 Flip-Flops do tipo D () percorre a seguinte sequência de estados codificados em binário: A lógica combinacional mínima em soma de produtos (SOP) que implementa a entrada de excitação do Flip-Flop mais significativo () é:
A)
B)
C)
D)Resolução Passo a Passo:
- Como os elementos de memória são Flip-Flops tipo D, a regra de excitação é direta:
- Monta-se a tabela de transição da sequência:
Estado Atual () Decimal Próximo Estado () Decimal Próx. 0 1 0 1 3 0 3 7 0 7 15 1 15 14 1 14 12 1 12 8 1 8 0 0
- Identificação dos mintermos onde :
- Para estados da sequência: têm ;
- Estados têm ;
- Os demais 8 estados não pertencentes à sequência () são condições Don’t Care ()!
- Montando o mapa de Karnaugh para :
- Células 7 e 15 com , agrupadas com Don’t Cares formam o termo essencial:
- Células 12, 14, 15 com , agrupadas no laço de borda com :
- Expressão mínima canônica final:
Resposta Correta: B
Questão 2 (Apostila 04 - Módulo 2)
Enunciado: Assinale a alternativa que completa corretamente as lacunas: “Na máquina de estados síncrona, os estados só podem mudar nos momentos definidos pelo bordo designado do relógio. Contudo, no Modelo _________ a saída depende ___________________, podendo variar de forma assíncrona.”
A) Assíncrono, do estado futuro.
B) Mealy, apenas das entradas.
C) Moore, apenas do estado presente.
D) Mealy, do estado presente e das entradas.
E) Moore, do estado presente e das entradas.Resolução Passo a Passo:
- No modelo canônico de Moore, as saídas dependem estritamente do estado presente (). Como o registrador de estado só atualiza na borda do clock, as saídas são estritamente síncronas.
- No modelo canônico de Mealy, a equação de saída é , dependendo conjuntamente do estado presente e das entradas.
- Como as entradas externas podem variar a qualquer instante no meio do ciclo de clock, essa variação propaga-se de maneira puramente combinacional e assíncrona para as saídas, fazendo com que a saída de Mealy varie assincronamente.
Resposta Correta: D (Mealy, do estado presente e das entradas)