retardos en buses vhdl

#1
Amigos, soy nuevo en esto y estoy intentando hacer un retardo en un bus de 8 bits.
No se que estoy haciendo mal.
Este es el código en vhdl
Código:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

-- Uncomment the following library declaration if using
-- arithmetic functions with Signed or Unsigned values
--use IEEE.NUMERIC_STD.ALL;

-- Uncomment the following library declaration if instantiating
-- any Xilinx primitives in this code.
--library UNISIM;
--use UNISIM.VComponents.all;

entity vhdl_74_164 is
    Port ( A : in  STD_LOGIC;
           Clk : in  STD_LOGIC;
           Reset : in  STD_LOGIC;
           Q0 : out  STD_LOGIC_VECTOR (7 downto 0));
end vhdl_74_164;

architecture Behavioral of vhdl_74_164 is
constant k_time : time := 20 ns;

begin
process (Clk) 
begin
if Clk'event and Clk='1' then 
if Reset='1' and A='1' then 
Q0<= 11111111 after k_time;  
elsif Reset='1'and A='0' then 
Q0<= 00000000 after k_time;
else 
Q0<=00000000;
end if;
 end if;
 end process;
end Behavioral;
El error que me aparece es
PHP:
ERROR:HDLParsers:800 - "C:/Users/John P/registro74-164/vhdl-74-164.vhd" Line 47. Type of Q0 is incompatible with type of 11111111.
ERROR:HDLParsers:800 - "C:/Users/John P/registro74-164/vhdl-74-164.vhd" Line 49. Type of Q0 is incompatible with type of 00000000.
ERROR:HDLParsers:800 - "C:/Users/John P/registro74-164/vhdl-74-164.vhd" Line 51. Type of Q0 is incompatible with type of 0
Pd. Lo estoy haciendo en ISE Xilinx

Gracias de antemano :)
 
Última edición por un moderador:
#4
Te puedo preguntar por que queres hacer un retardo de 20ns? Porque lo que escribiste no te va a funcionar.

O sea, te va a funcionar en la simulacion, pero una vez que lo sintetices, el ISE ignora el retardo que pusiste. Un retardo no es sintetizable (por lo menos no en forma directa).
 

Temas similares

Arriba