5 votos

VHDL: bucle Infinito constante, pero no hay problema con el literal

Escribí un Testbench para una arquitectura sencilla. Cuando yo uso el literal "1 ms" en lugar de la constante tc: tiempo := 1 ms todo funciona. Pero de lo contrario GHDL stucks en un bucle infinito.

Se puede ver un error en el código, o es esto un error de GHDL?

library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;

entity s is
port
(
    a: in std_logic;
    b: out std_logic
);
end s;

architecture v1 of s is
begin
b <= not a;
end v1;

library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;

entity testbench IS
END testbench;

architecture v1 of testbench is
component s
    port
    (
        a: in std_logic;
        b: out std_logic;
    );
end component;

signal a: std_logic := '0';
signal b: std_logic := '0';
constant ct: time := 1 ms;
begin

    a <= not a after ct; --constants not working?
    -- but no problem with a <= not a after 1 ms;

dut: s
    port map
    (
        a => a,
        b => b,
    );
end architecture;

7voto

Brian Drummond Puntos 27798

La versión de GHDL? Acabo de probar el ejemplo (fijación de dos errores tipográficos mencionado por los "daños"), y ambos aparecen formas de hacer la misma cosa.

Por cierto, +1 para una sencilla prueba.

Estoy usando el siguiente:

uname -a
Linux Gannet 3.2.0-4-amd64 #1 SMP Debian 3.2.39-2 x86_64 GNU/Linux

 ghdl --version
GHDL 0.30dev (20100112) [Sokcho edition]
 Compiled with GNAT Version: 4.7.2

 gtkwave --version
GTKWave Analyzer v3.3.46 (w)1999-2012 BSI

y los comandos:

ghdl -a s.vhd
ghdl -a v1.vhd
ghdl -e testbench
./testbench --vcd=test --stop-time=50ms
gtkwave test

El resultado se parece a esto: enter image description here

Ahora esta versión de GHDL actualmente sólo está disponible como un paquete experimental de Debian (Ubuntu, etc) - para otras distribuciones y sistemas operativos está disponible solamente en la construcción de la fuente : ver "sección" instrucciones en el mensaje 4 en este GHDL informe de fallo de página para más detalles. Sin embargo es mi creencia de que GHDL 0.29 debe trabajar en su caso; las versiones anteriores puede que no.

ACTUALIZACIÓN: esta ha sido la primera prueba de GHDL construido con gcc4.8 ... se ve bien por ahora!

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