Está en la página 1de 5

Objetivos

 Hurgar interpretación que se da a los datos std_logic dependiendo de los


paquetes que se incluyan en el diseño.

 Conocer las librerías necesarias para poder utilizar el tipo std_logic.


Std_logic
Un tipo lógico resuelto de nueve valores Std_logic no forma parte del estándar
VHDL. Se define en IEEE Std 1164.

Para Xilinx ISE todos los puertos de entity tienen que ser obligatoriamente de
tipo std_logic o std_logic_vector ya que de esa manera se puede simular un
circuito más real. Por ejemplo, podría darse el caso de que en el código VHDL
todavía no hayamos definido el valor de una señal (ejemplo, valor inicial de un
biestable no reseteado). [1]

Librerías

Para poder utilizar el tipo std_logic hay que añadir la librería que lo soporta.

use ieee.std_logic_1164.all

Para poder utilizar las funciones aritmeticológicas definidas (suma, resta


multiplicación)

use ieee.std_logic_arith.all

Si los vectores están en representación binaria pura

use ieee.std_logic_unsigned.all

Los vectores están en C2

use ieee.std_logic_signed.all [2]

Caracteres

Cada uno de ellos es un carácter ISO encerrado en comillas simples. Se refiere


a un tipo lógico Standard definido por el usuario std_logic. Incorpora siete
valores útiles para simular una señal lógica en un circuito lógico real, no solo ‘0´
y `1´. [2]

type STD_ULOGIC IS (‘U´, -- No inicializado

‘X´, -- Forzar desconocido

‘0´, -- Forzar 0

‘1´, -- Forzar 1
‘Z´ , -- Alta Impedancia

‘W´ , -- Débil desconocido

‘L´ , -- Débil 0

‘H´ , -- Débil 1

‘_´ , -- Sin importancia ) ; [2]

Para describir buses se utiliza el tipo std_logic_vector, que es un array de


std_logic Los tipos std_logic y std_logic_vector son los estándares industriales.
Todos los valores son validos en un simulador VHDL, sin embargo solo: ‘0’, ‘1’,
‘Z’, ‘L’, ‘H’ y ‘–’ se reconocen para la síntesis. [1]

En el paquete IEEE.std_logic_1164 aparecen otros dos tipos:

std_ulogic y std_ulogic_vector.

Son los mismos, pero sin haber pasado por la función de resolución Esta función
decide cuál debe ser el valor de la señal cuando tiene dos fuentes que le asignan
valores distintos Por ejemplo, si una fuente asigna un ‘1’ y la otra una ‘L’, la
función de resolución dice que la señal se queda a ‘1 [3]

El tipo Std_ulogic es una extensión del tipo de bits estándar. Define nueve
valores, que permiten especificar sistemas lógicos. Al igual que Bit, este tipo no
se resuelve, es decir, no se permite especificar dos asignaciones de valor a una
señal del tipo Std_ulogic. [1]

Con el fin de facilitar la especificación de señales de múltiples impulsadas (como


buses de datos), el paquete Std_Logic_1164 define la función de resolución para
Std_ulogic, que a su vez sirve como base para la declaración de tipo Std_Logic.
[1]

El paquete de Std_Logic_1164 define los operadores lógicos sobrecargados


("and", "nand", "or", "nor", "xor", and "not") Para operadores del tipo Std_ulogic
Además, también se definen dos funciones de conversión: Std_ulogic a Bit
(función To_Bit) y Bit a Std_ulogic (función To_StdULogic). [1]
¿Por qué se emplea este tipo y no solamente el tipo bit, integer, etc.?

Porque si la señal fuera de tipo bit su valor por defecto sería 0 y si fuera de tipo
std_logic su valor por defecto sería U (indeterminado) que se acerca más a la
realidad. Además, las señales definidas como natural o integer Xilinx ISE las
traduce a std_logic_vector con el número de bits necesario para su
representación completa.
Conclusiones

 Las unidades primarias corresponderán a entidades, paquetes y archivos


de configuración. Mientras que las unidades secundarias serán
arquitecturas y cuerpos de paquetes.

 Una librería se compone de dos partes bien diferenciadas, dependiendo


de las unidades que la formen.

 Cada unidad secundaria deberá estar asociada con una unidad primaria.

Bibliografía

[1] «Lenguaje descripción de hardware: VHDL,» de Generalidades, p.


http://www1.frm.utn.edu.ar/tecnicad1/_private/Apuntes/VHDL.pdf.

[2] «http://vhdl.renerta.com/mobile/source/vhd00067.htm,» [En línea].

[3] U. d'Alacant, VHDL. Lenguaje de descripcion hardware, 2007 Agosto.

También podría gustarte