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 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 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 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 Síncrono – VHDL – Exemplo 1
Contador Síncrono – VHDL – Exemplo 2
Contador Síncrono - Simulação
Contador Síncrono - Fluxograma