Registradores e Contadores

34
  1 Registradores Registradores Circuitos Lógicos Circuitos Lógicos DCC-IM/UFRJ Prof. Gabriel P. Silva

Transcript of Registradores e Contadores

Page 1: Registradores e Contadores

5/17/2018 Registradores e Contadores - slidepdf.com

http://slidepdf.com/reader/full/registradores-e-contadores 1/34

1

RegistradoresRegistradores

Circuitos LógicosCircuitos LógicosDCC-IM/UFRJ

Prof. Gabriel P. Silva

Page 2: Registradores e Contadores

5/17/2018 Registradores e Contadores - slidepdf.com

http://slidepdf.com/reader/full/registradores-e-contadores 2/34

2

Registradores

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

• Utilizam um único sinal de clock ou um único

sinal de habilitação.

• São elementos de memória básicos utilizadosquando se deseja armazenar pequenasquantidades de informação, normalmente emcircuitos de interface ou controle de máquinasde estado.

 

Page 3: Registradores e Contadores

5/17/2018 Registradores e Contadores - slidepdf.com

http://slidepdf.com/reader/full/registradores-e-contadores 3/34

3

Registradores

Registrador decarga paralela

EN

CK

Carga do registrador 

Q

EN

D

D

Ck

Q

 _ Q

(74LS377)

Page 4: Registradores e Contadores

5/17/2018 Registradores e Contadores - slidepdf.com

http://slidepdf.com/reader/full/registradores-e-contadores 4/34

4

Registrador

LIBRARY ieee;

USE ieee.std_logic_1164.ALL;

ENTITY Reg ISPORT(Data_in : IN STD_LOGIC_VECTOR;

Data_out: OUT STD_LOGIC_VECTOR;Wr : IN STD_LOGIC ;

Reset : IN STD_LOGIC ;Clk : IN STD_LOGIC);

END Reg;

ARCHITECTURE behavioral OF Reg ISBEGINPROCESS(Wr,Reset,Clk)CONSTANT Reg_delay: TIME := 2 ns;VARIABLE BVZero:

STD_LOGIC_VECTOR(Data_in'RANGE):= (OTHERS => '0');

Page 5: Registradores e Contadores

5/17/2018 Registradores e Contadores - slidepdf.com

http://slidepdf.com/reader/full/registradores-e-contadores 5/34

5

Registrador

BEGINIF (Reset = '1') THEN

Data_out <= BVZero AFTER Reg_delay;END IF;

IF (Clk'EVENT AND Clk = '1' AND Wr = '1') THEN

Data_out <= Data_in AFTER Reg_delay;END IF;

END PROCESS;END behavioral;

Page 6: Registradores e Contadores

5/17/2018 Registradores e Contadores - slidepdf.com

http://slidepdf.com/reader/full/registradores-e-contadores 6/34

6

Deslocador

• O deslocador serve para mover umconjunto de bits de uma ou mais posiçõespara a esquerda ou direita.

• Dependendo do tipo de deslocamento,

podem ser inseridos '0's para as posiçõesque ficam vagas à medida que os bitscorrespondentes vão sendo deslocados.

• Para os números cuja representação

coloca o bit de sinal no bit mais àesquerda, normalmente esse bit éreplicado quando os bits são deslocadospara a direita.

Page 7: Registradores e Contadores

5/17/2018 Registradores e Contadores - slidepdf.com

http://slidepdf.com/reader/full/registradores-e-contadores 7/34

7

Deslocador

• Deslocamento para a direita de 2 bits:

00001111 --> 00000011

• Deslocamento para esquerda de 3 bits

00001111 --> 01111000

• Deslocamento para a direita de 2 bits devalor negativo em complemento a dois:

10001111 --> 11100011

Page 8: Registradores e Contadores

5/17/2018 Registradores e Contadores - slidepdf.com

http://slidepdf.com/reader/full/registradores-e-contadores 8/34

8

Deslocador

• Note que para cada bit deslocado para adireita, corresponde a uma divisão inteirapor 2:

00011100 --> 00000111

28 --> 7

E para cada bit deslocado para aesquerda, corresponde a umamultiplicação por 2:

00001111 --> 01111000

15 --> 120

Page 9: Registradores e Contadores

5/17/2018 Registradores e Contadores - slidepdf.com

http://slidepdf.com/reader/full/registradores-e-contadores 9/34

9

Deslocador

Page 10: Registradores e Contadores

5/17/2018 Registradores e Contadores - slidepdf.com

http://slidepdf.com/reader/full/registradores-e-contadores 10/34

10

Registrador de Deslocamento

D Q D Q D Q D QSDI SDO

CK

• Composto por uma série de Latches ou Flip-Flops onde a

saída Q de um está acoplada a entrada D do seguinte.

• Aplicações:

• As UALs dos processadores têm registradores dedeslocamento (esquerda, direita e em anel).

• Conversão série para paralelo e vice-versa.

• No exemplo acima os últimos 4 valores da seqüência são

armazenados do registrador de deslocamento.

Page 11: Registradores e Contadores

5/17/2018 Registradores e Contadores - slidepdf.com

http://slidepdf.com/reader/full/registradores-e-contadores 11/34

11

Registrador de Deslocamento

t 0

t 1

t 2

t 3

t 4

t 5

t 6

t 7

0

1

0

0

0

0

0

1

0

0

0

0

1

0

1

0

0

0

0

1

0

1

0

0

0

0

0

Q1 Q2 Q3 Q4 Saída=Entrada

Apresenta o seguinte comportamento:

Clock

Page 12: Registradores e Contadores

5/17/2018 Registradores e Contadores - slidepdf.com

http://slidepdf.com/reader/full/registradores-e-contadores 12/3412

Registrador de Deslocamento

D Q

QClock

D Q

Q

D Q

Q

D Q

Q

Entrada SaídaQ1 Q2 Q3 Q4

Page 13: Registradores e Contadores

5/17/2018 Registradores e Contadores - slidepdf.com

http://slidepdf.com/reader/full/registradores-e-contadores 13/3413

Registrador de Deslocamento comCarga Paralela

3 Q2 Q1 Q0

RelógioEntrada Paralela

Saída Paralela

Carrega/

Desloca

Entrada

Serial

D Q

Q

D Q

Q

D Q

Q

D Q

Q

Q33

D3

D2 D1 D0

Page 14: Registradores e Contadores

5/17/2018 Registradores e Contadores - slidepdf.com

http://slidepdf.com/reader/full/registradores-e-contadores 14/3414

clear estabelece o conteúdo do registradore da saída em 0

s1 e s0 determinam o tipo de deslocamento 

s0 s1 função0 0 mantém estado0 1 deslocamento à direita1 0 deslocamento à esquerda1 1 carregue nova entrada

left_inleft_out

right_out

clear

right_in

output

input

s0s1

clock 

Registrador de DeslocamentoUniversal

Armazena 4 valoreso Entradas seriais ou paralelas

o Saídas seriais ou paralelas

o Permite o deslocamento à esquerda ou à direita

o Desloca novos valores à esquerda ou à direita

Page 15: Registradores e Contadores

5/17/2018 Registradores e Contadores - slidepdf.com

http://slidepdf.com/reader/full/registradores-e-contadores 15/3415

Nth célula

s0 e s1control mux

0 1 2 3

D

Q

CLK 

CLEAR 

Q[N-1](left)

Q[N+1](right)Input[N]

p/ N-1thcélula para N+1thcélula

clear s0 s1 new value

1 – – 00 0 0 output0 0 1 output value of FF to left (shift right)0 1 0 output value of FF to right (shift left)0 1 1 input

Registrador de DeslocamentoUniversal

Considere um dos quatro flip-flopso Próximo valor no próximo ciclo de clock:

Page 16: Registradores e Contadores

5/17/2018 Registradores e Contadores - slidepdf.com

http://slidepdf.com/reader/full/registradores-e-contadores 16/3416

entradas paralelas

saídas paralelas

Transmissão serial

Aplicação de Registradores deDeslocamento

Conversão paralelo-serial para transmissãoserial

Page 17: Registradores e Contadores

5/17/2018 Registradores e Contadores - slidepdf.com

http://slidepdf.com/reader/full/registradores-e-contadores 17/3417

D Q D Q D Q D QIN

OUT1 OUT2 OUT3 OUT4

CLK 

OUT

Reconhecedor de Padrões

Função combinacional de amostras daentradao ex: reconhecendo o padrão 1001 em um único sinal de

entrada

Page 18: Registradores e Contadores

5/17/2018 Registradores e Contadores - slidepdf.com

http://slidepdf.com/reader/full/registradores-e-contadores 18/3418

Contadores

Podem ser: Assíncronos

São mais lentos pois a saída de um flip-flop dispara uma mudança no flip-flopseguinte

Síncronos

• O estado de todos os flip-flops sãoalterados simultaneamente

Page 19: Registradores e Contadores

5/17/2018 Registradores e Contadores - slidepdf.com

http://slidepdf.com/reader/full/registradores-e-contadores 19/3419

D Q D Q D Q D QIN

OUT1 OUT2 OUT3 OUT4

CLK 

Contadores

Seqüências através de um conjunto fixo depadrõeso Neste caso: 1000, 0100, 0010, 0001

o Um dos padrões é o estado inicial (usar load ou

set/reset)

Page 20: Registradores e Contadores

5/17/2018 Registradores e Contadores - slidepdf.com

http://slidepdf.com/reader/full/registradores-e-contadores 20/3420

D Q D Q D Q D QIN

OUT1 OUT2 OUT3 OUT4

CLK 

Contadores

Contador Mobius (ou Johnson)o Neste há apenas a mudança de um bit entre dois

estados adjacentes:

1000, 1100, 1110, 1111, 0111, 0011, 0001, 0000

Page 21: Registradores e Contadores

5/17/2018 Registradores e Contadores - slidepdf.com

http://slidepdf.com/reader/full/registradores-e-contadores 21/3421

Contadores

t 0

t 1

t 2

t 3

t 4

5t 6

t 7

0

0

0

0

1

1

1

1

0

0

1

1

0

0

1

1

0

1

0

1

0

1

0

1

Q2

Q1

Q0clk 

Contador Binário Crescente

Page 22: Registradores e Contadores

5/17/2018 Registradores e Contadores - slidepdf.com

http://slidepdf.com/reader/full/registradores-e-contadores 22/3422

Contador Binário – FF tipo T

Clock 

Q0

Q1

Q2

Count 0 1 2 3 4 5 6 7 0

Page 23: Registradores e Contadores

5/17/2018 Registradores e Contadores - slidepdf.com

http://slidepdf.com/reader/full/registradores-e-contadores 23/3423

Contador Binário Assíncrono –FF tipo T

T Q

QClock 

T Q

Q

T Q

Q

1

Q0

Q1

Q2

Contador Binário Assíncrono(crescente) 

Page 24: Registradores e Contadores

5/17/2018 Registradores e Contadores - slidepdf.com

http://slidepdf.com/reader/full/registradores-e-contadores 24/3424

Contador Binário Assícrono – FF tipo T(decrescente)

Clock 

Q0

Q1

Q2

Count 0 7 6 5 4 3 2 1 0

Page 25: Registradores e Contadores

5/17/2018 Registradores e Contadores - slidepdf.com

http://slidepdf.com/reader/full/registradores-e-contadores 25/3425

Contador Binário AssíncronoFF tipo T

T Q

QClock 

T Q

Q

T Q

Q

1

Q0 Q1 Q2

Contador Binário Assíncrono(decrescente) 

Page 26: Registradores e Contadores

5/17/2018 Registradores e Contadores - slidepdf.com

http://slidepdf.com/reader/full/registradores-e-contadores 26/3426

T Q

QClock 

T Q

Q

T Q

Q

1

Q0

Q1

Q2

T Q

Q

Q3

Contador Binário SíncronoFF tipo T

Contador Binário Síncrono(crescente) 

Page 27: Registradores e Contadores

5/17/2018 Registradores e Contadores - slidepdf.com

http://slidepdf.com/reader/full/registradores-e-contadores 27/3427

Contadores

t 0

t 1

t 2

t 3

t 4

5t 6

t 7

0

0

0

0

1

1

1

1

0

0

1

1

0

0

1

1

0

1

0

1

0

1

0

1

Q2

Q1

Q0clk 

Contador Binário Crescente

Page 28: Registradores e Contadores

5/17/2018 Registradores e Contadores - slidepdf.com

http://slidepdf.com/reader/full/registradores-e-contadores 28/3428

Contador Binário Síncrono - FF tipo Tcom enable e clear

T Q

QClock 

T Q

Q

Enable

Clear

T Q

Q

T Q

Q

Page 29: Registradores e Contadores

5/17/2018 Registradores e Contadores - slidepdf.com

http://slidepdf.com/reader/full/registradores-e-contadores 29/34

29

D Q D Q D Q D Q

OUT1 OUT2 OUT3 OUT4

CLK 

"1"

Contador Binário - FF Tipo D

Contador Binário Síncrono

(crescente) 

Page 30: Registradores e Contadores

5/17/2018 Registradores e Contadores - slidepdf.com

http://slidepdf.com/reader/full/registradores-e-contadores 30/34

30

Contador Binário com FF Tipo D

Lógica entre os registradores (não somenteum multiplexer)o XOR decide quando um determinado bit deve ser

“toggled”

o Sempre para o bit de mais baixa ordem; somentequando o primeiro bit é verdade para o segundo bit, eassim por diante

Page 31: Registradores e Contadores

5/17/2018 Registradores e Contadores - slidepdf.com

http://slidepdf.com/reader/full/registradores-e-contadores 31/34

31

Contador 4 Bits em VHDL

library ieee;

use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;

ENTITY contador ISPORT(CLK, CLR : IN std_logic;

Q : OUT std_logic_vector(3 downto 0));END contador;

Page 32: Registradores e Contadores

5/17/2018 Registradores e Contadores - slidepdf.com

http://slidepdf.com/reader/full/registradores-e-contadores 32/34

32

Contador 4 Bits em VHDL

ARCHITECTURE arquitetura OF contador IS

SIGNAL tmp: std_logic_vector(3 downto 0);BEGIN

PROCESS (CLK, CLR)BEGIN

IF (CLR = '1') THENtmp = "0000";

ESLIF (CLK'event AND CLK = '1') THENtmp = tmp + 1;

END IF;

END PROCESS;

Q = tmp;

end arquitetura;

Page 33: Registradores e Contadores

5/17/2018 Registradores e Contadores - slidepdf.com

http://slidepdf.com/reader/full/registradores-e-contadores 33/34

33

EN

DCBA

LOAD

CLK

CLR

RCO

QDQCQBQA

Contador Binário Crescente Síncronode 4-bits

Componente padrão em muitas aplicaçõeso FF ativado na transição positiva com entradas de load e

clearo Dado carregado das entradas paralelas D, C, B, Ao Entradas de Enable: precisam estar em 1 para contagemo RCO: saída de ripple-carry utilizada para cascateamento

- ‘1’ quando o contador está em seu estado mais alto(1111)

- implementado usando uma porta AND

Contado Biná io C escente Sínc ono

Page 34: Registradores e Contadores

5/17/2018 Registradores e Contadores - slidepdf.com

http://slidepdf.com/reader/full/registradores-e-contadores 34/34

(1) 4-bits baixos = 1111

(2) RCO vai para 1

(3) 4-bits mais altos

são incrementados

Contador Binário Crescente Síncronode 4-bits