Generated by EASE/HDL for peterj on Mon Jul 02 10:55:25 2007

Documentation for architecture MROD_X_Out/AM_Decode/a0

Contents Side Data Generated HDL

VHDL Contents

    1  -- EASE/HDL begin --------------------------------------------------------------
    2  -- 
    3  -- Architecture 'a0' of entity 'AM_Decode'.
    4  -- 
    5  --------------------------------------------------------------------------------
    6  -- 
    7  -- Copy of the interface declaration:
    8  -- 
    9  --   port(
   10  --     A16       : out    std_logic;
   11  --     A24       : out    std_logic;
   12  --     A32       : out    std_logic;
   13  --     A40       : out    std_logic;
   14  --     A64       : out    std_logic;
   15  --     AM        : in     std_logic_vector(5 downto 0);
   16  --     BLT       : out    std_logic;
   17  --     CR_CSR    : out    std_logic;
   18  --     D64       : out    std_logic;
   19  --     DATA      : out    std_logic;
   20  --     IACK_n    : in     std_logic;
   21  --     LOCK      : out    std_logic;
   22  --     NPRIV     : out    std_logic;
   23  --     PROG      : out    std_logic;
   24  --     SUPER     : out    std_logic;
   25  --     USER_AM10 : out    std_logic);
   26  -- 
   27  -- EASE/HDL end ----------------------------------------------------------------
   28  
   29  architecture a0 of AM_Decode is
   30  
   31  begin
   32     Process (AM, IACK_n)
   33        Variable AM_Code: Integer Range 16#3F# Downto 16#00#;
   34     Begin
   35        AM_Code := To_Integer(Unsigned(AM));
   36  
   37        A64 <= '0';
   38        A40 <= '0';
   39        A32 <= '0';
   40        A24 <= '0';
   41        A16 <= '0';
   42        USER_AM10 <= '0';
   43  
   44        SUPER <= '0';
   45        NPRIV <= '0';
   46        PROG <= '0';
   47        DATA <= '0';
   48        BLT <= '0';
   49        LOCK <= '0';
   50        CR_CSR <= '0';
   51        D64 <= '0';
   52  
   53        If IACK_n = '1' Then
   54           --A64, A40, A32, A24, A16, USER1 And User2 are unambiguous
   55           Case AM_Code Is
   56              --A64 AM Codes:
   57              When 16#00# | 16#01# | 16#03# | 16#04# =>
   58                 A64 <= '1';
   59              --A40 AM Codes:
   60              When 16#34# | 16#35# | 16#37# =>
   61                 A40 <= '1';
   62              --A32 AM Codes:
   63              When 16#05# | 16#08# | 16#09# | 16#0A# | 16#0B# | 16#0C# | 16#0D# | 16#0E# | 16#0F# =>
   64                 A32 <= '1';
   65              --A24 AM Codes (Including 2F for CR_CSR And 32 for A24Lock):
   66              When 16#2F# | 16#32# |
   67                   16#38# | 16#39# | 16#3A# | 16#3B# | 16#3C# | 16#3D# | 16#3E# | 16#3F# =>
   68                 A24 <= '1';
   69              --A16 AM Codes:
   70              When 16#29# | 16#2C# | 16#2D# =>
   71                 A16 <= '1';
   72  
   73              --User AM Code 0x10:
   74              When 16#10# =>
   75                 USER_AM10 <= '1';
   76  
   77  --          --User1 AM Codes:
   78  --            When 16#18# | 16#19# | 16#1A# | 16#1B# | 16#1C# | 16#1D# | 16#1E# | 16#1F# =>
   79  --               USER1 <= '1';
   80  --          --User2 AM Codes:
   81  --            When 16#10# | 16#11# | 16#12# | 16#13# | 16#14# | 16#15# | 16#16# | 16#17# =>
   82  --               USER2 <= '1';
   83  
   84              When Others =>
   85           End Case;
   86  
   87  
   88           --SUPER, NPRIV, PROG, DATA, BLT, LOCK, CR_CSR And D64 are NOT unambiguous
   89  
   90           Case AM_Code Is
   91              --Supervisory AM Codes:
   92              When 16#0C# | 16#0D# | 16#0E# | 16#0F# | 16#2D# | 16#3C# | 16#3D# | 16#3E# | 16#3F# =>
   93                 SUPER <= '1';
   94              When Others =>
   95           End Case;
   96  
   97           Case AM_Code Is
   98              --Non-Privileged AM Codes:
   99              When 16#08# | 16#09# | 16#0A# | 16#0B# | 16#29# | 16#38# | 16#39# | 16#3A# | 16#3B# =>
  100                 NPRIV <= '1';
  101              When Others =>
  102           End Case;
  103  
  104           Case AM_Code Is
  105              --Programm Access AM Codes:
  106              When 16#0A# | 16#0E# | 16#3A# | 16#3E# =>
  107                 PROG <= '1';
  108              When Others =>
  109           End Case;
  110  
  111           Case AM_Code Is
  112              --Data Access AM Codes:
  113              When 16#09# | 16#0D# | 16#39# | 16#3d# =>
  114                 DATA <= '1';
  115              When Others =>
  116           End Case;
  117   
  118           Case AM_Code Is
  119              --BLT AM Codes:
  120              When 16#03# | 16#0B# | 16#0F# | 16#37# | 16#3B# | 16#3F# =>
  121                 BLT <= '1';
  122              When Others =>
  123           End Case;
  124  
  125           Case AM_Code Is
  126              --LOCK AM Codes:
  127              When 16#04# | 16#05# | 16#2C# | 16#32# | 16#35# =>
  128                 LOCK <= '1';
  129              When Others =>
  130           End Case;
  131  
  132           Case AM_Code Is
  133              --CR_CSR AM Codes:
  134              When 16#2F# =>
  135                 CR_CSR <= '1';
  136              When Others =>
  137           End Case;
  138  
  139           Case AM_Code Is
  140              --8 Byte Transfer AM Codes:
  141              When 16#00# | 16#08# | 16#0C# | 16#38# | 16#3C# =>
  142                 D64 <= '1';
  143              When Others =>
  144           End Case;
  145        End If;
  146     End Process;
  147  end architecture a0 ; -- of AM_Decode
  148