7 votos

¿Cómo puedo construir y utilizar mi propia biblioteca VHDL?

Estoy intentando crear una biblioteca de componentes en VHDL. Tengo muchos archivos fuente .vhd con diferentes componentes. Idealmente me gustaría ser capaz de instanciarlos en un diseño utilizando el mismo método que una biblioteca estándar.(o similar)

ejemplo:

library my_lib;
use my_lib.something.all;

Y construir un diseño utilizando estos componentes estructuralmente. Idealmente me gustaría mantener estos como archivos separados porque hay archivos de símbolos personalizados (bds) asociados.

Los símbolos sólo importan cuando se utiliza Active-HDL (10.1). ¡Sería genial poder extraer estos archivos y utilizarlos en el archivo de diagrama de bloques!

Estaría usando Aldec Active-HDL(10.1), Xilinx Vivado(2014.2), y Altera Quartus (9.1 web).

Cualquier ayuda será muy apreciada.

3voto

Stphnalan Puntos 6

Xilinx Vivado :

Puede crear/cambiar la biblioteca en la que reside un archivo en Vivado haciendo clic en el archivo y, a continuación, haciendo clic en el botón situado a la derecha de la etiqueta Biblioteca en el Source File Properties ficha. Puede crear una biblioteca asignando un archivo a una biblioteca que no existe.

Altera Quartus II :

Puede especificar la biblioteca en Properties por ejemplo: enter image description here También puede modificar el archivo de configuración de Quartus II (".qsf") para el proyecto utilizando set_global_assignment opciones.

2voto

Paebbels Puntos 1646

Puede trasladar sus declaraciones de componentes a un paquete VHDL. Este paquete es cargado por un use declaración.

Una biblioteca no puede ser creada por un archivo, pero todas las herramientas -que yo conozca- tienen la capacidad de crear una biblioteca en el proyecto y asignarles archivos. O algunas herramientas tienen un campo de propiedad de archivo para asignar el archivo seleccionado a una biblioteca.

Si su intención es ahorrarse las declaraciones de componentes en la cabecera de la arquitectura, también existe una "nueva" sintaxis para especificar el nombre completo de una entidad:

myinst : entity mylib.myentity
  port map (
  ...
  );

Basta con nombrar la biblioteca utilizada como la conocida IEEE:

library mylib;

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X