El código VHDL no se está compilando

2

Soy nuevo en VHDL y parece que no puedo compilar mi código. He revisado el código lo mejor que he podido, pero no veo nada de malo en mi comprensión básica actual de cómo funciona y me pregunto si alguien podría ayudar. Se supone que el código debe modelar una puerta multifunción configurable NLX1G99 (menos el bit de habilitación)

library ieee;
use ieee.std_logic_1164.all;

entity multifun_gate is
port(
        d,c,b,a: in std_logic;
        y: out std_logic
    );
end multifun_gate;

architecture dataflow of multifun_gate is
begin
    y <= (a and not b and not c and not d) or
         (a and b and not c and not d) or
         (not a and b and c and not d) or
         (a and b and c and not d) or
         (not a and not b and not c and d) or
         (not a and b and not c and d) or
         (not a and not b and c and d) or
         (and and not b and c and d);
end dataflow;
    
pregunta audiFanatic

2 respuestas

3

En la segunda última línea:

  

(y y no b y c y d);

tienes and repetido.

    
respondido por el stanri
1

A juzgar por la imagen en la hoja de datos, escribiría:

sig1 <= a and not c;
sig2 <= b and c;
sig3 <= sig1 or sig2;
y <= d xor sig3;

Mucho más fácil de verificar, creo.

    
respondido por el Martin Thompson

Lea otras preguntas en las etiquetas