AddressDecoder verified in simulation

This commit is contained in:
Florian Reitz 2019-02-14 23:26:44 +01:00
parent 70c0c118fc
commit 91d54ddd9c
3 changed files with 72 additions and 32 deletions

View File

@ -51,7 +51,7 @@ architecture Behavioral of AddressDecoder is
signal ndev_sel_int : std_logic;
signal nio_sel_int : std_logic;
signal nio_stb_int : std_logic;
signal ncs : std_logic; -- $C800 - $CFFF enabled
signal ncs : std_logic; -- $C800 - $CFFE enabled
signal a_int : std_logic_vector (11 downto 8);
begin
@ -78,11 +78,13 @@ begin
or (ndev_sel_int and nio_sel_int and ncs)
or not PHI0;
NOE <= not RNW
or not NDEV_SEL
or (not NIO_STB and ncs);
or (not NIO_SEL and not NIO_STB)
or (NIO_SEL and NIO_STB)
or (NIO_SEL and ncs);
NWE <= RNW
or not NDEV_SEL
or (not NIO_STB and ncs);
or (not NIO_SEL and not NIO_STB)
or (NIO_SEL and NIO_STB)
or (NIO_SEL and ncs);
cfxx <= a_int(8) and a_int(9) and a_int(10) and not nio_stb_int;

View File

@ -137,12 +137,37 @@ BEGIN
NDEV_SEL <= '0';
wait until falling_edge(PHI0);
NDEV_SEL <= '1';
wait until rising_edge(PHI0);
-- C0nX access, write
-- NG must be '0"
-- NOE must be '1'
-- NWE must be '1'
RNW <= '0';
A <= "0000"; -- must become "000"
wait until rising_edge(PHI0);
NDEV_SEL <= '0';
wait until falling_edge(PHI0);
NDEV_SEL <= '1';
wait until rising_edge(PHI0);
-- CnXX access, select
-- NG must be '0'
-- NOE must be '0'
-- NWE must be '1'
-- NWE must be '1'
RNW <= '1';
A <= "0100"; -- must become "000"
wait until rising_edge(PHI0);
NIO_SEL <= '0';
wait until falling_edge(PHI0);
NIO_SEL <= '1';
wait until rising_edge(PHI0);
-- CnXX access, write, select
-- NG must be '0'
-- NOE must be '1'
-- NWE must be '0'
RNW <= '0';
A <= "0100"; -- must become "000"
wait until rising_edge(PHI0);
NIO_SEL <= '0';
@ -153,7 +178,8 @@ BEGIN
-- C8xx access, selected
-- NG must be '0'
-- NOE must be '0'
-- NWE must be '1'
-- NWE must be '1'
RNW <= '1';
A <= "1000"; -- must become "001"
wait until rising_edge(PHI0);
NIO_STB <= '0';
@ -227,6 +253,18 @@ BEGIN
NIO_STB <= '0';
wait until falling_edge(PHI0);
NIO_STB <= '1';
wait until rising_edge(PHI0);
-- C8xx access write, unselected
-- NG must be '1'
-- NOE must be '1'
-- NWE must be '1'
RNW <= '0';
A <= "1000"; -- must become "001"
wait until rising_edge(PHI0);
NIO_STB <= '0';
wait until falling_edge(PHI0);
NIO_STB <= '1';
wait until rising_edge(PHI0);
wait;

View File

@ -1,5 +1,5 @@
Programmer Jedec Bit Map
Date Extracted: Thu Feb 14 20:47:09 2019
Date Extracted: Thu Feb 14 23:27:44 2019
QF46656*
QP44*
@ -104,7 +104,7 @@ L0001656 000000 000000 000000 000000*
L0001680 000000 000000 000000 000000*
L0001704 000000 000000 000000 000000*
L0001728 00000000 00000000 00000000 00000000*
L0001760 00000000 10000000 00000000 00000000*
L0001760 00000000 00000000 00000000 00000000*
L0001792 10000000 00000000 00000000 00000000*
L0001824 00000000 00000000 00000000 00000000*
L0001856 00000000 00000000 00000000 00000000*
@ -114,7 +114,7 @@ L0001952 00000000 00000000 00000000 00000000*
L0001984 00000000 00000000 00000000 00000000*
L0002016 000000 000000 000000 000000*
L0002040 000000 000000 000000 000000*
L0002064 000000 000000 000000 000000*
L0002064 000000 100000 000000 000000*
L0002088 000000 000000 000000 000000*
L0002112 000000 000000 000000 000000*
L0002136 000000 000000 000000 000000*
@ -195,7 +195,7 @@ L0004272 000000 000000 000000 000000*
L0004296 000000 000000 000000 000000*
L0004320 00000000 00000000 00000000 00000000*
L0004352 00000000 00000000 00000000 00000000*
L0004384 00000000 00000000 01000000 01000000*
L0004384 00000000 10000000 01000000 01000000*
L0004416 00000000 00000000 00000000 00000000*
L0004448 00000000 00000000 00000000 00000000*
L0004480 00000000 00000000 00000000 00000000*
@ -205,7 +205,7 @@ L0004576 00000000 00000000 00100000 00000000*
L0004608 000000 000000 000000 000000*
L0004632 000000 000000 000000 000000*
L0004656 000000 000000 000000 000000*
L0004680 000000 100000 000000 110000*
L0004680 000000 000000 000000 110000*
L0004704 000000 000000 000000 000000*
L0004728 000000 000000 000000 000000*
L0004752 00000000 00000000 00000000 00000000*
@ -224,7 +224,7 @@ L0005112 000000 000000 000000 000000*
L0005136 000000 000000 000000 000001*
L0005160 000000 000000 000000 000000*
L0005184 00000011 00000001 00000011 00000011*
L0005216 00000011 00000011 00000011 00000011*
L0005216 00000011 10000011 00000011 00000011*
L0005248 00000011 00000011 00000011 00000011*
L0005280 00000011 00000011 00000011 00000011*
L0005312 00000011 00000011 00000011 00000011*
@ -234,7 +234,7 @@ L0005408 00000011 00000011 00000011 00000011*
L0005440 00000011 00000011 00000011 00000011*
L0005472 000000 000000 000000 000000*
L0005496 000000 000000 000000 000000*
L0005520 000000 100000 000000 000000*
L0005520 000000 000000 000000 000000*
L0005544 000000 000000 000000 000000*
L0005568 000000 000000 000000 000000*
L0005592 000000 000000 000000 000000*
@ -404,8 +404,8 @@ L0010296 000000 000000 000000 000000*
L0010320 000000 000000 000000 000000*
L0010344 000000 000000 000000 000000*
L0010368 00000000 00000000 00000000 00000000*
L0010400 00000000 10000010 00000000 00000000*
L0010432 00000000 10000000 00000000 00000000*
L0010400 00000000 00000010 00000000 00000000*
L0010432 00000000 00000000 00000000 00000000*
L0010464 00000000 00000000 00000000 00000000*
L0010496 00000000 00000000 00000000 00000000*
L0010528 00000000 00000000 00000000 00000000*
@ -414,13 +414,13 @@ L0010592 00000000 00000000 00000000 00000000*
L0010624 00000000 00000000 00000000 00000000*
L0010656 000000 100000 000000 000000*
L0010680 000000 000000 000000 000000*
L0010704 000000 000000 000100 000000*
L0010728 000000 000000 000000 000000*
L0010704 000000 100000 000100 000000*
L0010728 000000 100000 000000 000000*
L0010752 000000 000000 000000 000000*
L0010776 000000 000000 000000 000000*
L0010800 00000000 10000000 00000000 00000000*
L0010832 01001000 00000000 00000000 00000000*
L0010864 00000000 00000010 00000000 00000000*
L0010832 01001000 10000000 00000000 00000000*
L0010864 00000000 10000010 00000000 00000000*
L0010896 00000000 00000000 00000000 00000000*
L0010928 00000000 00000000 00000000 00000000*
L0010960 00000000 00000000 00000000 00000000*
@ -429,8 +429,8 @@ L0011024 00000000 10000000 00000000 00000000*
L0011056 00000000 00000000 00000000 00000000*
L0011088 000000 000000 000000 000000*
L0011112 000000 000000 000100 000000*
L0011136 000010 100000 000000 000000*
L0011160 000000 100000 000000 000000*
L0011136 000010 000000 000000 000000*
L0011160 000000 000000 000000 000000*
L0011184 000000 000000 000000 000000*
L0011208 000000 000000 000000 000000*
L0011232 00000011 00000001 00000011 00000011*
@ -588,7 +588,7 @@ L0015584 00000010 00000000 00000000 00000001*
L0015616 00000010 00000000 00000000 00000010*
L0015648 00000010 00000000 00000010 00000010*
L0015680 00000000 00000000 00000000 00000000*
L0015712 00000000 01111000 00000000 00000010*
L0015712 01000000 01111000 00000000 10000010*
L0015744 00000010 00000000 00000000 00000000*
L0015776 00000000 00000000 00000000 00000000*
L0015808 00000000 00000000 00000000 00000000*
@ -604,7 +604,7 @@ L0016048 00000001 00000001 00000000 00000000*
L0016080 00000001 00000001 00000001 00000000*
L0016112 00000000 00000001 00000001 00000000*
L0016144 00000001 00000101 00010001 00000000*
L0016176 00000001 00000000 00000001 00000011*
L0016176 01000001 00000000 00000001 10000011*
L0016208 00000000 00000010 00000000 00000000*
L0016240 00000001 00000010 00000001 00000011*
L0016272 000000 000000 000000 000000*
@ -709,7 +709,7 @@ L0019072 00000000 00000000 00000000 00000000*
L0019104 00000000 00000000 00000000 00000000*
L0019136 00000011 00000000 00000010 00000011*
L0019168 00000010 00000000 00000000 00000000*
L0019200 00000000 00000000 00000000 00000000*
L0019200 01000000 00000000 00000000 10000000*
L0019232 00000011 00000000 00000011 00000011*
L0019264 00000010 00000000 00000000 00000000*
L0019296 000000 000000 000000 000000*
@ -1065,7 +1065,7 @@ L0029328 000000 000000 000000 000000*
L0029352 000000 000000 000000 000000*
L0029376 00000000 00000001 00000000 00000000*
L0029408 00000001 00000010 00000010 00000000*
L0029440 00000000 00000000 00000000 00000000*
L0029440 00000010 00000000 00000000 00000010*
L0029472 00000000 00000000 00000000 00000000*
L0029504 00000001 00000001 00000000 00000000*
L0029536 00000000 00000000 00000000 00000000*
@ -1233,8 +1233,8 @@ L0034160 00000000 00000000 00100000 00000000*
L0034192 00000000 00000000 00000000 00000000*
L0034224 00000000 00000000 00000000 00000000*
L0034256 00000000 00000000 00000000 00000000*
L0034288 11000000 00000000 00000000 10010000*
L0034320 01000000 00000000 00000000 10000000*
L0034288 10000000 00000000 00000000 00010000*
L0034320 00000000 00000000 00000000 00000000*
L0034352 00000000 00000000 00000000 00000000*
L0034384 00000000 00000000 00000000 00000000*
L0034416 000000 000000 000000 000000*
@ -1335,7 +1335,7 @@ L0037104 000000 000000 000000 000000*
L0037128 000000 000000 000000 000000*
L0037152 00000000 00000000 00000000 00000000*
L0037184 00000000 00000000 00000000 00000000*
L0037216 00000000 10000000 00000000 00000000*
L0037216 00000000 00000000 00000000 00000000*
L0037248 00000000 00000000 00000000 00000000*
L0037280 00000000 00000000 00000000 00000000*
L0037312 00000000 00000000 00000000 00000000*
@ -1345,7 +1345,7 @@ L0037408 00000000 00000000 00000000 00000000*
L0037440 000000 000000 000000 000000*
L0037464 000000 000000 000000 000000*
L0037488 000000 000000 000000 000000*
L0037512 000000 000000 000000 000000*
L0037512 000000 100000 000000 000000*
L0037536 000000 000000 000000 000000*
L0037560 000000 000000 000000 000000*
L0037584 00000000 00000000 00000000 00000000*
@ -1663,5 +1663,5 @@ L0046560 000000 000000 000000 000000*
L0046584 000000 000000 000000 000000*
L0046608 000000 000000 000000 000000*
L0046632 000000 000000 000000 000000*
CCD41*
1E18
CCDC4*
1E2E