Autor Tema: banco de pruebas para teclado ps/2  (Leído 3422 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado electrowolf

  • PIC12
  • **
  • Mensajes: 56
banco de pruebas para teclado ps/2
« en: 10 de Octubre de 2009, 12:33:25 »
Hola gente

bien les platico que tengo que entregar para el lunes en la noche un proyecto en vhdl de captura de un teclado ps/2 en una tarjeta spartan 3e, ya realice mi codigo, pero me piden de igual manera que haga un banco de pruebas para simularlo, hice uno, pero mi duda es que no se por que no se  muestra nada mas alla de 120 ns. y otra duda que tengo es que tengo a la salida, pura señal "U"

les paso aqui el codigo que tengo en el banco de pruebas, le agradeceria mucho su ayuda, segun el codigo siguiente, simula pulsar la letra w:


Código: [Seleccionar]
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
USE ieee.std_logic_unsigned.all;
USE ieee.numeric_std.ALL;

ENTITY keyb_ps2_sim_vhd IS
END keyb_ps2_sim_vhd;

ARCHITECTURE behavior OF keyb_ps2_sim_vhd IS

-- Component Declaration for the Unit Under Test (UUT)
COMPONENT keyb_PS2
PORT(
clk : IN std_logic;
dato : IN std_logic;
rst : IN std_logic;         
leds : OUT std_logic_vector(7 downto 0)
);
END COMPONENT;

--Inputs
SIGNAL clk :  std_logic := '0';
SIGNAL dato :  std_logic := '0';
SIGNAL rst :  std_logic := '0';

--Outputs
SIGNAL leds :  std_logic_vector(7 downto 0);

-- Constantes
signal ciclo: time := 40 ns;
signal tsu: time := 15 ns;
signal thld: time := 15 ns;
signal data: time := 30 ns;

BEGIN

-- Instantiate the Unit Under Test (UUT)
uut: keyb_PS2 PORT MAP(
clk => clk,
dato => dato,
rst => rst,
leds => leds
);

tb : PROCESS
BEGIN

loop
clk <= '1';
wait for (ciclo);
clk <= '0';
wait for (ciclo);
end loop;

END PROCESS;

rst <= '1',
'0' after ciclo*3;
dato <= '0',
  '1' after (((ciclo*4)-tsu)+data*4),
  '0' after ((((ciclo*4)-tsu)+data*4)+data*6),
  '1' after (((((ciclo*4)-tsu)+data*4)+data*6)+data),
  '0' after ((((((ciclo*4)-tsu)+data*4)+data*6)+data)+data),
  '1' after (((((((ciclo*4)-tsu)+data*4)+data*6)+data)+data)+data),
  '0' after ((((((((ciclo*4)-tsu)+data*4)+data*6)+data)+data)+data)+data*3),
  '1' after (((((((((ciclo*4)-tsu)+data*4)+data*6)+data)+data)+data)+data*3)+data*3),
  '0' after ((((((((((ciclo*4)-tsu)+data*4)+data*6)+data)+data)+data)+data*3)+data*3)+data*2);

END;


de antemano les agradesco nuevamente toda su ayuda

Desconectado electrowolf

  • PIC12
  • **
  • Mensajes: 56
Re: banco de pruebas para teclado ps/2
« Respuesta #1 en: 12 de Octubre de 2009, 14:49:40 »
Ola chicos....saludos a todos

pues con la novedad de que ya pude simular el keyboard, lo que estaba mal era mi programa principal y no mi banco de pruebas jeje.....de tods maneras muchas gracias pro restr interes al mensaje.


 

anything