You are on page 1of 5

2

Circuitos Seqüenciais Sistemas Digitais
Muitos sistemas digitais são pulsados ou clocked. Isto é, eles operam em sincronismo com um trem de pulsos de período T chamado relógio (clock).
T Qn Qn+1

Aula 10 GRECO-CIN-UFPE

A cada transição de clock dizemos que a máquina passa para um próximo estado. Se considerarmos um certo Qn a saída em um dado ponto do sistema no intervalo precedendo o nth pulso de clock, então Qn+1 é a saída correspondente no intervalo imediatamente depois no nth pulso. Tal sistema onde os valores Q1, Q2, Q3, ... Qn são obtidos em seqüência no tempo em intervalos T é chamado um sistema lógico seqüencial.
1

3

4

Registradores
São dispositivos que armazenam vetores de diferentes dimensões. Estas informações são armazenadas no registrador mediante um sinal de carga externo de carga (τ ), e podem ser usadas por outras partes do circuito. Os elementos ou células básicas que compõem os registradores são Latches ou Flip-Flops. Os registradores podem armazenar dados e também deslocá-los para a direita ou para a esquerda.
Registradores que permitem deslocamento de seus dados são denominados Registradores de Deslocamento (Shift-Register). – Desloca para a direita – Desloca para a esquerda

Registradores - (transferência paralela)
τ -Quando o pulso é aplicado a entrada Clk (clock) a entrada é carregada no registrador. -O sinal de entrada D0-D3 deve permanecer inalterado durante a transação.

E N T R A D A Pulso τ

Componente comercial

171
12 CLK 13 CLR 11 5 4 14 D3 D2 D1 D0 Q3 Q3 Q2 Q2 Q1 Q1 Q0 Q0 9 10 7 6 2 3 1 15

TTL 74171

5

6

Transferência de informação
Transferência em paralelo a1 a2 a3 a4 b1 b2 b3 b4

Transferência de informação
Transferência serial
‘0’

A linha serial

X x1 x2 x3

a1

a2

a3

τ (pulso de transferência)
tempo do A e X após da transferência evento transferência A X A<- [1,0,1] X<- [0,0,0] [1,0,1] [0,0,0] τ0 : A<-SR([1,0,1]) X<-SR([1],[0,0,0]) [0,1,0] [1,0,0] τ1 : A<-SR([0,1,0]) X<-SR([0],[1,0,0]) [0,0,1] [0,1,0] τ2 : A<-SR([0,0,1]) X<-SR([1],[0,1,0]) [0,0,0] [1,0,1] τ3 : Após a transferência ao valores nos registradores A e X são:

τ
Transferência serial a1 a2 a3 a4 b1 b2 b3 b4

τ (pulso de transferência)

A := [0,0,0] X := [1,0,1]

(X (T=[0]) V A (T=[1]) V B (T=[2]) V C (T=[3])) Carga da informação Obs: Flip-Flop carrega valor na subida do clock T τ Obs: Nesse caso se T=[0] o conteúdo de X permanece inalterado 11 Registrador de deslocamento . O bit Mais significativo (MSB-bit mais a esquerda) realimenta o bit menos significativo (LSB .A [1] A <. O bit menos significativo (LSB-bit mais a direita) realimenta o bit mais significativo (MSB . Registrador de Deslocamento O circuito pode realizar diferentes dependendo do sinal de controle. funções τ : A <.B (load) x 0 b2 1 0 2 3MUX 4 T D Q cQ 0 b1 1 0 2 3 MUX 4 T D Q cQ τ 1 0 2 MUX 3 x 0 4 b0 T V V V V X 10 2 MUX 3 X V V V A B C 12 A0 D Q cQ . O clock é livre e atua direto no circuito do Flip-flop.A.[0] [4] A <.bit mais a direita) do registrador ou um novo bit é adicionado ao deslocamento.x) [3] A <.A expressão a esquerda será nula.(A (T=[1]) V B (T=[2]) V C (T=[3])) T τ O que acontece com T = [0] ? ou qualquer outro valor não especificado na equação? .SL(A.0 D Enable Clock D FF D Q Clock Enable A B C Q Q τ : X <.) v (T=[2]) ∧ SL(A. (opção recomendada) Entradas Multiplexadas MUX X τ : X <.bit mais a esquerda) do registrador ou um novo bit é adicionado ao deslocamento. Exemplo: Registrador de deslocamento (direita/esquerda) Para a direita Desloca uma posição em todos os elementos do registrador da esquerda para a direita. Para a esquerda Desloca uma posição em todos os elementos do registrador da direita para a esquerda.SR(x. logo: X <. o que interessa é a transiçaõ do clock Obs: Flip-Flop carrega valor na subida do clock Carga da informação 9 10 Projetos de circuitos síncronos Controle de enable direto no mux interno do registrador.A) A2 A1 [2] A <.Shift Register Registradores de deslocamento são dispositivos adequados para conversão Serial-Paralela-Serial normalmente utilizados em sistemas de comunicação em terminais de computadores.(T=[0])∧ A v (T=[1] ∧ SR(x.x) T Operação [0] A <.Exemplo circuito sequencial – utilizando Flip-flop tipo D 7 8 a 1 0 00 1 1 0 1 D C Q Q D C Q Q b 01 0 D C Q Q c 0 1 0 Projetos de circuitos síncronos Clock controlado por gates para controle de dados em registradores (não recomendado) Mudança de estado D=1 D=0 a= 0 b= 1 c= 0 D=1 a= 1 b= 0 c= 1 Enable Clock Clock enable D D FF D Q Clock Enable Clock enable Q Flip-Flop a=0 a= 1 b=0 b=0 c=0 c=0 Q X X Glitch ∆t´ independe do tempo do clock alto.

então o arco entre os dois estados é representado por: a /F(a . 0/0 1/0 0 0 1o um (‘1’) nenhum 1 0 Q0 0/0 0/0 Q1 Q2 1 2o um(‘‘1’) 1/1 1/0 . QC. – A indicação da direção do arco indica o próximo estado Diagrama de estado .Qj ) Qk vértices entrada controle (saída) * Máquina Mealy .Carga síncrona S1 = 1.Mealy Se um arco direcionado conecta Qj a Qk quando a entrada da máquina for ak . Cada diagrama de estados consiste de um conjunto identificado por vértices que correspondem aos estados do circuito e por arcos que indicam a transição entre estados. Paralela Direção de deslocamento:Esquerda vs. Paralela Saída Serial vs. S0 = 1: Carrega na subida do relógio .LSI substitui o elemento D S1 = 0. A Saídas Paralelas: QD. QB.aplicação Exemplo: Projete um circuito que gere saída ‘1’ quando for observado 3 uns ‘1’s consecutivos na entrada. – O código descrito no arco representa “entrada corrente” e a “saída corrente”.S0 determina a função de deslocamento S1 = 1. C. QA Sinal de Clear Dispositivo trigado na subida do relógio x 0 b2 τ 1 0 2 MUX 3 4 T D Q cQ 0 b1 1 0 2 MUX 3 4 T D Q cQ 1 0 2 MUX 3 x 0 4 b0 T D Q cQ 74194 Controle shift A2 A1 A0 T=3 T=4 T=1 T=1 74194 4-bit Universal Shift Register 0 0 0 1 0 0 0 1 0 0 0 1 S1. Direita Entradas Seriais LSI (Left Serail Input) RSI(Right Serial Input) Entradas Paralelas: D. S0 = 1: Desloca para Direita na subida do relógio . Entradas Paralelas Saídas Paralelas D3 D2 D1 D0 D3 D2 D1 D0 Transmissão Serial 17 18 Diagrama de estados . S0 = 0: Preserva os valores 15 16 Registrador de Deslocamento Conversão Paralelo <=> Serial Sender S1 S0 194 LSI D QD C QC B QB A QA RSI CLK CLR S1 S0 194 LSI D QD C QC B QB A QA RSI CLK CLR Receiver S1 S0 194 LSI D QD C QC B QB A QA RSI CLK CLR S1 S0 194 LSI D QD C QC B QB A QA RSI CLK CLR D7 D6 D5 D4 Clock D7 D6 D5 D4 Diagrama de estados Diagrama de estados é uma técnica de projeto que permite ao projetista representar graficamente o funcionamento comportamental de uma máquina de estados finita (fsm). Cada par de vértices (não necessariamente distintos) são conectados por um arco direcionado indicando a transição de um estado para outro.Observe que a saída é função da entrada e do estado atual Assim vemos que: – Vértices correspondem ao estado corrente do circuito. Este arco existe apenas se um determinado sinal de entrada força a mudança de estado da máquina de um estado Qj para o estado Qk.Q ) Qj k k j ak /F(ak . Nos demais casos a saída deve ser zero (‘0’).Registrador de deslocamento ( Shift Register ) (deslocamento para a direita) A2 A1 A0 14 Registrador de deslocamento Entrada Serial vs. S0 = 0: Desloca para Esquerda na subida do relógio .RSI substitui o elemento A S1 = 0. B.

módulo 16) Contadores . 1111 (Contador binário de 4 bits .11 (contador módulo 4) – Contador de 4 bits: 0000.19 20 Conversão do diagrama de estados Variáveis de entrada Tabela Q x Q0 Q1 Q2 de estados 0 1 Q0/0 Q1/0 Q0/0 Q2/0 Q0/0 Q2/1 0/0 Q0 0/0 0/0 saída próximo estado 1/1 Codificação de estados: Q0 -> 00 Q1 -> 01 Q2 -> 10 Tabela Q x 00 01 10 de transição 0 1 00/0 01/0 00/0 10/0 00/0 10/1 Q2 Q1 1/0 Implementação do circuito Tabela verdade entrada x 0 0 0 0 1 1 1 1 estado presente y1 y2 0 0 0 1 1 0 1 1 0 0 0 1 1 0 1 1 próximo estado y1+t y2+t 0 0 0 0 0 0 X X 0 1 1 0 1 0 X X Flip-Flop J1 K1 J2 0 X 0 0 X X X 1 0 X X X 0 X 1 1 X X X 0 0 X X X K2 X 1 X X X 1 X X saída Z 0 0 0 X 0 0 1 X estado presente 1/0 * Implementação da máquina de estados usando Flip-Flop tipo JK 21 22 Implementação do circuito Equações booleanas y1(t+1) = x y1 + x y2 y1y2 x 0 1 00 01 11 10 0 0 X 0 0 0 X 0 x 0 1 Implementação do circuito x Z 00 01 11 10 0 0 X 0 0 0 X 1 J1 Q y2(t+1) = x y1 + x y2 y1y2 00 01 11 10 0 0 X 0 1 0 X 1 x 0 1 Z = x y1 y1y2 J1 = xy2 y1y2 x 0 1 00 01 11 10 0 0 X X 0 1 X X J2 = y1x y1y2 x 0 1 00 01 11 10 0 X X 0 1 X X 0 FF JK y1 K1 Q K1 = x y1y2 x 0 1 00 01 11 10 X X X 1 X X X 0 K2 = 1 y1y2 x 0 1 00 01 11 10 X 1 X X X 1 X X ‘1’ J2 K2 FF JK Q y2 Q clock 23 24 Contadores São máquinas seqüenciais (FSMs) que possuem uma seqüência de estados bem definida em resposta a sinal de contagem. Os contadores podem contar para frente ou para trás (up/down) e podem ser construídos por diferentes tipos de Flip-Flops.. 10 . . A saída de um contador expõe o estado atual da máquina de estados.. 01..implementação Implementar um contador síncrono octal Exemplo Contador binário de 3 bits Estado Próximo Flip-flops Presente Estado tipo T Implementação com C B A C+ B+ A+ TC TB TA Flip-Flops tipo T(Toggle) 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 1 1 0 1 0 0 1 1 0 0 1 0 1 1 1 0 0 1 1 1 1 0 0 1 0 1 0 0 1 1 0 1 1 1 0 0 1 1 1 1 0 1 1 1 0 0 1 1 1 1 0 0 0 1 1 1 Diagrama de Tabela de Transição Tabela de entrada transição de de Estados dos Flip-Flops estados . Exemplo: – Contador de 2 bits: 00..

Síntese Lógica 0/0 Reset 0¢ C/0 0/0 5¢ D/0 C/0 10¢ D/0 C. T Enable Inputs: Ambos os sinais devem ser habilitados para permitir contagem quando o contador atinge o último estado “1111”.Sinais de entrada Load and Clear síncronos (sincronizados com o relógio) . C.Load Paralelo a partir dos sinais de entrada D. D 15¢ [open] 29 Projeto .Síntese Lógica Implementar uma máquina de vender bombom •Características: •Recebe moedas de 5 e 10 centavos •Não dá troco •Libera bombom quando valor recebido é igual ou superior a 15 centavos Diagrama de estados Reset 0¢ P T QA QB QC QD RCO Clear 12 Load 13 14 15 Count 0 1 2 Inhibit Na subida do relógio C 5¢ D Obs: Implementar projeto com Flip-Flop tipo JK C 10¢ D C. D/0 15¢ [open] 0/0 Present INPUT D C State 0 0 0¢ 0 1 1 0 1 1 5¢ 0 0 0 1 1 0 1 1 10¢ 0 0 0 1 1 0 1 1 15¢ X X Next State 0¢ 5¢ 10¢ X 5¢ 10¢ 15¢ X 10¢ 15¢ 15¢ X 15¢ Output Open 0 0 0 X 0 0 0 X 0 0 0 X 1 Q1 D Q0 N N \ Q0 Q0 \N Q1 N Q1 D D1 D CLK R \reset Q Q1 Q \ Q1 OPEN D0 CLK D Q RQ Q0 \ Q0 \reset . Este sinal é normalmente usado quando queremos cascatear contadores. A .P.implementação Mapa K para Flip-Flops tipo T CB A 0 1 00 1 1 01 1 1 B TA = 1 C 00 0 1 0 1 01 0 1 B TB = A C 00 0 1 0 0 01 0 1 11 0 1 10 0 0 11 0 1 10 0 1 11 1 1 C 10 1 1 Contadores Contador Síncrono .Flip-Flop trigados na subida do relógio .74163 7 P 10 T 163 15 2 CLK RCO 6 5 4 3 9 1 D C B A LOAD CLR QD QC QB QA 11 12 13 14 + S TA Q CLK Q R \Reset Count QA S TB Q CLK Q R QB QC S TC Q CLK Q R . CB A Diagrama de tempo 100 \Reset QC QB QA Count CB A Contador UP síncrono .25 26 Contadores . B.RCO ("Ripple Carry Output") acionado de 4-Bits (74163) B TC = A • B 27 28 Diagrama de tempo do 74163 CLR LOAD A B C D CLK Projeto .