retardos en buses vhdl

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:
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).
 
Hola a todos..! Me gustaría saber como puedo hacer un retardo en vhdl; lo necesito para programar un receptor..! gracias
 
Arriba