martes, 28 de mayo de 2013

Empaquetamiento en VHDL (packaging on VHDL)


Una de las formas mas útiles de trabajar con VHDL es usando una técnica llamada “empaquetamiento” (packaging) que se basa en la filosofia de reutilizar el código que hayas escrito en otros proyectos.

Esto tiene muchas ventajas, ya que no solo te reduces el tiempo de trabajo, sino que tienes una herramienta que, como ya has utilizado, ya está probada.


Para empezar, estos ejemplos funcionan bajo Quartus, no estoy seguro si funciona en Xilinx, pero en un futuro, voy a implementarlo también.


Bueno, comencemos:


1. Creamos un proyecto nuevo, si no sabes como hacerlo, échale un vistazo a este tutorial.

2. Abrimos una nueva hoja de tipo VHDL y a continuación escribimos lo siguiente.


Lo guardo como “negador.vhd”. Como ustedes pueden ver, la primera parte, hasta la linea 8 el código es idéntico al que utilizamos para crear una entidad cualquiera. pero para reutilizarlo, debemos aumentar desde la linea 16 par abajo.


3. Compilamos de nuevo, y el paquete o package se habrá creado inmediatamente.


Ahora vamos a utilizar el mismo archivo en un nuevo proyecto para ver si funciona.

1. Creamos OTRO proyecto, donde escribiremos un circuito combinacional y reutilizaremos el negador creado anteriormente.

2. Abrimos una nueva hoja de tipo VHDL, y a continuacion agregamos el siguiente codigo.como ustedes pueden ver, el circuito empaquetado ahora esta siendo mapeado en el programa actual.


3. Finalmente solo falta agregar al archivo negador_pack en nuestro proyecto, para que pueda estar en la libreria work, que es nuestra libreria de trabajo.Para esto, debemos ir a Project -> Add/Remove Files In Project y buscar el archivo en el proyecto anterior o finalmente exportar el archivo negador.vhd al proyecto actual y agregarlo de igual manera.

4. Ya con este ultimo paso, estamos listos para compilar el proyecto. le damos CTRL+L.

5. It Works!

Por ultimo, puedes descargar el codigo de ejemplo aqui

Espero les haya sido útil.

MrSonels



No hay comentarios:

Publicar un comentario