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:
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.