- more documentation
- more tests Committed on the Free edition of March Hare Software CVSNT Server. Upgrade to CVS Suite for more features and support: http://march-hare.com/cvsnt/ git-svn-id: http://moon:8086/svn/vhdl/trunk@602 cc03376c-175c-47c8-b038-4cd826a8556b
This commit is contained in:
@@ -173,33 +173,62 @@ STIMULUS: process
|
|||||||
RST_O <= '0';
|
RST_O <= '0';
|
||||||
wait for 60*CLK_PERIOD;
|
wait for 60*CLK_PERIOD;
|
||||||
|
|
||||||
-- 8 single cycles
|
-- Enable master
|
||||||
CYC_O <= '1';
|
CYC_O <= '1';
|
||||||
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
STB_O <= '1';
|
STB_O <= '1';
|
||||||
WE_O <= '1';
|
WE_O <= '1';
|
||||||
SDAT_O <= X"0000_0001";
|
SDAT_O <= X"0000_0002";
|
||||||
ADDR_O <= X"0000_0100";
|
ADDR_O <= X"0000_0000";
|
||||||
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
STB_O <= '0';
|
STB_O <= '0';
|
||||||
|
|
||||||
|
-- Read status
|
||||||
CYC_O <= '1';
|
CYC_O <= '1';
|
||||||
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
STB_O <= '1';
|
STB_O <= '1';
|
||||||
WE_O <= '1';
|
WE_O <= '0';
|
||||||
SDAT_O <= X"0000_0000";
|
ADDR_O <= X"0000_0000";
|
||||||
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
|
STB_O <= '0';
|
||||||
|
|
||||||
|
-- Read resolution X
|
||||||
|
CYC_O <= '1';
|
||||||
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
|
STB_O <= '1';
|
||||||
|
WE_O <= '0';
|
||||||
|
ADDR_O <= X"0000_0018";
|
||||||
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
|
STB_O <= '0';
|
||||||
|
|
||||||
|
-- Read resolution Y
|
||||||
|
CYC_O <= '1';
|
||||||
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
|
STB_O <= '1';
|
||||||
|
WE_O <= '0';
|
||||||
|
ADDR_O <= X"0000_001C";
|
||||||
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
|
STB_O <= '0';
|
||||||
|
|
||||||
|
-- Read Cursor X
|
||||||
|
CYC_O <= '1';
|
||||||
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
|
STB_O <= '1';
|
||||||
|
WE_O <= '0';
|
||||||
ADDR_O <= X"0000_0008";
|
ADDR_O <= X"0000_0008";
|
||||||
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
STB_O <= '0';
|
STB_O <= '0';
|
||||||
|
|
||||||
|
-- Read Cursor Y
|
||||||
|
CYC_O <= '1';
|
||||||
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
STB_O <= '1';
|
STB_O <= '1';
|
||||||
WE_O <= '1';
|
WE_O <= '0';
|
||||||
SDAT_O <= X"0000_0000";
|
ADDR_O <= X"0000_000C";
|
||||||
ADDR_O <= X"0000_0010";
|
|
||||||
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
STB_O <= '0';
|
STB_O <= '0';
|
||||||
|
|
||||||
|
-- Write char 1
|
||||||
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
STB_O <= '1';
|
STB_O <= '1';
|
||||||
WE_O <= '1';
|
WE_O <= '1';
|
||||||
@@ -208,11 +237,82 @@ STIMULUS: process
|
|||||||
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
STB_O <= '0';
|
STB_O <= '0';
|
||||||
|
|
||||||
|
-- Read char 1
|
||||||
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
|
STB_O <= '1';
|
||||||
|
WE_O <= '0';
|
||||||
|
ADDR_O <= X"0000_0004";
|
||||||
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
|
STB_O <= '0';
|
||||||
|
|
||||||
|
-- Write char 2
|
||||||
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
STB_O <= '1';
|
STB_O <= '1';
|
||||||
WE_O <= '1';
|
WE_O <= '1';
|
||||||
SDAT_O <= X"0000_0035";
|
SDAT_O <= X"0000_0045";
|
||||||
ADDR_O <= X"0000_0020";
|
ADDR_O <= X"0000_0004";
|
||||||
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
|
STB_O <= '0';
|
||||||
|
|
||||||
|
-- Read char 2
|
||||||
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
|
STB_O <= '1';
|
||||||
|
WE_O <= '0';
|
||||||
|
ADDR_O <= X"0000_0004";
|
||||||
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
|
STB_O <= '0';
|
||||||
|
|
||||||
|
-- Read Cursor X
|
||||||
|
CYC_O <= '1';
|
||||||
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
|
STB_O <= '1';
|
||||||
|
WE_O <= '0';
|
||||||
|
ADDR_O <= X"0000_0008";
|
||||||
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
|
STB_O <= '0';
|
||||||
|
|
||||||
|
-- Read Cursor Y
|
||||||
|
CYC_O <= '1';
|
||||||
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
|
STB_O <= '1';
|
||||||
|
WE_O <= '0';
|
||||||
|
ADDR_O <= X"0000_000C";
|
||||||
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
|
STB_O <= '0';
|
||||||
|
|
||||||
|
-- Set Cursor X
|
||||||
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
|
STB_O <= '1';
|
||||||
|
WE_O <= '1';
|
||||||
|
SDAT_O <= X"0000_0012";
|
||||||
|
ADDR_O <= X"0000_0008";
|
||||||
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
|
STB_O <= '0';
|
||||||
|
|
||||||
|
-- Set Cursor Y
|
||||||
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
|
STB_O <= '1';
|
||||||
|
WE_O <= '1';
|
||||||
|
SDAT_O <= X"0000_0014";
|
||||||
|
ADDR_O <= X"0000_000C";
|
||||||
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
|
STB_O <= '0';
|
||||||
|
|
||||||
|
-- Read Cursor X
|
||||||
|
CYC_O <= '1';
|
||||||
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
|
STB_O <= '1';
|
||||||
|
WE_O <= '0';
|
||||||
|
ADDR_O <= X"0000_0008";
|
||||||
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
|
STB_O <= '0';
|
||||||
|
|
||||||
|
-- Read Cursor Y
|
||||||
|
CYC_O <= '1';
|
||||||
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
|
STB_O <= '1';
|
||||||
|
WE_O <= '0';
|
||||||
|
ADDR_O <= X"0000_000C";
|
||||||
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
STB_O <= '0';
|
STB_O <= '0';
|
||||||
|
|
||||||
|
|||||||
@@ -173,33 +173,62 @@ STIMULUS: process
|
|||||||
RST_O <= '0';
|
RST_O <= '0';
|
||||||
wait for 60*CLK_PERIOD;
|
wait for 60*CLK_PERIOD;
|
||||||
|
|
||||||
-- 8 single cycles
|
-- Enable master
|
||||||
CYC_O <= '1';
|
CYC_O <= '1';
|
||||||
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
STB_O <= '1';
|
STB_O <= '1';
|
||||||
WE_O <= '1';
|
WE_O <= '1';
|
||||||
SDAT_O <= X"0000_0001";
|
SDAT_O <= X"0000_0002";
|
||||||
ADDR_O <= X"0000_0100";
|
ADDR_O <= X"0000_0000";
|
||||||
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
STB_O <= '0';
|
STB_O <= '0';
|
||||||
|
|
||||||
|
-- Read status
|
||||||
CYC_O <= '1';
|
CYC_O <= '1';
|
||||||
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
STB_O <= '1';
|
STB_O <= '1';
|
||||||
WE_O <= '1';
|
WE_O <= '0';
|
||||||
SDAT_O <= X"0000_0000";
|
ADDR_O <= X"0000_0000";
|
||||||
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
|
STB_O <= '0';
|
||||||
|
|
||||||
|
-- Read resolution X
|
||||||
|
CYC_O <= '1';
|
||||||
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
|
STB_O <= '1';
|
||||||
|
WE_O <= '0';
|
||||||
|
ADDR_O <= X"0000_0018";
|
||||||
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
|
STB_O <= '0';
|
||||||
|
|
||||||
|
-- Read resolution Y
|
||||||
|
CYC_O <= '1';
|
||||||
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
|
STB_O <= '1';
|
||||||
|
WE_O <= '0';
|
||||||
|
ADDR_O <= X"0000_001C";
|
||||||
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
|
STB_O <= '0';
|
||||||
|
|
||||||
|
-- Read Cursor X
|
||||||
|
CYC_O <= '1';
|
||||||
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
|
STB_O <= '1';
|
||||||
|
WE_O <= '0';
|
||||||
ADDR_O <= X"0000_0008";
|
ADDR_O <= X"0000_0008";
|
||||||
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
STB_O <= '0';
|
STB_O <= '0';
|
||||||
|
|
||||||
|
-- Read Cursor Y
|
||||||
|
CYC_O <= '1';
|
||||||
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
STB_O <= '1';
|
STB_O <= '1';
|
||||||
WE_O <= '1';
|
WE_O <= '0';
|
||||||
SDAT_O <= X"0000_0000";
|
ADDR_O <= X"0000_000C";
|
||||||
ADDR_O <= X"0000_0010";
|
|
||||||
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
STB_O <= '0';
|
STB_O <= '0';
|
||||||
|
|
||||||
|
-- Write char 1
|
||||||
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
STB_O <= '1';
|
STB_O <= '1';
|
||||||
WE_O <= '1';
|
WE_O <= '1';
|
||||||
@@ -208,11 +237,82 @@ STIMULUS: process
|
|||||||
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
STB_O <= '0';
|
STB_O <= '0';
|
||||||
|
|
||||||
|
-- Read char 1
|
||||||
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
|
STB_O <= '1';
|
||||||
|
WE_O <= '0';
|
||||||
|
ADDR_O <= X"0000_0004";
|
||||||
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
|
STB_O <= '0';
|
||||||
|
|
||||||
|
-- Write char 2
|
||||||
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
STB_O <= '1';
|
STB_O <= '1';
|
||||||
WE_O <= '1';
|
WE_O <= '1';
|
||||||
SDAT_O <= X"0000_0035";
|
SDAT_O <= X"0000_0045";
|
||||||
ADDR_O <= X"0000_0020";
|
ADDR_O <= X"0000_0004";
|
||||||
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
|
STB_O <= '0';
|
||||||
|
|
||||||
|
-- Read char 2
|
||||||
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
|
STB_O <= '1';
|
||||||
|
WE_O <= '0';
|
||||||
|
ADDR_O <= X"0000_0004";
|
||||||
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
|
STB_O <= '0';
|
||||||
|
|
||||||
|
-- Read Cursor X
|
||||||
|
CYC_O <= '1';
|
||||||
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
|
STB_O <= '1';
|
||||||
|
WE_O <= '0';
|
||||||
|
ADDR_O <= X"0000_0008";
|
||||||
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
|
STB_O <= '0';
|
||||||
|
|
||||||
|
-- Read Cursor Y
|
||||||
|
CYC_O <= '1';
|
||||||
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
|
STB_O <= '1';
|
||||||
|
WE_O <= '0';
|
||||||
|
ADDR_O <= X"0000_000C";
|
||||||
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
|
STB_O <= '0';
|
||||||
|
|
||||||
|
-- Set Cursor X
|
||||||
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
|
STB_O <= '1';
|
||||||
|
WE_O <= '1';
|
||||||
|
SDAT_O <= X"0000_0012";
|
||||||
|
ADDR_O <= X"0000_0008";
|
||||||
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
|
STB_O <= '0';
|
||||||
|
|
||||||
|
-- Set Cursor Y
|
||||||
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
|
STB_O <= '1';
|
||||||
|
WE_O <= '1';
|
||||||
|
SDAT_O <= X"0000_0014";
|
||||||
|
ADDR_O <= X"0000_000C";
|
||||||
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
|
STB_O <= '0';
|
||||||
|
|
||||||
|
-- Read Cursor X
|
||||||
|
CYC_O <= '1';
|
||||||
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
|
STB_O <= '1';
|
||||||
|
WE_O <= '0';
|
||||||
|
ADDR_O <= X"0000_0008";
|
||||||
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
|
STB_O <= '0';
|
||||||
|
|
||||||
|
-- Read Cursor Y
|
||||||
|
CYC_O <= '1';
|
||||||
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
|
STB_O <= '1';
|
||||||
|
WE_O <= '0';
|
||||||
|
ADDR_O <= X"0000_000C";
|
||||||
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
wait until rising_edge(CLK_O) and SRDY_I = '1';
|
||||||
STB_O <= '0';
|
STB_O <= '0';
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user