Hola a todos.
¿Alguien sabe si el comando after solo funciona en la simulación?.. he estado tratando de utilizarlo, y funciona muy bien en la simulación, pero no trabaja cuando se programa la FPGA.
¿alguien sabe si es que es solo aplicable a señales y no fuinciona bien apra entradas y salidas?
El código con el que he estado probando es muy sencillo:
---------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------
use IEEE.STD_LOGIC_1164.ALL;
entity con_retardos is
Port ( ctrl : in STD_LOGIC;
a : in STD_LOGIC;
b : in STD_LOGIC;
salida : out STD_LOGIC);
end con_retardos;
architecture Behavioral of con_retardos is
constant SIM_TIME : time := 1000 ms;
BEGIN
with ctrl select
salida <= TRANSPORT a after SIM_TIME when '0',
b after SIM_TIME when '1',
'0' when others;
end Behavioral;
---------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------
En la simulación la señal "salida" aparece después de un retardo, pero cuando programo la FPGA no funciona. Yo pensaba que este comando trabajaba conectando varios buffers en serie para cuadrar los retardos.
Gracias por adelantado.
¿Alguien sabe si el comando after solo funciona en la simulación?.. he estado tratando de utilizarlo, y funciona muy bien en la simulación, pero no trabaja cuando se programa la FPGA.
¿alguien sabe si es que es solo aplicable a señales y no fuinciona bien apra entradas y salidas?
El código con el que he estado probando es muy sencillo:
---------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------
use IEEE.STD_LOGIC_1164.ALL;
entity con_retardos is
Port ( ctrl : in STD_LOGIC;
a : in STD_LOGIC;
b : in STD_LOGIC;
salida : out STD_LOGIC);
end con_retardos;
architecture Behavioral of con_retardos is
constant SIM_TIME : time := 1000 ms;
BEGIN
with ctrl select
salida <= TRANSPORT a after SIM_TIME when '0',
b after SIM_TIME when '1',
'0' when others;
end Behavioral;
---------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------
En la simulación la señal "salida" aparece después de un retardo, pero cuando programo la FPGA no funciona. Yo pensaba que este comando trabajaba conectando varios buffers en serie para cuadrar los retardos.
Gracias por adelantado.