organização de computadoresducatte/mc542/slides/mc542_c... · 2011. 6. 21. · • o circuito...

54
MC542 Organização de Computadores Teoria e Prática MC542 4.1 2007 Prof. Paulo Cesar Centoducatte [email protected] www.ic.unicamp.br/~ducatte

Upload: others

Post on 01-Feb-2021

3 views

Category:

Documents


0 download

TRANSCRIPT

  • MC542

    Organização de ComputadoresTeoria e Prática

    MC5424.1

    2007

    Prof. Paulo Cesar Centoducatte

    [email protected]

    www.ic.unicamp.br/~ducatte

  • MC542

    Circuitos Lógicos

    Projeto de Circuitos Seqüenciais

    MC5424.2

    “DDCA” - (Capítulo 3)

    “FDL” - (Capítulo 7)

  • Projeto de Circuitos Seqüenciais Sumário

    • Introdução• Latches e Flip-Flops• Projeto de Circuitos Síncronos • Registradores

    – Uso de Registradores com Barramento

    • Registradores de Deslocamento• Contadores

    MC5424.3

    • Registradores de Deslocamento• Contadores

    – Assíncronos– Síncronos

  • Introdução

    • As saídas de um circuito seqüencial dependem dos valores presente e passados de suas entradas.

    • Lógica seqüencial possue memória.

    • Algumas definições:

    MC5424.4

    – Estado (State): conjunto de informações a cerca do circuito necessárias para se prever o seu comportamento futuro.

    – Latches e flip-flops: elementos de estado que armazenam um bit

    – Circuitos seqüencias Síncronos: circuito combinacional seguido de um banco de flip-flops

  • Elementos de Estados

    • O estado de um circuito determina o seu comportamento futuro

    • Elementos de Estado armazenam o estado

    – Circuito bi-estável

    – Latch SR

    MC5424.5

    – Latch SR

    – Latch D

    – Flip-flop D» Outros tipos de flip-flops

    • JK

    • T

    • SR

  • Circuito Bi-estável

    • Bloco Fundamental para a construção dos outros elementos de estado

    • Duas saídas: Q, Q• Sem entradas.

    QI1

    MC5424.6

    QQQ

    Q

    I1

    I2

    I2 I1

  • Circuito Bi-estável: Comportamento

    • Considere os dois casos abaixo:

    – Q = 0: então Q = 1 e Q = 0

    – Q = 1: então Q = 0 e Q = 1

    Q

    Q

    I1

    I2

    0

    1

    1

    0

    QI11

    0

    MC5424.7

    – Q = 1: então Q = 0 e Q = 1

    • O circuito bi-estável armazena 1 bit do estado na variável, Q (ou Q )

    • Porém não há entrada para controle do estado

    QI201

  • Elemento de Memória com Controle

    A B OutputData

    Load

    MC5424.8

    OutputData

    TG1

    TG2

  • SR Latch• Latch Set/Reset (Latch SR)• Definições

    – Set: Saída igual a 1– Reset: saída igual a 0

    • Quando a entrada set, S, é 1 (e R = 0), Q = 1• Quando a entrada reset, R, é 1 (e S = 0), Q = 0

    MC5424.9• Qual a tabela verdade?

    R

    S

    Q

    Q

    N1

    N2

    R

    S Q

  • SR Latch

    • Considere os quatro casos possíveis:

    •S = 1, R = 0

    •S = 0, R = 1

    •S = 0, R = 0

    MC5424.10

    •S = 1, R = 1

  • SR Latch

    • S = 1, R = 0: then Q = 1 and Q = 0

    R

    S

    Q

    Q

    N1

    N2

    0

    1

    1

    00

    0

    • S = 1, R = 0: then Q = 1 and Q = 0

    MC5424.11

    • S = 0, R = 1: then Q = 0 and Q = 1

    R

    S

    Q

    Q

    N1

    N2

    1

    0

    0

    10

    1

    • S = 0, R = 1: then Q = 0 and Q = 1

    R

    S

    Q

    Q

    N1

    N2

    1

    0

    0

    10

    1

  • SR Latch

    • S = 0, R = 0: então Q = Qprev e Q = Qprev (memória!)

    R

    S

    Q

    Q

    N1

    N2

    0

    0

    1

    01

    0

    R

    S

    Q

    Q

    N1

    N2

    0

    0

    0

    10

    1

    Qprev

    = 0 Qprev

    = 1

    MC5424.12

    • S = 1, R = 1: então Q = 0 e Q = 0 (estado invalido: Q ≠ NOT Q)

    R

    S

    Q

    Q

    N1

    N2

    1

    1

    0

    00

    0

    SQN20

    SQN20

  • SR Latch

    Qa

    R S R Qa

    Qb

    0 0 0/1 1/0 (no change)

    MC5424.13

    Qb

    S

    0 1

    1 0

    1 1

    0 1

    1 0

    0 0

  • SR Latch

    S

    R Q

    Q

    Latch SR

    1

    t1 t2 t3 t4 t5 t6 t7 t8 t9 t10

    MC5424.14

    Time

    1

    0

    1

    0

    1

    0

    1

    0

    R

    S

    Qa

    Qb

    ?

    ?

  • Latch SR com Enable

    S R

    x x Q(t ) (no change)

    En

    0

    Q t 1 + ( ( ( ( ) ) ) )

    Q

    R ′ ′ ′ ′ R

    MC5424.15

    0 0

    0 1

    1 0

    0

    1

    1

    1

    1

    1 1 1

    Q(t ) (no change)

    x

    Q

    S ′ ′ ′ ′ S

    En

  • Latch SR com Enable

    R

    Clk

    S

    1

    0

    1

    0

    1

    0

    MC5424.16

    S Q

    Q

    Clk

    R

    Q

    Q

    1

    0

    1

    0

    Time

    ?

    ?

  • Latch SR com Nand

    S

    En

    Q

    MC5424.17

    R

    Q

    Qual a tabela verdade?

  • Latch D

    En D

    0

    1

    1

    x

    0

    1

    0

    1

    Q t 1 + ( ( ( ( ) ) ) )

    Q t ( ( ( ( ) ) ) )

    Q

    S

    R

    En

    D

    (Data)

    Q

    MC5424.18

    D Q

    Q En

    R

    S

    R Q

    Q

    Q

    QD

    EnD

    R

    S

  • Latch D

    t 1

    t 2

    t 3

    t 4

    En

    MC5424.19

    Time

    D

    Q

  • Flip-Flop D

    • Duas entradas: CLK, D• Q só muda na borda (subida ou decida) do CLK• O flip-flop “samples” D na borda do CLK• O flip-flop é chamado de dispositivo edge-triggered devido a

    ser ativo na borda do clock

    MC5424.20

    Flip-Flop D

    D Q

    Q

  • Flip-Flop D Mestre-Escravo

    D Q

    Q

    Master Slave

    D

    Clock

    Q

    Q

    D Q

    Q

    Q m

    Q s

    Clk Clk

    MC5424.21

    D Q

    Q

    CLK

    D Q

    Q

    CLK

    D Q

    Q

    Q

    Q

    DN1

    CLK

    L1 L2

  • Flip-Flop D Mestre-Escravo

    D

    Clock

    MC5424.22

    Q m

    Q Q s

    =

  • Flip-Flop D vs. Latch D

    CLK

    D Q

    Q

    D Q

    Q

    MC5424.23

    CLK

    D

    Q (latch)

    Q (flop)

  • Flip-Flop D vs. Latch D

    CLK

    D Q

    Q

    D Q

    Q

    MC5424.24

    CLK

    D

    Q (latch)

    Q (flop)

  • Flip-FlopD Q

    Q

    D Q

    Q

    D Q

    D

    Clock Q a

    Q b

    Q c

    Q b

    Q a

    Clk

    MC5424.25

    D

    Clock

    Q a

    Q b

    Q c

    Q Q c

  • Flip-Flop D Sensível à Borda de Subida

    Clock

    P3

    P1

    5

    1

    2 Q

    MC5424.26

    D Q

    Q Clock

    D

    Clock

    P4

    P2 6 3

    Q

    4

  • FF D Mestre-Escravo com Preste e ClearAssíncronos

    Q

    Q

    D

    Clock

    Preset

    MC5424.27

    Clear

    D Q

    Q

    Clear

    Preset

  • FF D Sensível à Borda com Preste e ClearAssíncrono

    Q

    Preset

    Preset

    D Q

    MC5424.28

    D

    Clock

    Q

    Clear

    Clear

    D Q

    Q

  • FF D Com Reset Síncrono

    CLK

    MC5424.29

    D QD

    QReset

  • Flip-Flop Tipo T

    D Q

    Q

    Q

    Q T

    MC5424.30

    Q

    Clock

    T Q

    Q

    T

    0

    1

    Q t 1 + ( ( ( ( ) ) ) )

    Q t ( ( ( ( ) ) ) )

    Q t ( ( ( ( ) ) ) )

  • Flip-Flop Tipo JK

    D Q

    Q

    Q

    Q

    J

    Clock

    K

    MC5424.31

    Clock

    K

    0

    1

    Q t 1+(((( ))))

    Q t(((( ))))

    0

    J

    0

    0

    0 11

    1 Q t(((( ))))1

    J Q

    QK

  • Registradores

    • Conjunto de elementos de memória (flip-flops) utilizados para armazenar n bits.

    • Utilizam em comum os sinais de clock e controle

    C L K

    D QD0

    Q0

    MC5424.32

    D Q

    D Q

    D Q

    D Q

    D0

    D1

    D2

    D3

    Q0

    Q1

    Q2

    Q3

    D3 :0

    4 4

    C L K

    Q3 :0

  • Shift Register

    t 0

    t 1

    1

    0

    0

    1

    0

    0

    0

    0

    0

    0

    Q 1 Q 2 Q 3 Q 4 Out = In

    Apresenta o seuinte comportamento:

    MC5424.33

    t 2

    t 3

    t 4

    t 5

    t 6

    t 7

    1

    1

    1

    0

    0

    0

    0

    1

    1

    1

    0

    0

    1

    0

    1

    1

    1

    0

    0

    1

    0

    1

    1

    1

    0

    0

    1

    0

    1

    1

  • Shift Register

    D Q D Q D Q D Q In Out Q 1 Q 2 Q 3 Q 4

    MC5424.34

    Q Clock Q Q Q

  • Shift Register com Carga Paralela

    Q3 Q2 Q1 Q0

    Parallel output

    D Q

    Q

    D Q

    Q

    D Q

    Q

    D Q

    Q

    MC5424.35

    ClockParallel inputShift/Load

    Serialinput

  • Shift Register Universal

    • Entrada Serial

    – Deslocamento a Esquerda

    – Deslocamento a Direita

    • Carga Paralela

    • Saída Paralela

    MC5424.36

    • Exercício: Desenhe o Diagrama do Shift Register Universal de 4 bits.

  • Registradores em um Barramento

    Bus

    Clock R 1 R 2 Rk

    Data

    Extern

    MC5424.37

    R 1 in

    Rkin

    R 1 out

    R 2 in

    R 2 out

    Rkout

    Control circuit Function

  • Registradores em um Barramento

    MC5424.38

  • Contadores

    • Assíncronos

    • Síncronos

    MC5424.39

    • Síncronos

  • Contadores

    t 0

    t 1

    t 2

    0

    0

    0

    0

    0

    1

    0

    1

    0

    Q 2 Q 1 Q 0 clk

    Contador Binário

    MC5424.40

    2

    t 3

    t 4

    t 5

    t 6

    t 7

    0

    0

    1

    1

    1

    1

    1

    1

    0

    0

    1

    1

    0

    1

    0

    1

    0

    1

  • Contador Binário – FF Tipo T

    Clock

    Q 0

    MC5424.41

    Q 1

    Q 2

    Count 0 1 2 3 4 5 6 7 0

  • Contador Binário – FF Tipo T

    T Q T Q T Q 1

    MC5424.42

    Q Clock Q Q

    Q 0

    Q 1

    Q 2

    Contador Binário Assíncrono(up-counter)

  • Contador Binário – FF Tipo T(Down-Counter)

    Clock

    Q 0

    MC5424.43

    Q 1

    Q 2

    Count 0 7 6 5 4 3 2 1 0

  • Contador Binário – FF Tipo T(Down-Counter)

    T Q T Q T Q 1

    MC5424.44

    Q Clock Q Q

    Q 0

    Q 1

    Q 2

    Contador Binário Assíncrono(down-counter)

  • Contadores Síncronos

    0

    0

    1

    0

    1

    0

    0

    1

    2

    0

    0

    0

    Clock cycle Q 2

    Q1

    Q0

    Q 1

    changes

    Q 2

    changes

    MC5424.45

    1 1 3

    0

    0

    1

    0

    1

    0

    4

    5

    6

    1 1 7

    0

    1

    1

    1

    1

    0 0 8 0

  • Contador Binário Síncrono

    Clock

    Q 0

    Q

    MC5424.46

    Q 1

    Q 2

    Count 0 1 2 3 5 9 12 14 0

    Q 3

    4 6 8 7 10 11 13 15 1

  • T Q T Q T Q 1

    Q 0

    Q 1

    Q 2

    T Q

    Q 3

    Contador Binário Síncrono

    MC5424.47

    Q Clock Q Q

    Q 0

    Q 1

    Q 2

    Q

    Q 3

  • Contador Binário Síncronocom Enable e Clear

    T Q T Q Enable T Q T Q

    MC5424.48

    Q Clock Q

    Clear

    Q Q

  • Contador de 4 bits com FF D

    Enable D Q

    Q

    D Q

    Q

    Q0

    Q1

    Como determinar as funções de exitação de

    MC5424.49

    Clock

    D Q

    Q

    D Q

    Q

    Q2

    Q3

    Outputcarry

    exitação de cada FF?

    1. Projeto por Inspeção2. Projeto de Máquina

    de Estados Finitos (FSM)

  • Contador de 4 bits com FF Dcom Carga Paralela

    Enable D Q

    Q

    Q 0

    D Q

    Q

    Q 1

    D 0

    D 1

    0 1

    0 1

    MC5424.50

    D Q

    Q

    Q 2

    D Q

    Q

    Q 3

    D 2

    D 3

    LoadClock

    Outputcarry

    0 1

    0 1

  • Contador Módulo(exemplo:. Módulo 6)

    Clock

    Q 0

    MC5424.51

    0 1 2 3 4 5 0 1 Count

    Q 1

    Q 2

  • Contador Módulo(exemplo: Módulo 6)

    Enable1

    MC5424.52

    Q 0

    Q 1

    Q 2

    D 0

    D 1

    D 2

    Load

    Clock

    0

    0

    0

    Clock

  • Contador Módulo 6 com Reset Assíncrono

    T Q T Q T Q 1

    Q 0

    Q 1

    Q 2

    MC5424.53

    Q Clock Q Q

    Q 0

    Q 1

    Q 2

  • Contador Módulo 6 com Reset Assíncrono

    Clock

    Q 0

    MC5424.54

    Q 1

    Q 2

    Count 0 1 2 3 4 5 0 1 2