Partilhar: WhatsApp
aulify
UC UC00651 · T. Sist. Comp. Redes

Ficha 02 · Combinacional e sequencial

Somadores, MUX, flip-flops, contadores, FSM
Versão · Aluno
Tempo · 60 minutos
Cotação · 100 pontos
Aluno(a)
Turma
Data
Objectivos da ficha

Parte I · Combinacional

Exercício 1 · Half adder (15 pts)

a) Escreve a tabela de verdade do half adder (entradas A, B; saídas S e Cout). (8 pts)

b) Indica as equações de S e Cout. (7 pts)

a)

A B S Cout
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1

b) S = A ⊕ B ; Cout = A · B.

Exercício 2 · Full adder (10 pts)

a) O que o full adder tem a mais que o half adder? (4 pts)

b) Para que serve encadear vários full adders? (6 pts)

a) Tem uma terceira entrada, o carry de entrada (Cin) — soma A + B + Cin, dando S e Cout.

b) Encadeando n full adders (o Cout de um liga ao Cin do seguinte) constrói-se um somador de n bits — o bloco central da ALU de um processador.

Exercício 3 · MUX (15 pts)

a) O que faz um multiplexer (MUX)? (5 pts)

b) Quantas linhas de seleção tem um MUX de 8 entradas? Porquê? (5 pts)

c) Dá um exemplo de uso de um MUX. (5 pts)

a) Seleciona uma de várias entradas de dados e encaminha-a para a saída, conforme o valor das linhas de seleção.

b) 3 linhas de seleção — 2³ = 8 combinações para escolher entre 8 entradas (n linhas → 2ⁿ entradas).

c) Selecionar a fonte de dados num barramento; routear sinais; implementar funções lógicas; num CPU, escolher qual registo/operando entra na ALU.

Parte II · Sequencial

Exercício 4 · Combinacional vs sequencial (10 pts)

Explica a diferença essencial entre um circuito combinacional e um sequencial, com um exemplo de cada.

Exercício 5 · Flip-flop D (15 pts)

a) O que faz um flip-flop D na borda do clock? (5 pts)

b) Diferença entre latch (sensível ao nível) e flip-flop (sensível à borda)? (5 pts)

c) Para que se usam vários flip-flops D juntos? (5 pts)

a) Na borda (transição) do clock, copia o valor da entrada D para a saída Q e mantém-no até à próxima borda — memória de 1 bit.

b) O latch reage enquanto o sinal de controlo está num nível (transparente nesse período). O flip-flop só atua no instante da transição (borda) do clock — comportamento previsível e síncrono, evita propagação descontrolada.

c) Um conjunto de flip-flops D forma um registo que guarda uma palavra de n bits (ex.: registos do CPU, buffers).

Exercício 6 · Contador (15 pts)

Um contador binário de 3 bits conta a cada pulso de clock.

a) Quantos estados distintos tem e qual a sequência? (8 pts)

b) Dá duas aplicações de contadores. (7 pts)

a) 3 bits → 2³ = 8 estados: 000, 001, 010, 011, 100, 101, 110, 111 e volta a 000 (módulo 8).

b) Aplicações: divisor de frequência (o bit mais significativo muda a 1/8 da frequência do clock), temporizador, contagem de eventos/pulsos, geração de endereços de memória, relógio digital (contadores em cascata).

Parte III · FSM

Exercício 7 · Máquina de estados (20 pts)

Projeta (descrição + diagrama de estados) uma FSM simples: um semáforo com 3 estados (Verde → Amarelo → Vermelho → Verde), que avança a cada pulso de um temporizador.

a) Lista os estados e as transições. (8 pts)

b) Esboça o diagrama de estados. (6 pts)

c) Como se implementa em hardware (que blocos)? (6 pts)

a) Estados e transições (entrada = pulso do temporizador T):

Estado atual Próximo estado
Verde Amarelo
Amarelo Vermelho
Vermelho Verde

Saída = a luz acesa (Moore: a saída depende só do estado).

b) Diagrama de estados:

   ┌──────────────────────────┐
                             
[Verde] ──T──► [Amarelo] ──T──► [Vermelho] ──T──┘

(3 estados em ciclo; cada transição ocorre num pulso T.)

c) Implementação: - 3 estados → 2 flip-flops (2 bits codificam até 4 estados; usar 3, tratar o 4.º como não usado → forçar para um estado seguro). - Lógica combinacional calcula o próximo estado a partir do estado atual. - O clock/temporizador sincroniza as transições. - Descodificador converte o estado nas saídas (acender Verde/Amarelo/Vermelho).

(Pode ser feito em Logisim ou descrito em VHDL/Verilog para FPGA.)