00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00030
00031 #ifndef __NOC__
00032 #define __NOC__
00033
00034 #include "NWTile.h"
00035 #include "../config/extern.h"
00036
00040 struct signals {
00041 sc_signal<flit> sig_toS;
00042 sc_signal<flit> sig_fromS;
00043 sc_signal<flit> sig_fromE;
00044 sc_signal<flit> sig_toE;
00045
00046 sc_signal<creditLine> cr_sig_toS[NUM_VCS];
00047 sc_signal<creditLine> cr_sig_fromS[NUM_VCS];
00048 sc_signal<creditLine> cr_sig_fromE[NUM_VCS];
00049 sc_signal<creditLine> cr_sig_toE[NUM_VCS];
00050 };
00051
00057 struct NoC : public sc_module {
00058
00059 sc_in<bool> switch_cntrl;
00060
00062 SC_HAS_PROCESS(NoC);
00063 NoC(sc_module_name NoC, int num_rows, int num_cols);
00064
00065 int rows;
00066 int cols;
00067
00068 BaseNWTile *nwtile[MAX_NUM_ROWS][MAX_NUM_COLS];
00069 signals sigs[MAX_NUM_ROWS][MAX_NUM_COLS];
00070
00071 void entry();
00072 };
00073
00074 #endif