📄 mouse_tb.vhd
字号:
-- VHDL Test Bench Created from source file mouse.vhd -- 10:55:02 07/01/2002
--
-- Notes:
-- This testbench has been automatically generated using types std_logic and
-- std_logic_vector for the ports of the unit under test. Xilinx recommends
-- that these types always be used for the top-level I/O of a design in order
-- to guarantee that the testbench will bind correctly to the post-implementation
-- simulation model.
--
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
USE ieee.numeric_std.ALL;
ENTITY testbench IS
END testbench;
ARCHITECTURE behavior OF testbench IS
COMPONENT mouse
PORT(
clk : IN std_logic;
reset : IN std_logic;
ps2_clk : INOUT std_logic;
ps2_data : INOUT std_logic;
left_button : OUT std_logic;
right_button : OUT std_logic;
xsign : OUT std_logic;
ysign : OUT std_logic;
x_increment : OUT std_logic_vector(8 downto 0);
y_increment : OUT std_logic_vector(8 downto 0);
error_no_ack : OUT std_logic
);
END COMPONENT;
SIGNAL clk : std_logic;
SIGNAL reset : std_logic;
SIGNAL ps2_clk : std_logic;
SIGNAL ps2_data : std_logic;
SIGNAL left_button : std_logic;
SIGNAL right_button : std_logic;
SIGNAL xsign : std_logic;
SIGNAL ysign : std_logic;
SIGNAL x_increment : std_logic_vector(8 downto 0);
SIGNAL y_increment : std_logic_vector(8 downto 0);
SIGNAL error_no_ack : std_logic;
BEGIN
uut: mouse PORT MAP(
clk => clk,
reset => reset,
ps2_clk => ps2_clk,
ps2_data => ps2_data,
left_button => left_button,
right_button => right_button,
xsign => xsign,
ysign => ysign,
x_increment => x_increment,
y_increment => y_increment,
error_no_ack => error_no_ack
);
PROCESS -- clock process
BEGIN
CLOCK_LOOP : LOOP
clk <= transport '0';
WAIT FOR 4 ns;
clk <= transport '1';
WAIT FOR 4 ns;
WAIT FOR 16 ns;
clk <= transport '0';
WAIT FOR 16 ns;
END LOOP CLOCK_LOOP;
END PROCESS;
process
BEGIN
-- --------------------
reset <= transport '1';
readone <= transport '0';
-- --------------------
WAIT FOR 8 ns; -- Time=8 ns
CHECK_ps2clk('1',8);
CHECK_ps2data('1',8);
-- --------------------
WAIT FOR 72 ns; -- Time=80 ns
reset <= transport '0';
-- --------------------
WAIT FOR 368 ns; -- Time=448 ns
CHECK_ps2clk('0',448);
-- --------------------
WAIT FOR 80 ns; -- Time=528 ns
CHECK_ps2clk('1',528);
-- --------------------
WAIT FOR 80 ns; -- Time=608 ns
CHECK_ps2clk('0',608);
-- --------------------
WAIT FOR 80 ns; -- Time=688 ns
CHECK_ps2clk('1',688);
-- --------------------
WAIT FOR 80 ns; -- Time=768 ns
CHECK_ps2clk('0',768);
-- --------------------
WAIT FOR 80 ns; -- Time=848 ns
CHECK_ps2clk('1',848);
-- --------------------
WAIT FOR 80 ns; -- Time=928 ns
CHECK_ps2clk('0',928);
-- --------------------
WAIT FOR 80 ns; -- Time=1008 ns
CHECK_ps2clk('1',1008);
-- --------------------
WAIT FOR 80 ns; -- Time=1088 ns
CHECK_ps2clk('0',1088);
-- --------------------
WAIT FOR 80 ns; -- Time=1168 ns
CHECK_ps2clk('1',1168);
-- --------------------
WAIT FOR 80 ns; -- Time=1248 ns
CHECK_ps2clk('0',1248);
-- --------------------
WAIT FOR 80 ns; -- Time=1328 ns
CHECK_ps2clk('1',1328);
-- --------------------
WAIT FOR 80 ns; -- Time=1408 ns
CHECK_ps2clk('0',1408);
-- --------------------
WAIT FOR 80 ns; -- Time=1488 ns
CHECK_ps2clk('1',1488);
-- --------------------
WAIT FOR 80 ns; -- Time=1568 ns
CHECK_ps2clk('0',1568);
-- --------------------
WAIT FOR 80 ns; -- Time=1648 ns
CHECK_ps2clk('1',1648);
-- --------------------
WAIT FOR 80 ns; -- Time=1728 ns
CHECK_ps2clk('0',1728);
-- --------------------
WAIT FOR 80 ns; -- Time=1808 ns
CHECK_ps2clk('1',1808);
-- --------------------
WAIT FOR 80 ns; -- Time=1888 ns
CHECK_ps2clk('0',1888);
-- --------------------
WAIT FOR 80 ns; -- Time=1968 ns
CHECK_ps2clk('1',1968);
CHECK_ps2data('1',1968);
-- --------------------
WAIT FOR 80 ns; -- Time=2048 ns
CHECK_ps2clk('0',2048);
-- --------------------
WAIT FOR 80 ns; -- Time=2128 ns
CHECK_ps2clk('1',2128);
-- --------------------
WAIT FOR 80 ns; -- Time=2208 ns
CHECK_ps2clk('0',2208);
CHECK_ps2data('0',2208);
-- --------------------
WAIT FOR 80 ns; -- Time=2288 ns
CHECK_ps2clk('1',2288);
-- --------------------
WAIT FOR 40 ns; -- Time=2328 ns
CHECK_ps2data('1',2328);
-- --------------------
WAIT FOR 160 ns; -- Time=2488 ns
CHECK_ps2data('0',2488);
-- --------------------
WAIT FOR 40 ns; -- Time=2528 ns
CHECK_ps2clk('0',2528);
CHECK_ps2data('0',2528);
-- --------------------
WAIT FOR 80 ns; -- Time=2608 ns
CHECK_ps2clk('1',2608);
-- --------------------
WAIT FOR 80 ns; -- Time=2688 ns
CHECK_ps2clk('0',2688);
-- --------------------
WAIT FOR 80 ns; -- Time=2768 ns
CHECK_ps2clk('1',2768);
-- --------------------
WAIT FOR 80 ns; -- Time=2848 ns
CHECK_ps2clk('0',2848);
-- --------------------
WAIT FOR 80 ns; -- Time=2928 ns
CHECK_ps2clk('1',2928);
-- --------------------
WAIT FOR 40 ns; -- Time=2968 ns
CHECK_ps2data('1',2968);
-- --------------------
WAIT FOR 40 ns; -- Time=3008 ns
CHECK_ps2clk('0',3008);
-- --------------------
WAIT FOR 80 ns; -- Time=3088 ns
CHECK_ps2clk('1',3088);
-- --------------------
WAIT FOR 40 ns; -- Time=3128 ns
CHECK_ps2data('0',3128);
-- --------------------
WAIT FOR 40 ns; -- Time=3168 ns
CHECK_ps2clk('0',3168);
-- --------------------
WAIT FOR 80 ns; -- Time=3248 ns
CHECK_ps2clk('1',3248);
-- --------------------
WAIT FOR 40 ns; -- Time=3288 ns
CHECK_ps2data('1',3288);
-- --------------------
WAIT FOR 40 ns; -- Time=3328 ns
CHECK_ps2clk('0',3328);
-- --------------------
WAIT FOR 80 ns; -- Time=3408 ns
CHECK_ps2clk('1',3408);
-- --------------------
WAIT FOR 80 ns; -- Time=3488 ns
CHECK_ps2clk('0',3488);
-- --------------------
WAIT FOR 80 ns; -- Time=3568 ns
CHECK_ps2clk('1',3568);
-- --------------------
WAIT FOR 40 ns; -- Time=3608 ns
CHECK_ps2data('0',3608);
-- --------------------
WAIT FOR 40 ns; -- Time=3648 ns
CHECK_ps2clk('0',3648);
-- --------------------
WAIT FOR 80 ns; -- Time=3728 ns
CHECK_ps2clk('1',3728);
-- --------------------
WAIT FOR 80 ns; -- Time=3808 ns
CHECK_ps2clk('0',3808);
-- --------------------
WAIT FOR 80 ns; -- Time=3888 ns
CHECK_ps2clk('1',3888);
-- --------------------
WAIT FOR 80 ns; -- Time=3968 ns
CHECK_ps2clk('0',3968);
-- --------------------
WAIT FOR 80 ns; -- Time=4048 ns
CHECK_ps2clk('1',4048);
-- --------------------
WAIT FOR 40 ns; -- Time=4088 ns
CHECK_ps2data('1',4088);
-- --------------------
WAIT FOR 40 ns; -- Time=4128 ns
CHECK_ps2clk('0',4128);
-- --------------------
WAIT FOR 80 ns; -- Time=4208 ns
CHECK_ps2clk('1',4208);
-- --------------------
WAIT FOR 120 ns; -- Time=4328 ns
CHECK_ps2data('0',4328);
-- --------------------
WAIT FOR 40 ns; -- Time=4368 ns
CHECK_ps2clk('0',4368);
-- --------------------
WAIT FOR 80 ns; -- Time=4448 ns
CHECK_ps2clk('1',4448);
-- --------------------
WAIT FOR 40 ns; -- Time=4488 ns
CHECK_ps2data('1',4488);
-- --------------------
WAIT FOR 40 ns; -- Time=4528 ns
CHECK_ps2clk('0',4528);
-- --------------------
WAIT FOR 80 ns; -- Time=4608 ns
CHECK_ps2clk('1',4608);
-- --------------------
WAIT FOR 80 ns; -- Time=4688 ns
CHECK_ps2clk('0',4688);
-- --------------------
WAIT FOR 80 ns; -- Time=4768 ns
CHECK_ps2clk('1',4768);
-- --------------------
WAIT FOR 80 ns; -- Time=4848 ns
CHECK_ps2clk('0',4848);
-- --------------------
WAIT FOR 80 ns; -- Time=4928 ns
CHECK_ps2clk('1',4928);
-- --------------------
WAIT FOR 80 ns; -- Time=5008 ns
CHECK_ps2clk('0',5008);
-- --------------------
WAIT FOR 80 ns; -- Time=5088 ns
CHECK_ps2clk('1',5088);
-- --------------------
WAIT FOR 40 ns; -- Time=5128 ns
CHECK_ps2data('0',5128);
-- --------------------
WAIT FOR 40 ns; -- Time=5168 ns
CHECK_ps2clk('0',5168);
-- --------------------
WAIT FOR 80 ns; -- Time=5248 ns
CHECK_ps2clk('1',5248);
-- --------------------
WAIT FOR 80 ns; -- Time=5328 ns
CHECK_ps2clk('0',5328);
-- --------------------
WAIT FOR 80 ns; -- Time=5408 ns
CHECK_ps2clk('1',5408);
-- --------------------
WAIT FOR 40 ns; -- Time=5448 ns
CHECK_ps2data('1',5448);
-- --------------------
WAIT FOR 40 ns; -- Time=5488 ns
CHECK_ps2clk('0',5488);
-- --------------------
WAIT FOR 80 ns; -- Time=5568 ns
CHECK_ps2clk('1',5568);
-- --------------------
WAIT FOR 80 ns; -- Time=5648 ns
CHECK_ps2clk('0',5648);
-- --------------------
WAIT FOR 80 ns; -- Time=5728 ns
CHECK_ps2clk('1',5728);
-- --------------------
WAIT FOR 40 ns; -- Time=5768 ns
CHECK_ps2data('0',5768);
-- --------------------
WAIT FOR 40 ns; -- Time=5808 ns
CHECK_ps2clk('0',5808);
-- --------------------
WAIT FOR 80 ns; -- Time=5888 ns
CHECK_ps2clk('1',5888);
-- --------------------
WAIT FOR 40 ns; -- Time=5928 ns
CHECK_ps2data('1',5928);
-- --------------------
WAIT FOR 40 ns; -- Time=5968 ns
CHECK_ps2clk('0',5968);
CHECK_ps2data('1',5968);
-- --------------------
WAIT FOR 80 ns; -- Time=6048 ns
CHECK_ps2clk('1',6048);
-- --------------------
WAIT FOR 160 ns; -- Time=6208 ns
CHECK_ps2clk('0',6208);
-- --------------------
WAIT FOR 80 ns; -- Time=6288 ns
CHECK_ps2clk('1',6288);
-- --------------------
WAIT FOR 80 ns; -- Time=6368 ns
CHECK_ps2clk('0',6368);
-- --------------------
WAIT FOR 80 ns; -- Time=6448 ns
CHECK_ps2clk('1',6448);
-- --------------------
WAIT FOR 80 ns; -- Time=6528 ns
CHECK_ps2clk('0',6528);
-- --------------------
WAIT FOR 80 ns; -- Time=6608 ns
CHECK_ps2clk('1',6608);
-- --------------------
WAIT FOR 80 ns; -- Time=6688 ns
CHECK_ps2clk('0',6688);
-- --------------------
WAIT FOR 80 ns; -- Time=6768 ns
CHECK_ps2clk('1',6768);
-- --------------------
WAIT FOR 80 ns; -- Time=6848 ns
CHECK_ps2clk('0',6848);
-- --------------------
WAIT FOR 80 ns; -- Time=6928 ns
CHECK_ps2clk('1',6928);
-- --------------------
WAIT FOR 80 ns; -- Time=7008 ns
CHECK_ps2clk('0',7008);
-- --------------------
WAIT FOR 80 ns; -- Time=7088 ns
CHECK_ps2clk('1',7088);
-- --------------------
WAIT FOR 80 ns; -- Time=7168 ns
CHECK_ps2clk('0',7168);
-- --------------------
WAIT FOR 80 ns; -- Time=7248 ns
CHECK_ps2clk('1',7248);
-- --------------------
WAIT FOR 40 ns; -- Time=7288 ns
CHECK_ps2data('0',7288);
-- --------------------
WAIT FOR 40 ns; -- Time=7328 ns
CHECK_ps2clk('0',7328);
-- --------------------
WAIT FOR 80 ns; -- Time=7408 ns
CHECK_ps2clk('1',7408);
-- --------------------
WAIT FOR 40 ns; -- Time=7448 ns
CHECK_ps2data('1',7448);
-- --------------------
WAIT FOR 40 ns; -- Time=7488 ns
CHECK_ps2clk('0',7488);
-- --------------------
WAIT FOR 80 ns; -- Time=7568 ns
CHECK_ps2clk('1',7568);
-- --------------------
WAIT FOR 80 ns; -- Time=7648 ns
CHECK_ps2clk('0',7648);
-- --------------------
WAIT FOR 80 ns; -- Time=7728 ns
CHECK_ps2clk('1',7728);
-- --------------------
WAIT FOR 40 ns; -- Time=7768 ns
CHECK_ps2data('1',7768);
-- --------------------
WAIT FOR 40 ns; -- Time=7808 ns
CHECK_ps2clk('0',7808);
-- --------------------
WAIT FOR 80 ns; -- Time=7888 ns
CHECK_ps2clk('1',7888);
-- --------------------
WAIT FOR 456 ns; -- Time=8344 ns
-- --------------------
end process;
-- *** Test Bench - User Defined Section ***
--tb : PROCESS
--BEGIN
-- wait; -- will wait forever
--END PROCESS;
-- *** End Test Bench - User Defined Section ***
END;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -