mmxu.h

Go to the documentation of this file.
00001 /*****************************************************************************
00002 
00003   The following code is derived, directly or indirectly, from the SystemC
00004   source code Copyright (c) 1996-2004 by all Contributors.
00005   All Rights reserved.
00006 
00007   The contents of this file are subject to the restrictions and limitations
00008   set forth in the SystemC Open Source License Version 2.4 (the "License");
00009   You may not use this file except in compliance with such restrictions and
00010   limitations. You may obtain instructions on how to receive a copy of the
00011   License at http://www.systemc.org/. Software distributed by Contributors
00012   under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF
00013   ANY KIND, either express or implied. See the License for the specific
00014   language governing rights and limitations under the License.
00015 
00016  *****************************************************************************/
00017 
00018 /*****************************************************************************
00019  
00020   mmxu.h -- MMX-Like Execution Unit.
00021  
00022   Original Author: Martin Wang, Synopsys, Inc.
00023  
00024  *****************************************************************************/
00025  
00026 /*****************************************************************************
00027  
00028   MODIFICATION LOG - modifiers, enter your name, affiliation, date and
00029   changes you are making here.
00030  
00031       Name, Affiliation, Date:
00032   Description of Modification:
00033  
00034  *****************************************************************************/
00035 
00036 
00037 struct mmxu : sc_module {
00038   sc_in<bool>                   mmx_valid;      // MMX unit enable
00039   sc_in<int>                    opcode;         // opcode
00040   sc_in<signed int>             mmxa;           // operand A
00041   sc_in<signed int>             mmxb;           // operand B
00042   sc_in<unsigned>               dest;           // Destination register number
00043   sc_out<signed int>            mmxdout;        // MMX output
00044   sc_out<bool>                  mmxout_valid;   // MMX output valid
00045   sc_out<unsigned>              mmxdestout;     // destination number
00046   sc_in_clk                     CLK;
00047 
00048 
00049   // can make it asynchronous process to speed up simulation
00050   SC_CTOR(mmxu) {
00051       SC_CTHREAD(entry, CLK.pos());
00052   }
00053   
00054   void entry();
00055 };
00056 
00057 // EOF
Generated by
Matthieu Moy <Matthieu.Moy@st.com>
Back to Pinapa Home Page