# Registrador de Deslocamento

Biblioteca: | Memória
Introdução: | 2.3.0
Aparência: |

## Comportamento

Esse registrador é constituído por vários estágios, onde a cada variação do clock fará com que um estágio receba o valor do estágio anterior, enquanto um novo valor será carregado no primeiro estágio. O componente também poderá opcionalmente oferecer a carga e o armazenamento em paralelo para todos os estágios.

A entrada Limpar (clear) reiniciará todos os estágios com valor igual a 0 assincronamente; ou seja, enquanto a entrada Limpar (clear) for igual a 1, todos os valores serão iguais a 0, independente da entrada do clock.

## Pinos

Um asterisco (*) marcará os pinos que existirão somente quando o atributo Carga em Paralelo estiver habilitado.

Na face oeste, pino superior (entrada, com largura de 1 bit)
  Deslocar: se for 1 ou desconectado, todos os estágios avançarão ao gatilho do clock; mas se for 0, não haverá avanço. Essa entrada será ignorada se a entrada Carga for 1.
Na face oeste, pino central (entrada, com largura em bits de acordo com o atributo Bits de Dados)
  Dado: quando houver avanço dos estágios, o valor encontrado nessa entrada será carregado no primeiro estágio.
Na face oeste, pino inferior marcado com um triângulo (entrada, com largura de 1 bit)
  Clock: no instante em que sofrer variação, conforme especificado pelo atributo Gatilho, o componente poderá avançar os estágios ou carregar novos valores.
*Na face norte, pino à esquerda (entrada, com largura de 1 bit)
  Carga: se for 1, os valores encontrados nos outros pinos na face norte serão carregados em todos os estágios na próxima variação do clock. Se for 0 ou desconectado, não haverá carga.
*Na face norte, outros pinos (entrada, com largura em bits de acordo com o atributo Bits de Dados)
  Dado: esses valores serão carregados em todos os estágios quando houver variação do clock e enquanto Carga estiver em 1. A entrada mais à esquerda corresponderá ao valor mais recente.
Na face sul, pino à esquerda (entrada, com largura de 1 bit)
  Limpar (clear): se for 1, todos os estágios serão levados para zero assincronamente, e todas as outras entradas serão ignoradas.
*Na face sul, outros pins (saída, com largura em bits de acordo com o atributo Bits de Dados)
  Saída: Emitirá o valor armazenado em cada estágio, com o estágio mais recente refletido nos pinos mais à esquerda (próximo à entrada Limpar (clear)).
Face leste (saída, com largura em bits de acordo com o atributo Bits de Dados)
  Saída: Emitirá o valor armazenado no estágio final (mais antigo).

## Atributos

Quando o componente for selecionado ou estiver sendo acrescentado, os dígitos de '0 'a '9' poderão alterar o atributo Número de Estágios, Alt-0 até ALT-9 irão alterar o seu atributo Bits de Dados.

Bits de Dados
  A largura em bits do valor armazenado em cada estágio.
Número de Estágios
  O número de estágios incluídos no componente.
Carga em Paralelo
  Se sim, então o componente incluirá entradas e saídas facilitando o acesso em paralelo a todos os valores dos estágios.
Gatilho
  Serve para configurar como a entrada de clock será interpretada. O valor Borda de Subida serve para indicar que o registrador deverá atualizar seu valor no instante em o clock variar de 0 para 1. O valor Borda de Descida indicará que ele deverá realizar a atualização no instante em que o clock variar de 1 para 0.
Rótulo
  O texto para o rótulo associado ao componente.
Fonte do Rótulo
  A fonte com a qual o rótulo será mostrado.

## Comportamento da ferramenta Testar

Se o atributo Carga em Paralelo for não, ou se o atributo Bits de Dados for maior que 4, então o acionamento do registrador não terá efeito. Do contrário, ao clicar sobre o componente, o foco do teclado estará sobre o estágio selecionado (indicado por um retângulo vermelho), e ao digitar um dígito hexadecimal, o valor desse estágio irá mudar.

## Comportamento da ferramenta Texto

Permite que o rótulo associado à porta seja editado.

Voltar à Referência para bibliotecas