Módulos combinacionales

El multiplexor

El multiplexor es un módulo combinacional básico cuya función de selección de entrada es de amplísima utilización en el desarrollo de sistemas digitales

Asimismo, las posibilidades de implementación son múltiples. Entre estas, aquí se presentan las siguientes implementaciones:

Jugando con las posibilidades que ofrecen las instrucciones en VHDL se describen tres arquitecturas RTL para una misma entidad:

Implementación comportamental:

El decodificador

El decodificador es otro módulo indispensable en la construcción de sistemas digitales

Se presenta aquí una descripción comportamental:

Puede comprobarse la facilidad de descripción de componentes que se consigue en VHDL cuando es posible la descripción a nivel comportamental

El bus tri-state

El modelado del bus tri-state requiere atención en el uso del tipo de datos adecuados para la resolución de las salidas. Así, por ejemplo, no se puede trabajar con datos tipo bit, puesto que sólo tienen definidos los valores 0-lógico y 1-lógico. Tampoco es adecuado usar variables std_ulogic puesto que al ser un tipo no resuelto, no resuelve el conflicto de señales (cuando se produce) en el bus. Lo normal es trabajar con datos tipo std_logic, que es el tipo std_ulogic resuelto.

El siguiente código corresponde a una posible implementación de un bus tri-state:

La siguiente figura muestra una síntesis realizada del mismo

Para que se pudiera observar un conflicto de señales, no se ha especificado la resolución a realizar cuando ae = '0' y be = '1'. De acuerdo con el gráfico siguiente en este caso se produce un error de resolución.


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


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