Registradores de deslocamento (Shift Register)
Um registrador de deslocamento é um registrador de n
bits com a capacidade de deslocar em uma posição o
valor armazenado, em cada ciclo de relógio.
Registradores de deslocamento
Um registrador de deslocamento com entrada e saída
série possui apenas uma entrada (entrada) e
uma saída(saida).
Registradores de deslocamento
Na entrada aplica-se um novo bit que será deslocado
até à saída da cadeia de Flip-Flops, um Flip-Flop a
cada ciclo do relógio.
Registradores de deslocamento
O bit aplicado na entrada surge na saída passados n
ciclos do relógio
4 ciclos de relógio (clock)
Bit ‘1’ Aplicado à entrada do registrador
Bit ‘1 aparece na
saída após 4 ciclos do
relógio (clock)
Registradores de deslocamento
Um registrador de deslocamento com entrada e saída
série, e com n bits, permite atrasar um sinal em n
ciclos do relógio
Registradores de deslocamento
Um registrador de deslocamento com entrada e saída série, e com n bits,
permite atrasar um sinal em n ciclos do relógio
1o. ciclo
2o. ciclo
3o. ciclo
4o. ciclo
Registradores de deslocamento
• Um registrador de deslocamento com entrada série e saída paralela
possui uma saída para cada bit armazenado, colocando-os disponíveis
de Q1 até Qn.
• Os registradores deste tipo são utilizados para efetuar conversões de
série para paralelo.
Registradores de deslocamento
• Um registrador de deslocamento com entrada série e saídas paralelas possui
uma saída para cada bit armazenado, colocando-os disponíveis de Q1 até Qn.
• Os registradores deste tipo são utilizados para efetuar conversões de série
para paralelo.
1
0
1
0
0
1
0
1
Registradores de deslocamento
• Um registrador de deslocamento com entradas paralelas e saída série
proporciona a conversão de uma informação paralela para serial. São os
chamados conversores paralelo serial.
Registradores de deslocamento
• 1 entrada serial (Es)
• 4 entradas paralelo (E0, E1, E2, E3)
• 1 entrada de relógio (clock)
• 1 entrada de reset (CLRN)
• 1 entrada para habilitação (habilita)
Registradores de deslocamento
• Converter o dado “1011” para serial
Passos:
1) Fazer CLRN = ‘0’ => Zera todas as saídas dos Flip-Flops
Registradores de deslocamento
• Converter o dado “1011” para serial
Passos:
2) Fazer CLRN = ‘1’
3) Fazer habilita = ‘1’
4) Fazer E3 = ‘1’ ; E2 = ‘0’; E1 = ‘1’ e E0 = ‘1’
5) Fazer habilita = ‘0’
Registradores de deslocamento
• Converter o dado “1011” para serial
E3 = ‘1’; E2 = ‘0’ ; E1 = ‘1’; E0 = ‘1’
X
X
X
X
1
1
0
1
Registradores de deslocamento - Aplicação
• A comunicação entre dois microcomputadores através
de suas portas seriais é baseada em registradores de
deslocamento (conversão serial / paralelo – paralelo/
serial)
• Em cada porta serial, um registrador de deslocamento
transforma os dados do barramento interno do
microcomputador (que estão em formato paralelo) no
formato serial adequado para a transmissão através do
cabo que interliga os dois computadores.
Registradores de deslocamento - Aplicação
• Circuito multiplicador (x2n) – Deslocamento para a
esquerda
Ex:
n = 1 => 21 => Desloca 1 posição à esquerda - (x2)
n = 2 => 22 => Desloca 2 posições à esquerda - (x4)
n = 3 => 23 => Desloca 3 posições à esquerda - (x8)
.
.
.
Registradores de deslocamento - Aplicação
• Circuito divisor (/2n) – Deslocamento para a direita
0110011010
 410 Decimal
n=1
0011001101  205 Decimal
‘0’ incluído
bit perdido
Contadores
• Contadores são circuitos digitais que variam os seus estados, sob
um comando de um clock (relógio), de acordo com uma
sequencia predeterminada.
• São utilizados principalmente para contagens diversas, divisão
de frequencia, e tempo, geração de formas de onda e
conversão de analógico para digital.
• Basicamente, estes sistemas, são divididos em duas categorias:
Contadores Assíncronos e Síncronos.
Contadores
• Um contador síncrono é caracterizado por possuir o
mesmo clock acionando todos os flip-flops
simultaneamente.
• É construído a partir de flip-flops tipo T.
• A saída Q de cada flip-flop só muda se as saídas Q dos
flip-flops de menor ordem estiverem em ‘1’.
Contador Síncrono
Contador Síncrono
Q3
Q2
Q1
Q0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
1
0
0
0
1
0
1
0
1
1
0
0
1
1
1
1
0
0
0
1
0
0
1
1
0
1
0
1
0
1
1
1
1
0
0
1
1
0
1
1
1
1
0
1
1
1
1
Contador Síncrono
Q0.Q1
Q0.Q1.Q2
Contador Síncrono - Simulação
Q0 = Q1 = Q2 = Q3 = 1 (15)
Q0 = Q1 = Q2 = Q3 = 0 (0)
Q0 = 1
Q1 = Q2 = Q3 = 0 (1)
Contador – Descrição Verilog
module contador_4bits
(output reg [3:0] q,
input clock, clrn);
always @(posedge clock, negedge clrn) // clrn assíncrono
if (~clrn)
q <= 0;
else q <= q + 1;
endmodule
Contador – Descrição Verilog
module contador_4bits
(output reg [3:0] q,
input clock, clrn);
always @(posedge clock, negedge clrn) // clrn assíncrono
if (~clrn)
q <= 0;
else q <= q + 1;
Descrição RTL
endmodule
Contador - clrn assíncrono
Contador – Descrição Verilog
module contador_4bits
(output reg [3:0] q,
input clock, clrn);
always @(posedge clock) // clrn síncrono
if (~clrn)
q <= 0;
else q <= q + 1;
endmodule
Descrição RTL
Contador - clrn síncrono
Download

Aula11