Reg. paralelo 7 bits vhdl

Solo disponible en BuenasTareas
  • Páginas : 2 (339 palabras )
  • Descarga(s) : 0
  • Publicado : 13 de diciembre de 2011
Leer documento completo
Vista previa del texto
Departamento de Tecnología Electrónica

6. Registros de desplazamiento
En esta práctica aprenderemos a diseñar registros de desplazamiento en VHDL. Hay varios tipos de registros dedesplazamiento, según si sea la entrada en serie o paralelo, y la salida en serie o paralelo. También se pueden desplazar a la izquierda o derecha, o también hacer rotaciones (el bit que sale entra porel otro extremo). Vamos a irlos viendo con ejemplos.

6.1. Registro de desplazamiento con carga paralelo
En este primer ejemplo vamos a realizar un registro de desplazamiento con estascaracterísticas: El registro tendrá 8 bits Desplazamiento a la izquierda. La orden de desplazamiento la dará el pulsador BTN2. Habrá que realizar un detector de flanco para este pulsador. Al desplazara la izquierda, lo que haya en el bit 7 del registro se perderá, y lo que haya en el bit cero se mantendrá (no se le asigna ningún valor nuevo). Con carga paralelo. La orden de cargar dato ladará el pulsador flanco para este pulsador.
SW0 está a uno, se cargará un '1' BTN0.

Habrá que realizar un detector de

Con la orden de carga, el registro se cargará con los datosproporcionados por los interruptores. Esto es, si en el bit 0 del registro.

El reset será el pulsador BTN3. En la figura 6.1 se muestra el esquema del registro que queremos realizar.
Lo que haya en losinterruptores se carga en el registro cuando CARGA='1' SW7 SW6 SW5 SW4 SW3 SW2 SW1 SW0

BTN0 BTN2

CARGA DESPL_IZQ
7 6 5 4 3 2 1 0

Clk

Clk Reset BTN3 LD7 LD6 LD5 LD4 LD3 LD2 LD1 LD0Lo que haya en el registro se mueve a la izquierda cuando DESPL_IZQ='1'

Figura 6.1: Esquema del registro de desplazamiento a la izquierda con carga paralelo El proceso VHDL del registro dedesplazamiento se muestra en el código 6-1.
P_registro: Process (Reset, Clk) begin if Reset = '1' then registro '0'); elsif Clk'event and Clk='1' then if pulso_carga = '1' then registro
tracking img