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;