problemas con el módulo superior de VHDL

3

Tengo este módulo superior

entity top is
Port 
     ( 
              CLock : in  STD_LOGIC;
           LED : out STD_LOGIC_vector(3 downto 0);
              taster : in  std_logic_vector(3 downto 0);
              teste_led: out std_logic;
              i_led: out std_logic_vector (2 downto 0)
      );
end top;
architecture Behavioral of top is

component game
port    (     
              LED1 : out  STD_LOGIC_VECTOR (3 downto 0);
           CLK : in  STD_LOGIC;
              winLed: out std_logic;
              switch: in std_logic_vector(3 downto 0);
              pointerLED: out std_logic_vector(2 downto 0)      
        );
end component;
begin
game1:  game    port map(LED1 => LED, CLK => Clock, winLed => teste_led, Switch => taster , pointerLed => i_led);
end Behavioral;

que no puedo ver por qué no está funcionando. He probado el módulo del juego por sí mismo, y funciona como debería, pero cuando lo agrego a este módulo superior, ¿no pasa nada en mi FPGA, eventhoug no recibo ningún error o advertencia? Qué estoy haciendo mal.

NET "switch"        LOC = "G18";

    NET "taster<3>" LOC = "K17";
    NET "taster<2>" LOC = "K18";
    NET "taster<1>" LOC = "H18";
    NET "taster<0>" LOC = "G18";

    NET "teste_led"     LOC = "R4";

    NET "i_led<2>"          LOC = "F4";
    NET "i_led<1>"          LOC = "P15";
    NET "i_led<0>"          LOC = "E17";

    NET "LED<3>"        LOC = "K14";
    NET "LED<2>"        LOC = "K15";
    NET "LED<1>"        LOC = "J15";
    NET "LED<0>"        LOC = "J14";


    NET "CLock"         LOC = "B8"; 

Lo hice exactamente así enlace Por lo tanto, estoy muy confundido sobre lo que he hecho mal .. Código completo: enlace

    
pregunta Carlton Banks

1 respuesta

2

Por lo que puedo ver, su código se ve bien. Es difícil decir cuál es el problema sin ver los archivos de informe de compilación.

Las herramientas de Xilinx deben saber cuál es la frecuencia de reloj de su reloj. Esto se puede hacer modificando su restricción de reloj de la siguiente manera:

NET "CLock"         LOC = "B8" | PERIOD = 50 MHz;

Es posible que la primera vez que tuvo la suerte de que el enrutador cumpliera con las especificaciones de tiempo y la segunda vez no lo hiciera.

    
respondido por el stanri

Lea otras preguntas en las etiquetas