OpenCores
URL https://opencores.org/ocsvn/t48/t48/trunk

Subversion Repositories t48

[/] [t48/] [tags/] [rel_1_0/] [rtl/] [vhdl/] [opc_table.vhd] - Diff between revs 4 and 22

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 4 Rev 22
Line 2... Line 2...
--
--
-- The Opcode Decoder Table.
-- The Opcode Decoder Table.
-- Decodes the given opcode to instruction mnemonics.
-- Decodes the given opcode to instruction mnemonics.
-- Also derives the multicycle information.
-- Also derives the multicycle information.
--
--
-- $Id: opc_table.vhd,v 1.1 2004-03-23 21:31:52 arniml Exp $
-- $Id: opc_table.vhd,v 1.2 2004-03-28 13:10:48 arniml Exp $
--
--
-- All rights reserved
-- All rights reserved
--
--
-- Redistribution and use in source and synthezised forms, with or without
-- Redistribution and use in source and synthezised forms, with or without
-- modification, are permitted provided that the following conditions are met:
-- modification, are permitted provided that the following conditions are met:
Line 109... Line 109...
      when "10011000" |                                         -- ANL BUS, data
      when "10011000" |                                         -- ANL BUS, data
           "10011001" | "10011010" =>                           -- ANL PP, data
           "10011001" | "10011010" =>                           -- ANL PP, data
        mnemonic_o    <= MN_ANL_EXT;
        mnemonic_o    <= MN_ANL_EXT;
        multi_cycle_o <= '1';
        multi_cycle_o <= '1';
 
 
      -- Mnemonic ANLD --------------------------------------------------------
 
      when "10011100" | "10011101" | "10011110" | "10011111" => -- ANLD PP, A
 
        mnemonic_o    <= MN_ANLD;
 
        multi_cycle_o <= '1';
 
 
 
      -- Mnemonic CALL --------------------------------------------------------
      -- Mnemonic CALL --------------------------------------------------------
      when "00010100" | "00110100" | "01010100" | "01110100" |  -- CALL addr
      when "00010100" | "00110100" | "01010100" | "01110100" |  -- CALL addr
           "10010100" | "10110100" | "11010100" | "11110100" => --
           "10010100" | "10110100" | "11010100" | "11110100" => --
        mnemonic_o    <= MN_CALL;
        mnemonic_o    <= MN_CALL;
        multi_cycle_o <= '1';
        multi_cycle_o <= '1';
Line 283... Line 278...
      -- Mnemonic MOV_T -------------------------------------------------------
      -- Mnemonic MOV_T -------------------------------------------------------
      when "01100010" |                                         -- MOV T, A
      when "01100010" |                                         -- MOV T, A
           "01000010" =>                                        -- MOV A, T
           "01000010" =>                                        -- MOV A, T
        mnemonic_o    <= MN_MOV_T;
        mnemonic_o    <= MN_MOV_T;
 
 
      -- Mnemonic MOV_A_PP ----------------------------------------------------
      -- Mnemonic MOVD_A_PP ---------------------------------------------------
      when "00001100" | "00001101" | "00001110" | "00001111" =>  -- MOV A, Pp
      when "00001100" | "00001101" | "00001110" | "00001111" => -- MOVD A, Pp
        mnemonic_o    <= MN_MOV_A_PP;
        mnemonic_o    <= MN_MOVD_A_PP;
        multi_cycle_o <= '1';
 
 
 
      -- Mnemonic MOV_PP_A ----------------------------------------------------
 
      when "00111100" | "00111101" | "00111110" | "00111111" =>  -- MOV Pp, A
 
        mnemonic_o    <= MN_MOV_PP_A;
 
        multi_cycle_o <= '1';
        multi_cycle_o <= '1';
 
 
      -- Mnemonic MOVP --------------------------------------------------------
      -- Mnemonic MOVP --------------------------------------------------------
      when "10100011" |                                          -- MOVP A, @ A
      when "10100011" |                                          -- MOVP A, @ A
           "11100011" =>                                         -- MOVP3 A, @ A
           "11100011" =>                                         -- MOVP3 A, @ A
Line 326... Line 316...
      when "10001000" |                                         -- ORL BUS, data
      when "10001000" |                                         -- ORL BUS, data
           "10001001" | "10001010" =>                           -- ORL Pp, data
           "10001001" | "10001010" =>                           -- ORL Pp, data
        mnemonic_o    <= MN_ORL_EXT;
        mnemonic_o    <= MN_ORL_EXT;
        multi_cycle_o <= '1';
        multi_cycle_o <= '1';
 
 
      -- Mnemonic ORLD_PP_A ----------------------------------------------------
      -- Mnemonic OUTD_PP_A ---------------------------------------------------
      when "10001100" | "10001101" | "10001110" | "10001111" => -- ORLD Pp, A
      when "00111100" | "00111101" | "00111110" | "00111111" |  -- MOVD Pp, A
        mnemonic_o    <= MN_ORLD_PP_A;
           "10011100" | "10011101" | "10011110" | "10011111" |  -- ANLD PP, A
 
           "10001100" | "10001101" | "10001110" | "10001111" => -- ORLD Pp, A
 
        mnemonic_o    <= MN_OUTD_PP_A;
        multi_cycle_o <= '1';
        multi_cycle_o <= '1';
 
 
      -- Mnemonic OUTL_EXT ----------------------------------------------------
      -- Mnemonic OUTL_EXT ----------------------------------------------------
      when "00111001" | "00111010" |                            -- OUTL Pp, A
      when "00111001" | "00111010" |                            -- OUTL Pp, A
           "00000010" =>                                        -- OUTL BUS, A
           "00000010" =>                                        -- OUTL BUS, A
Line 414... Line 406...
 
 
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
-- File History:
-- File History:
--
--
-- $Log: not supported by cvs2svn $
-- $Log: not supported by cvs2svn $
 
-- Revision 1.1  2004/03/23 21:31:52  arniml
 
-- initial check-in
--
--
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
 
 
 No newline at end of file
 No newline at end of file

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.