vhdl instanciación recursiva con paquetes

1

Tengo un sistema en el que un diseño y un diseño secundario tienen arquitecturas diferentes. de la misma entidad; Así que este es un caso de instanciación recursiva. Primero la configuración:

-- common entity
entity MyEntity is port(A : in  integer; B : out integer);end;
-- first architecture
architecture MyArc1 of MyEntity is begin B<=A+1;end;
-- second architecture intneded to include the first
architecture MyArc2  of MyEntity is
 component MyEntity port(A : in  integer; B : out integer);end component;
 signal C : integer;
begin
 u1 : MyEntity port map (A,C);
 u2 : MyEntity port map (C,B);
end;

lo anterior funciona bien con Modelsim. El problema surge cuando intento mover el declaración del componente en un paquete:

-- package that declares components
package MyPackage is
 component MyEntity port(A : in  integer; B : out integer);end component;
end;
-- second architecture as above but using the package
use work.MyPackage.all;
architecture MyArc2  of MyEntity is
 -- component declaration moved into package
 signal C : integer;
begin
 u1 : MyEntity port map (A,C);
 u2 : MyEntity port map (C,B);
end;

Por alguna razón, a Modelsim no le gusta esto: El identificador "myentity" no identifica una declaración de componente

No veo por qué tiene problemas con esto ahora. Mi experiencia con Modelsim es que es bueno para apoyar el estándar; Entonces, ¿hay una sutileza aquí o hace ¿Modelsim tiene un problema?

Gracias,

    
pregunta Y M

0 respuestas

Lea otras preguntas en las etiquetas