Diferencia entre revisiones de «Programación en VHDL/Otros conceptos»

Contenido eliminado Contenido añadido
Explicacion de Punteros en VHDL
Línea 10:
 
==Punteros en VHDL==
Algunos lenguajes de programación permiten reservar espacio de memoria de manera dinámica mediante ''punteros''. Como es sabido, un puntero es una dirección de memoria que apunta a una variable. En VHDL el tipo de datos que permite reservar memoria es a través de la palabra reservada '''ACCESS''', la forma de de definir un puntero es la siguiente.
 
<source lang=vhdl>
TYPE tipo_puntero IS ACCESS tipo_elemento;
VARIABLE p : tipo_puntero;
</source>
 
La variable ''p'' corresponde a un puntero que apunta a variables del tipo ''tipo_elemento''. Los punteros sólo pueden ser variables, en ningún caso serán señales, por consiguiente solo podrán estar dentro de un proceso ('''PROCESS'''). Por otro lado, la creación de un puntero se realiza mediante la palabra '''NEW'''. Un ejemplo para declarar un puntero es el siguiente.
 
----
<source lang=vhdl>
TYPE punteroA IS ACCESS integer RANGE 0 TO 255;
VARIABLE p : punteroA;
....
p := NEW integer RANGE 0 TO 255;
p.ALL := 45;
</source>
----
 
Para acceder al contenido de la drección apuntada se utiliza la palabra '''ALL''', si no se inicializa el valor que toma, por defecto tomará el valor '''NULL'''. Si se desea liberar la memoria utilizada por un puntero se hará uso del procedimiento ''deallocate''. Para el caso anterior se realizaría de la siguiente forma.
 
----
<source lang=vhdl>
Deallocate(p);
</source>
----
 
==Ficheros==