diff --git a/VHDL/AddressDecoder_Test.vhd b/VHDL/AddressDecoder_Test.vhd
index d2033e9..5cbc589 100644
--- a/VHDL/AddressDecoder_Test.vhd
+++ b/VHDL/AddressDecoder_Test.vhd
@@ -68,7 +68,7 @@ ARCHITECTURE behavior OF AddressDecoder_Test IS
signal CLK : std_logic := '0';
signal PHI0 : std_logic := '1';
- --Outputs
+ --Outputs
signal B : std_logic_vector(10 downto 8);
signal DATA_EN : std_logic;
signal NG : std_logic;
@@ -80,7 +80,7 @@ ARCHITECTURE behavior OF AddressDecoder_Test IS
BEGIN
- -- Instantiate the Unit Under Test (UUT)
+ -- Instantiate the Unit Under Test (UUT)
uut: AddressDecoder PORT MAP (
A => A,
B => B,
@@ -100,10 +100,10 @@ BEGIN
-- Clock process definitions
CLK_process :process
begin
- CLK <= '0';
- wait for CLK_period/2;
- CLK <= '1';
- wait for CLK_period/2;
+ CLK <= '0';
+ wait for CLK_period/2;
+ CLK <= '1';
+ wait for CLK_period/2;
end process;
PHI0_process :process(CLK)
@@ -120,7 +120,7 @@ BEGIN
-- Stimulus process
stim_proc: process
- begin
+ begin
-- hold reset state.
wait for CLK_period * 10;
NRESET <= '0';
@@ -128,8 +128,10 @@ BEGIN
NRESET <= '1';
wait for CLK_period * 10;
- -- insert stimulus here
-- C0nX access
+ -- NG must be '0"
+ -- NOE must be '1'
+ -- NWE must be '1'
A <= "0000"; -- must become "000"
wait until rising_edge(PHI0);
NDEV_SEL <= '0';
@@ -137,7 +139,10 @@ BEGIN
NDEV_SEL <= '1';
wait until rising_edge(PHI0);
- -- CnXX access
+ -- CnXX access, select
+ -- NG must be '0'
+ -- NOE must be '0'
+ -- NWE must be '1'
A <= "0100"; -- must become "000"
wait until rising_edge(PHI0);
NIO_SEL <= '0';
@@ -146,14 +151,20 @@ BEGIN
wait until rising_edge(PHI0);
-- C8xx access, selected
+ -- NG must be '0'
+ -- NOE must be '0'
+ -- NWE must be '1'
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);
-
- -- C8xx write access, selected
+
+ -- C8xx write access, selected
+ -- NG must be '0'
+ -- NOE must be '1'
+ -- NWE must be '0'
RNW <= '0';
wait until rising_edge(PHI0);
NIO_STB <= '0';
@@ -162,6 +173,9 @@ BEGIN
wait until rising_edge(PHI0);
-- C9xx access, selected
+ -- NG must be '0'
+ -- NOE must be '0'
+ -- NWE must be '1'
RNW <= '1';
A <= "1001"; -- must become "010"
wait until rising_edge(PHI0);
@@ -169,8 +183,11 @@ BEGIN
wait until falling_edge(PHI0);
NIO_STB <= '1';
wait until rising_edge(PHI0);
-
- -- C9xx access write, selected
+
+ -- C9xx access write, selected
+ -- NG must be '0'
+ -- NOE must be '1'
+ -- NWE must be '0'
RNW <= '0';
wait until rising_edge(PHI0);
NIO_STB <= '0';
@@ -179,6 +196,9 @@ BEGIN
wait until rising_edge(PHI0);
-- CPLD access
+ -- NG must be '0'
+ -- NOE must be '1'
+ -- NWE must be '1'
RNW <= '1';
A <= "0101"; -- must become "000"
wait until rising_edge(PHI0);
@@ -188,6 +208,9 @@ BEGIN
wait until rising_edge(PHI0);
-- CFFF access
+ -- NG must be '1'
+ -- NOE must be '1'
+ -- NWE must be '1'
A <= "1111"; -- must become "111"
wait until rising_edge(PHI0);
NIO_STB <= '0';
@@ -196,6 +219,9 @@ BEGIN
wait until rising_edge(PHI0);
-- C8xx access, unselected
+ -- NG must be '1'
+ -- NOE must be '1'
+ -- NWE must be '1'
A <= "1000"; -- must become "001"
wait until rising_edge(PHI0);
NIO_STB <= '0';
diff --git a/VHDL/AppleIISd.xise b/VHDL/AppleIISd.xise
index 445b320..1bb074a 100644
--- a/VHDL/AppleIISd.xise
+++ b/VHDL/AppleIISd.xise
@@ -16,35 +16,28 @@
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
-
@@ -159,8 +152,8 @@
-
-
+
+
@@ -170,7 +163,7 @@
-
+
@@ -205,7 +198,7 @@
-
+