6 votos

¿Que herramientas soportan para bibliotecas VHDL?

En varios lugares a través de la red, he leído que (algunas) las herramientas de síntesis de no respetar VHDL bibliotecas. Estas herramientas acaba de lanzar todas las entidades y paquetes en un único espacio de nombres, de modo que usted no puede tener mylib.someEntity y yourLib.someEntity en el mismo proyecto. Sé que Altera Quartus ese problema la última vez que revisé (pero eso fue hace un rato). Me temo que algunas de la información en archivos usenet podría ser obsoleta, por lo que estoy mirando para arriba-a-fecha de la información.

También creo que la mayoría de los simuladores de apoyo a las bibliotecas de hoy.

Mi pregunta: Que las herramientas de síntesis de apoyo a los VHDL bibliotecas y los que no? Si hay simuladores que no apoyar a las bibliotecas, también me gustaría oír eso.

Puede usted por favor mencionar también los números de versión de las herramientas de referencia en el futuro?

26voto

codebunny Puntos 201

Utilizo las siguientes herramientas que tienen total soporte de la biblioteca:

  • Riviera-PRO (de al menos la versión 2006.02 en adelante)
  • Xilinx ISE (de al menos la versión 10 en adelante)
  • Quartus (de al menos la versión 10.0; Dos o más entidades con el mismo nombre no puede ser utilizado, sin embargo, sólo los paquetes)
  • Synplify (al menos desde la versión 9.0 en adelante)

La única salvedad es que la XST herramienta en el Xilinx toolchain es incapaz de realizar automático de ordenación de archivos en proyectos donde los nombres de entidad existen en varias bibliotecas (ungraciously se queda atascado en bucle para siempre tratando de resolver las dependencias).

2voto

Mark Biek Puntos 41769

Quartus utiliza una única biblioteca por defecto, pero pueden usar bibliotecas de diferentes si es necesario:

http://quartushelp.altera.com/9.1/mergedProjects/HDL/VHDL/vhdl_pro_libraries.htm

No se puede utilizar dos o más entidades con el mismo nombre, sin embargo, sólo los paquetes.

1voto

Martin Thompson Puntos 6509

Synplify E2010.09-SP1-1 está bien: se puede indicar qué biblioteca para compilar cada archivo en el archivo de proyecto

Sigue a código de ejemplo para que otros intentar (no mi normal estilo de codificación, normalmente no utilizaría mapeo posicional, pero en esta situación simple parecía un poco más limpio).

La puerta-vista muestra dos LUTs con una y y otra con un XOR.

lib1.vhd

library ieee;
use ieee.std_logic_1164.all;
entity test is
    port (a, b : in  std_logic;
          o    : out std_logic);
end entity test;
architecture a1 of test is
begin
    o <= a and b;
end architecture a1;

lib2.vhd

library ieee;
use ieee.std_logic_1164.all;
entity test is
    port (
        c, d : in  std_logic;
        o    : out std_logic);
end entity test;
architecture a1 of test is
begin
    o <= c xor d;
end architecture a1;

Top.vhd

library ieee;
use ieee.std_logic_1164.all;

library lib1;
library lib2;

entity top is
    port (
        a, b, c, d : in std_logic;
        o1, o2     : out std_logic);
end entity top;

architecture a1 of top is
begin  -- architecture a1
    test_1: entity lib1.test port map (a, b, o1);
    test_2: entity lib2.test port map (c, d, o2);
end architecture a1;

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