00001 /*------------------------------------------------------------------------- 00002 * ORION 2.0 00003 * 00004 * Copyright 2009 00005 * Princeton University, and Regents of the University of California 00006 * All Rights Reserved 00007 * 00008 * 00009 * ORION 2.0 was developed by Bin Li at Princeton University and Kambiz Samadi at 00010 * University of California, San Diego. ORION 2.0 was built on top of ORION 1.0. 00011 * ORION 1.0 was developed by Hangsheng Wang, Xinping Zhu and Xuning Chen at 00012 * Princeton University. 00013 * 00014 * If your use of this software contributes to a published paper, we 00015 * request that you cite our paper that appears on our website 00016 * http://www.princeton.edu/~peh/orion.html 00017 * 00018 * Permission to use, copy, and modify this software and its documentation is 00019 * granted only under the following terms and conditions. Both the 00020 * above copyright notice and this permission notice must appear in all copies 00021 * of the software, derivative works or modified versions, and any portions 00022 * thereof, and both notices must appear in supporting documentation. 00023 * 00024 * This software may be distributed (but not offered for sale or transferred 00025 * for compensation) to third parties, provided such third parties agree to 00026 * abide by the terms and conditions of this notice. 00027 * 00028 * This software is distributed in the hope that it will be useful to the 00029 * community, but WITHOUT ANY WARRANTY; without even the implied warranty of 00030 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 00031 * 00032 *-----------------------------------------------------------------------*/ 00033 00034 #ifndef _SIM_ROUTER_MODEL_H 00035 #define _SIM_ROUTER_MODEL_H 00036 00037 typedef enum { 00038 ONE_STAGE_ARB = 1, 00039 TWO_STAGE_ARB, 00040 VC_SELECT, 00041 VC_ALLOCATOR_MAX_MODEL 00042 }SIM_vc_allocator_model_t; 00043 00044 typedef enum { 00045 SRAM = 1, 00046 REGISTER, 00047 BUFFER_MAX_MODEL 00048 } SIM_buffer_model_t; 00049 00050 typedef enum { 00051 MATRIX_CROSSBAR = 1, 00052 MULTREE_CROSSBAR, 00053 CUT_THRU_CROSSBAR, 00054 CROSSBAR_MAX_MODEL 00055 } SIM_crossbar_model_t; 00056 00057 typedef enum { 00058 RR_ARBITER = 1, 00059 MATRIX_ARBITER, 00060 QUEUE_ARBITER, 00061 ARBITER_MAX_MODEL 00062 } SIM_arbiter_model_t; 00063 00064 /* connection type */ 00065 typedef enum { 00066 TRANS_GATE, /* transmission gate connection */ 00067 TRISTATE_GATE, /* tri-state gate connection */ 00068 } SIM_connect_t; 00069 00070 /* transmission gate type */ 00071 typedef enum { 00072 N_GATE, 00073 NP_GATE 00074 } SIM_trans_t; 00075 00076 #endif /* _SIM_ROUTER_MODEL_H */ 00077