Post on 24-Jan-2016
description
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) euma 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
Bit ‘1’ Aplicado à entrada do registrador
Bit ‘1 aparece na saída após 4 ciclos do relógio (clock)
4 ciclos de 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
1o. ciclo 2o. ciclo
3o. ciclo
4o. ciclo
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 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
101
0
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 serialPassos:
1) Fazer CLRN = ‘0’ => Zera todas as saídas dos Flip-Flops
Registradores de deslocamento
• Converter o dado “1011” para serialPassos: 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’
1
X
X
0
1
1
X
X
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ídobit perdido
• 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’.
Contadores
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 = 0 (0)
Q0 = 1
Q1 = Q2 = Q3 = 0 (1)
Q0 = Q1 = Q2 = Q3 = 1 (15)
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; endmodule Descrição RTL
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