ERROR: Xst: 827 - mientras se sintetiza el código

0

Estoy tratando de sintetizar el código a continuación usando Xlinx ISE 14.3 pero obtengo un error inferior. Podría simularlo con éxito. Por favor, ayuda ya que soy un novato en VHDL.

  

ERROR: Xst: 827 - "D: /programs_xlinx/BZFAD/DFF.vhd" línea 42: La señal Q no se puede sintetizar, mala descripción síncrona. El estilo de descripción que está utilizando para describir un elemento síncrono (registro, memoria, etc.) no se admite en la versión actual del software.

Abajo está el código.

Entity DFF is
  Port (
    reset : in STD_LOGIC;
    clk   : in  STD_LOGIC;
    D     : in  STD_LOGIC;
    Q     : out  STD_LOGIC
  );
end DFF;

Architecture Behavioral of DFF is
begin
  process(clk,reset)
  begin
    if reset='1' then
      Q <= '0';    -- clear register
    end if;
    if (clk'event and clk='1') then Q<=D; --positive edge of clock is used
    end if;
  end process;
end Behavioral;
    
pregunta user40295

1 respuesta

4

El sintetizador está confundido porque si reset es alto y hay un margen ascendente en el reloj, entonces ha pedido que ocurran dos cosas diferentes para Q . Debe cambiar las dos declaraciones separadas if a un tipo de estructura if... else if ... .

    
respondido por el Joe Hass

Lea otras preguntas en las etiquetas