diff --git a/VHDL/AddressDecoder_Test.vhd b/VHDL/AddressDecoder_Test.vhd index 1c1e970..9e0738b 100644 --- a/VHDL/AddressDecoder_Test.vhd +++ b/VHDL/AddressDecoder_Test.vhd @@ -138,9 +138,16 @@ BEGIN A <= "0000"; -- must become "000" wait until rising_edge(PHI0); NDEV_SEL <= '0'; - wait until falling_edge(PHI0); + wait until falling_edge(PHI0); + assert (B="000") report "Address error" severity error; + assert (NG='0') report "NG error" severity error; + assert (NOE='1') report "NOE error" severity error; + assert (NWE='1') report "NWE error" severity error; NDEV_SEL <= '1'; wait until rising_edge(PHI0); + assert (NG='1') report "NG error" severity error; + assert (NOE='1') report "NOE error" severity error; + assert (NWE='1') report "NWE error" severity error; -- C0nX access, write -- NG must be '0" @@ -150,7 +157,11 @@ BEGIN A <= "0000"; -- must become "000" wait until rising_edge(PHI0); NDEV_SEL <= '0'; - wait until falling_edge(PHI0); + wait until falling_edge(PHI0); + assert (B="000") report "Address error" severity error; + assert (NG='0') report "NG error" severity error; + assert (NOE='1') report "NOE error" severity error; + assert (NWE='1') report "NWE error" severity error; NDEV_SEL <= '1'; wait until rising_edge(PHI0); @@ -162,7 +173,11 @@ BEGIN A <= "0100"; -- must become "000" wait until rising_edge(PHI0); NIO_SEL <= '0'; - wait until falling_edge(PHI0); + wait until falling_edge(PHI0); + assert (B="000") report "Address error" severity error; + assert (NG='0') report "NG error" severity error; + assert (NOE='0') report "NOE error" severity error; + assert (NWE='1') report "NWE error" severity error; NIO_SEL <= '1'; wait until rising_edge(PHI0); @@ -174,7 +189,11 @@ BEGIN A <= "0100"; -- must become "000" wait until rising_edge(PHI0); NIO_SEL <= '0'; - wait until falling_edge(PHI0); + wait until falling_edge(PHI0); + assert (B="000") report "Address error" severity error; + assert (NG='0') report "NG error" severity error; + assert (NOE='1') report "NOE error" severity error; + assert (NWE='0') report "NWE error" severity error; NIO_SEL <= '1'; wait until rising_edge(PHI0); @@ -187,7 +206,11 @@ BEGIN A <= "0100"; -- must become "000" wait until rising_edge(PHI0); NIO_SEL <= '0'; - wait until falling_edge(PHI0); + wait until falling_edge(PHI0); + assert (B="000") report "Address error" severity error; + assert (NG='0') report "NG error" severity error; + assert (NOE='1') report "NOE error" severity error; + assert (NWE='1') report "NWE error" severity error; NIO_SEL <= '1'; wait until rising_edge(PHI0); @@ -200,7 +223,11 @@ BEGIN A <= "1000"; -- must become "001" wait until rising_edge(PHI0); NIO_STB <= '0'; - wait until falling_edge(PHI0); + wait until falling_edge(PHI0); + assert (B="001") report "Address error" severity error; + assert (NG='0') report "NG error" severity error; + assert (NOE='0') report "NOE error" severity error; + assert (NWE='1') report "NWE error" severity error; NIO_STB <= '1'; wait until rising_edge(PHI0); @@ -211,7 +238,10 @@ BEGIN RNW <= '0'; wait until rising_edge(PHI0); NIO_STB <= '0'; - wait until falling_edge(PHI0); + wait until falling_edge(PHI0); + assert (NG='0') report "NG error" severity error; + assert (NOE='1') report "NOE error" severity error; + assert (NWE='0') report "NWE error" severity error; NIO_STB <= '1'; wait until rising_edge(PHI0); @@ -223,7 +253,11 @@ BEGIN A <= "1001"; -- must become "010" wait until rising_edge(PHI0); NIO_STB <= '0'; - wait until falling_edge(PHI0); + wait until falling_edge(PHI0); + assert (B="010") report "Address error" severity error; + assert (NG='0') report "NG error" severity error; + assert (NOE='0') report "NOE error" severity error; + assert (NWE='1') report "NWE error" severity error; NIO_STB <= '1'; wait until rising_edge(PHI0); @@ -234,7 +268,10 @@ BEGIN RNW <= '0'; wait until rising_edge(PHI0); NIO_STB <= '0'; - wait until falling_edge(PHI0); + wait until falling_edge(PHI0); + assert (NG='0') report "NG error" severity error; + assert (NOE='1') report "NOE error" severity error; + assert (NWE='0') report "NWE error" severity error; NIO_STB <= '1'; wait until rising_edge(PHI0); @@ -246,7 +283,11 @@ BEGIN A <= "0101"; -- must become "000" wait until rising_edge(PHI0); NDEV_SEL <= '0'; - wait until falling_edge(PHI0); + wait until falling_edge(PHI0); + assert (B="000") report "Address error" severity error; + assert (NG='0') report "NG error" severity error; + assert (NOE='1') report "NOE error" severity error; + assert (NWE='1') report "NWE error" severity error; NDEV_SEL <= '1'; wait until rising_edge(PHI0); @@ -257,7 +298,11 @@ BEGIN A <= "1111"; -- must become "111" wait until rising_edge(PHI0); NIO_STB <= '0'; - wait until falling_edge(PHI0); + wait until falling_edge(PHI0); + assert (B="111") report "Address error" severity error; + assert (NG='1') report "NG error" severity error; + assert (NOE='1') report "NOE error" severity error; + assert (NWE='1') report "NWE error" severity error; NIO_STB <= '1'; wait until rising_edge(PHI0); @@ -268,7 +313,11 @@ BEGIN A <= "1000"; -- must become "001" wait until rising_edge(PHI0); NIO_STB <= '0'; - wait until falling_edge(PHI0); + wait until falling_edge(PHI0); + assert (B="001") report "Address error" severity error; + assert (NG='1') report "NG error" severity error; + assert (NOE='1') report "NOE error" severity error; + assert (NWE='1') report "NWE error" severity error; NIO_STB <= '1'; wait until rising_edge(PHI0); @@ -280,7 +329,11 @@ BEGIN A <= "1000"; -- must become "001" wait until rising_edge(PHI0); NIO_STB <= '0'; - wait until falling_edge(PHI0); + wait until falling_edge(PHI0); + assert (B="001") report "Address error" severity error; + assert (NG='1') report "NG error" severity error; + assert (NOE='1') report "NOE error" severity error; + assert (NWE='1') report "NWE error" severity error; NIO_STB <= '1'; wait until rising_edge(PHI0);