Módulos secuenciales

VHDL permite implementar circuitos secuenciales de forma simple y rápida

A continuación se muestra la modelización de un contador up/down y de un registro de desplazamiento

Contador up/down

El modelo siguiente corresponde a un contador up/down con las siguientes características:

Señales de entrada

Señal de reloj: ck
Señal de reset síncrona, activa a nivel bajo: nReset
Señal de capacitación de conteo: enable
Señal de conteo arriba/abajo: UnD (cuando es 1 incrementa, cuando es 0 decrementa)

Señales de salida

Estado actual: q
Pulso de fin se secuencia o terminal counter: tc

Modelo:

El circuito siguiente muestra una síntesis del mismo

Funcionamiento

En el gráfico siguiente podemos comprobar su funcionamiento

Registro de desplazamiento

El registro de desplazamiento es otro módulo secuencial muy utilizado en el diseño de sistemas digitales, especialmente en comunicaciones para realizar conversiones serie-paralelo o viceversa

El registro de desplazamiento que se muestra a continuación tiene las siguientes funcionalidades:

Mantener estado
Inicializar a un valor determinado
Desplazamiento a la derecha
Desplazamiento a la izquierda

Para ello constará de las siguientes entradas:

Señal de reloj ck
Señal de datos de entrada paralela d, utilizada para inicializar a un valor determinado
Señales Il (entrada serie por la izquierda) y Ir (entrada serie por la derecha) para desplazamientos
Señal de control de operación ctrl, que tiene las siguientes codificaciones

ctrl=0 -> Carga paralela
ctrl=1 -> Desplazamiento a la izquierda
ctrl=2 -> Desplazamiento a la derecha
ctrl=3 -> Mantener estado

Y como salida tendrá la señal q que mostrará el estado en el que se encuentre

Modelo correspondiente a este registro de desplazamiento:

La imagen siguiente muestra una implementación en un sintetizador del registro de desplazamiento

Funcionamiento

La gráfica siguiente corresponde a la salida de simulación utilizando Modelsim. Puede comprobarse como, inicialmente, y debido a la falta de inicialización, la salida del registro se mantiene en indeterminada hasta el tercer ciclo de reloj, momento en que todos los flip-flops internos han tomado un valor completamente definido

 

Problema

Generar un fichero de test para los modelos contador y registro de desplazamiento que los comprueben de forma exhaustiva

Anterior
Volver a inicio curso
Volver a inicio capítulo
Siguiente


WcN - Joan Oliver. Diseño de circuitos digitales con VHDL: Ejemplos