RegistrosRegisters

Publicado el 21 diciembre 2013 por Practicandoarduino @PracticaArduino

Un registro de n bits es un dispositivo capaz de almacenar n bits. Internamente está formado por biestables, tiene tantos biestables como bits sea capaz de almacenar. Los más usados son de tipo D, ya que al almacenar el bit que le llega por su entrada son los más fáciles de usar.

Los registros se clasifican en función de cómo se lean o escriben sus bits:
-Entrada serie y salida serie
-Entrada serie y salida paralelo
-Entrada paralelo y salida serie
-Entrada paralelo y salida paralelo

Si la entrada es en seria el registro tiene una única entrada, si las entradas están en paralelo tiene n entradas. Lo mismo ocurre con las salidas. Si las salidas o las entradas están en serie se llama registro de desplazamiento. Existen dos tipos de registros de desplazamiento según sea el sentido de sus bits: derecha o izquierda.

Entrada serie y salida serie:

Los biestables de todos los registros de desplazamiento deben estar disparados por el flanco, excepto los registro de entrada en paralelo y salida en paralelo que suelen estar disparados por nivel. Los bits de entrada deben estar sincronizados por una señal de reloj.
El primer bit de entrada, B0, se escribirá en el biestable D3 en el primer flanco activo de reloj. En el segundo flanco activo, el bit B0 pasa el biestable D2 al tiempo en que el segundo bit de entrada, B1, se escribe en D3, sobrescribiendo
su valor anterior (B0). Del mismo modo se escriben los bits B2 y B3 en el registro. Al finalizar el proceso de escritura, los biestables D3−0 contienen a los bits B3−0.

Para la lectura serie el procedimiento es similar. Solo hay que tener en cuenta que para leer el primer bit almacenado, el B0, no es necesario esperar ningún ciclo de reloj, ya que la salida q del último biestable (y por tanto el bit B0), se encuentra conectada con la salida del registro.

Entrada serie salida paralelo:

El modo de escritura es el mismo que en el apartado anterior. En cuanto a la lectura, este tipo de registros no depende de la señal de reloj para mostrar su contenido, siempre aparece en sus salidas.

Entrada en paralelo y salida en serie:

El modo de lectura de este registro es similar al de los registros serie-serie, pero el proceso de escritura se realiza cuando está activa la señal LOAD.
En la escritura en paralelo, todos los bits se cargan simultáneamente en las entradas, en este ejemplo se ve un procedimiento de carga asíncrono, usando Clear y Preset.

Se ha diseñado un circuito combinacional (CC), formado por dos puertas NAND y un inversor, que controla las líneas de Cl y Pr de cada biestable en función del bit a escribir y de la señal de control Load. Cuando esta última está a 0, las entradas Cl y Pr están a 1, no ocurre nada. Si Load = 1, entonces si Di = 0, se activa Cl y si Di = 1, se activa Pr, esto es, escritura asíncrona de un 0 o un 1, respectivamente. Este mecanismo de escritura es el mismo para todos los biestables del registro.

Entrada paralelo y salida paralelo:

Este tipo de registros suele ser disparados por nivel como se observa en la imagen, pero pueden ser disparados por el flanco. Si la señal clk vale 0, los biestables capturan simultáneamente todos los bits de entrada. Si clk vale 1, los biestables mantienen la información capturada que muestran siempre por sus líneas de salida.

Registros universales:

Un registro universal es aquel que tiene todas las formas de escritura y lectura posible, tanto en serie como en paralelo.



style="display:inline-block;width:728px;height:15px"
data-ad-client="ca-pub-3868159888315364"
data-ad-slot="7639712738">

An n-bit register is any device capable of storing n bits. It is internally formed by flip-fops, having as many flip-flops as bits they are able to store . The most used are of type D , being that they store the bit that arrives at their inputs so they are the easiest to use.

The registers are classified according to how they read or write their bits:
-Serial input and serial output
-Serial input and parallel output
-Prallel input and serial output
-Parallel input and parallel output

If the register has a serial input it only has a single input, if the inputs are in parallel it has n inputs. The same applies to the outputs. If the register has serial inputs or serial outputs it’s called shift register. There are two types of shift registers depending on the direction of their bits: left or right.

Serial input and serial output:

The flip-flops of all shift registers should be triggered by the flank , excluding registers with parallel input and parallel output that are often triggered by level. The input bits are synchronized by a clock signal.
First input bit, B0,is written in D3 flip-flop in the first active clock edge. In the second active clock edge, bit B0 pass to D2 flip-flop at the same time th at second bit of B1 input, is written in D3, overwriting its previous value (B0). B2 y B3 bits are written by similar way in the register. At the end of the writing process, flip-flops D3−0 contains B3−0 bits.

For serial reading the procedure is similar. Just take note that to read the first bit stored , B0 , you don’t need to wait to any clock cycle, because the output q of the last flip-flop (and therefore the bit B0) is connected to the output of registration.

Serial input and parallel output:

The writing mode is the same as in the previous section . As for reading, this kind of records does not depend on the clock to show their content, it always appears at the outputs.

Parallel input and serial output:

Reading mode of this register is similar to serial-serial register, but the writing process is performed when the LOAD signal is active.
In parallel writing, all bits are loaded simultaneously on the entries, in this example we can see an asynchronous loading method, using Clear and Preset.

We have designed a combinational circuit (CC ) , consisting of two NAND gates and an inverter, which controls the Cl and Pr lines of each flip-flop depending on the bit to write and Load signal control. When Load is 0, inputs Cl y Pr are 1, nothing happens. If Load = 1, then if Di = 0, Cl is activated y if Di = 1, Pr is activated,ie asynchronous writing of a 0 or 1, respectively. The writing mechanism is the same for all flip-flops of the register.

Parallel input and parallel output:

This type of registers are typically triggered by level as observed in the image, but they can be triggered by the edge. Si la señal clk vale 0, los biestables capturan simultáneamente todos los bits de entrada. If clk signal is 0, the flip-flops simultaneously capture all input bits. If clk is 1, the flip-flops keep the captured information wich always show by their output lines.

Universal registers:

A universal register is one that has all forms of writing and reading as possible, both in serial and in parallel.



style="display:inline-block;width:728px;height:15px"
data-ad-client="ca-pub-3868159888315364"
data-ad-slot="7639712738">

PracticandoArduino