Integer en VHDL
Una cuestión sobre la que surgen muchas dudas al aprender VHDL es el uso de valores enteros (integer) frente a los vectores de bits clásicos o std_logic_vector.
Esto es debido a que un diseño digital trabaja internamente únicamente con bits, por lo que cualquier otro tipo de datos que utilicemos sera una abstracción que luego será traducida a vectores de bits. Es por tanto imprescindible comprender el significado de cada tipo de datos y saber cómo se realiza la conversión desde los mismos a bits y viceversa.
El tipo de datos básico en VHDL es el std_logic y el std_logic_vector que representan uno o varios bits. El significado que tendrán estos bits dependerá de nuestro diseño y de las librerías que utilicemos. Por ejemplo si utilizamos la librería ieee.numeric_std luego podremos declarar si los valores utilizamos son números con signo o sin signo de la siguiente forma:
A la hora de definir los rangos hay que tener en cuenta que los datos se representarán internamente en complemento a dos.
Una vez definidos los datos ya podemos trabajar con ellos, sumarlos, incrementarlos, o lo que queramos. Eso si, para poder operar con ellos, deben estar definidos sobre el mismo rango, ya que si no nos dará un error el compilador y debemos usar una librería que nos permita manejarlo.
Bibliografía: vhdl_es. (2019a, 1 de julio). Integer VHDL - VHDL.es. VHDL.es. https://vhdl.es/integer/
Comentarios
Publicar un comentario