network.h File Reference

#include <ctype.h>
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
#include "core/define.h"
#include "assert.h"
#include "list.h"

Include dependency graph for network.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  log_t
struct  log5_t
union  flit_t
class  Nodeinfo
class  Env
class  Inbuf
struct  commcmd_t
class  Cmdbuf
class  Incc
class  Incc32
class  Getdata
struct  Getdata::getdata_t
class  Incc64
class  Router
class  Node
class  GMemory
struct  GMemory::page_t
class  Bitmap

Defines

#define MC_NAME   "SimMc M-Core alpha : Many-Core and NoC Simulator"
#define MC_VER   "v1.0 2010-03-30"
#define MC_LIB_VER   "1.0.0"
#define MP_MMAP_BASE   0x00000100
#define MP_MMAP_KEYCODE   (MP_MMAP_BASE + 0x00)
#define MP_MMAP_LCD   (MP_MMAP_BASE + 0x04)
#define MP_MMAP_BUZZER   (MP_MMAP_BASE + 0x08)
#define MP_MMAP_TIMER   (MP_MMAP_BASE + 0x0c)
#define MP_MMAP_GPIO_0   (MP_MMAP_BASE + 0xf0)
#define MP_MMAP_GPIO_4   (MP_MMAP_BASE + 0xf4)
#define MP_MMAP_GPIO_8   (MP_MMAP_BASE + 0xf8)
#define MP_MMAP_GPIO_C   (MP_MMAP_BASE + 0xfc)
#define SC_MMAP_BASE   0x00000200
#define SC_MMAP_NODE_ID   (SC_MMAP_BASE + 0x00)
#define SC_MMAP_NOC_SIZE   (SC_MMAP_BASE + 0x04)
#define SC_MMAP_PC   (SC_MMAP_BASE + 0x08)
#define SC_MMAP_TIMER   (SC_MMAP_BASE + 0x10)
#define SC_MMAP_TIMER_D   (SC_MMAP_BASE + 0x14)
#define SC_MMAP_INST_LOOP   (SC_MMAP_BASE + 0x18)
#define SC_MMAP_INST_LOOP__   (SC_MMAP_BASE + 0x1c)
#define SC_MMAP_DMA_PUT_REMOTE_ID   (SC_MMAP_BASE + 0x20)
#define SC_MMAP_DMA_PUT_REMOTE_ADDR   (SC_MMAP_BASE + 0x24)
#define SC_MMAP_DMA_PUT_REMOTE_STRIDE   (SC_MMAP_BASE + 0x28)
#define SC_MMAP_DMA_PUT_LOCAL_ADDR   (SC_MMAP_BASE + 0x2c)
#define SC_MMAP_DMA_PUT_LOCAL_STRIDE   (SC_MMAP_BASE + 0x30)
#define SC_MMAP_DMA_PUT_SIZE   (SC_MMAP_BASE + 0x34)
#define SC_MMAP_DMA_PUT_CMD   (SC_MMAP_BASE + 0x3c)
#define SC_MMAP_DMA_GET_REMOTE_ID   (SC_MMAP_BASE + 0x40)
#define SC_MMAP_DMA_GET_REMOTE_ADDR_L   (SC_MMAP_BASE + 0x44)
#define SC_MMAP_DMA_GET_REMOTE_ADDR_H   (SC_MMAP_BASE + 0x48)
#define SC_MMAP_DMA_GET_LOCAL_ADDR   (SC_MMAP_BASE + 0x4c)
#define SC_MMAP_DMA_GET_SIZE   (SC_MMAP_BASE + 0x50)
#define SC_MMAP_DMA_GET_REMOTE_STRIDE   (SC_MMAP_BASE + 0x54)
#define SC_MMAP_DMA_GET_LOCAL_STRIDE   (SC_MMAP_BASE + 0x58)
#define SC_MMAP_DMA_GET_CMD   (SC_MMAP_BASE + 0x5c)
#define SC_MMAP_DMA_FLAG   (SC_MMAP_BASE + 0x80)
#define SC_MMAP_NODE_SERVER   (SC_MMAP_BASE + 0x100)
#define SC_MMAP_INCC_WRIGHT_ADDR   (SC_MMAP_BASE + 0x104)
#define GMEM_BASE   0x00000200
#define GMEM_DMA_GET_REMOTE_ID   (GMEM_BASE + 0x40)
#define GMEM_DMA_GET_REMOTE_ADDR_L   (GMEM_BASE + 0x44)
#define GMEM_DMA_GET_REMOTE_ADDR_H   (GMEM_BASE + 0x48)
#define GMEM_DMA_GET_LOCAL_ADDR_L   (GMEM_BASE + 0x4c)
#define GMEM_DMA_GET_LOCAL_ADDR_H   (GMEM_BASE + 0x50)
#define GMEM_DMA_GET_SIZE   (GMEM_BASE + 0x54)
#define GMEM_DMA_GET_REMOTE_STRIDE   (GMEM_BASE + 0x58)
#define GMEM_DMA_GET_CMD   (GMEM_BASE + 0x5c)
#define ENV_FLIT_VIEW   "FLITVIEW"
#define DEF_RANK_X   4
#define DEF_RANK_Y   4
#define MAX_ROW   127
#define MAX_COL   127
#define MAX_NODE   (MAX_ROW * MAX_COL)
#define MAX_LOG_MODE   5
#define DEF_MAX_CYCLE   MAX_CYCLE_DEF
#define MAX_FLITS_PER_PACKET   11
#define MAX_MEM_LATENCY   (1<<8 - 1)
#define DEFAULT_STRIDE   4
#define IDX(id)   ((int)(((id) >> 8) & 0xff))
#define IDY(id)   ((int)((id) & 0xff))
#define print_error(...)   fprintf(stderr, "## ERROR: " __VA_ARGS__)
#define print_exit(...)   (print_error(__VA_ARGS__), exit(1))
#define round_robin(__i, last, MAX)
#define opposite(x)
#define LOG1_HEADER

Typedefs

typedef unsigned short uint016_t
typedef Board Core

Enumerations

enum  {
  FLIT_VALID = 1 << 5, FLIT_HEADER = 1 << 4, FLIT_ADDR = 1 << 3, FLIT_STRIDE = 1 << 2,
  FLIT_DATA = 1 << 1, FLIT_TAILER = 1 << 0
}
enum  {
  N, E, S, W,
  C, NUM_DIRECTION
}
enum  { DMAFLAG_NA, DMAFLAG_ACK, DMAFLAG_NACK }
enum  { NODE_COMP, NODE_SERVER, NODE_MEM, NODE_PATH }
enum  MC_Datatype { MC_CHAR, MC_INT, MC_FLOAT, MC_DOUBLE }
enum  MC_Op {
  MC_MAX, MC_MIN, MC_SUM, MC_PROD,
  MC_LAND, MC_BAND, MC_LOR, MC_BOR,
  MC_LXOR, MC_BXOR, MC_MAXLOC, MC_MINLOC
}

Variables

const flit_t flit_invalid = {0}


Define Documentation

#define DEF_MAX_CYCLE   MAX_CYCLE_DEF

#define DEF_RANK_X   4

#define DEF_RANK_Y   4

#define DEFAULT_STRIDE   4

#define ENV_FLIT_VIEW   "FLITVIEW"

#define GMEM_BASE   0x00000200

#define GMEM_DMA_GET_CMD   (GMEM_BASE + 0x5c)

#define GMEM_DMA_GET_LOCAL_ADDR_H   (GMEM_BASE + 0x50)

#define GMEM_DMA_GET_LOCAL_ADDR_L   (GMEM_BASE + 0x4c)

#define GMEM_DMA_GET_REMOTE_ADDR_H   (GMEM_BASE + 0x48)

#define GMEM_DMA_GET_REMOTE_ADDR_L   (GMEM_BASE + 0x44)

#define GMEM_DMA_GET_REMOTE_ID   (GMEM_BASE + 0x40)

#define GMEM_DMA_GET_REMOTE_STRIDE   (GMEM_BASE + 0x58)

#define GMEM_DMA_GET_SIZE   (GMEM_BASE + 0x54)

#define IDX ( id   )     ((int)(((id) >> 8) & 0xff))

#define IDY ( id   )     ((int)((id) & 0xff))

#define LOG1_HEADER

Value:

"## cycle dma_put        src-id dst-id   src-addr   dst-addr      byte stride\n" \
    "## cycle dfma_put_4b    src-id dst-id       data   dst-addr\n"    \
    "## cycle recieve-header            id                                 stride\n" \
    "## cycle recieve-addr              id              dst-addr\n"     \
    "## cycle receive-body              id       data\n"

#define MAX_COL   127

#define MAX_FLITS_PER_PACKET   11

#define MAX_LOG_MODE   5

#define MAX_MEM_LATENCY   (1<<8 - 1)

#define MAX_NODE   (MAX_ROW * MAX_COL)

#define MAX_ROW   127

#define MC_LIB_VER   "1.0.0"

#define MC_NAME   "SimMc M-Core alpha : Many-Core and NoC Simulator"

#define MC_VER   "v1.0 2010-03-30"

#define MP_MMAP_BASE   0x00000100

#define MP_MMAP_BUZZER   (MP_MMAP_BASE + 0x08)

#define MP_MMAP_GPIO_0   (MP_MMAP_BASE + 0xf0)

#define MP_MMAP_GPIO_4   (MP_MMAP_BASE + 0xf4)

#define MP_MMAP_GPIO_8   (MP_MMAP_BASE + 0xf8)

#define MP_MMAP_GPIO_C   (MP_MMAP_BASE + 0xfc)

#define MP_MMAP_KEYCODE   (MP_MMAP_BASE + 0x00)

#define MP_MMAP_LCD   (MP_MMAP_BASE + 0x04)

#define MP_MMAP_TIMER   (MP_MMAP_BASE + 0x0c)

#define opposite (  ) 

Value:

((x) == N ? S :                             \
     ((x) == E ? W :                            \
      ((x) == S ? N :                           \
       ((x) == W ? E :                          \
        0xffff))))

#define print_error ( ...   )     fprintf(stderr, "## ERROR: " __VA_ARGS__)

#define print_exit ( ...   )     (print_error(__VA_ARGS__), exit(1))

#define round_robin ( __i,
last,
MAX   ) 

Value:

for(int __i=((last)+1>=(MAX))?0:(last)+1, __t=0;                    \
        __t<(MAX);                                                      \
        __i=(__i+1>=(MAX))?0:__i+1, __t++)

#define SC_MMAP_BASE   0x00000200

#define SC_MMAP_DMA_FLAG   (SC_MMAP_BASE + 0x80)

#define SC_MMAP_DMA_GET_CMD   (SC_MMAP_BASE + 0x5c)

#define SC_MMAP_DMA_GET_LOCAL_ADDR   (SC_MMAP_BASE + 0x4c)

#define SC_MMAP_DMA_GET_LOCAL_STRIDE   (SC_MMAP_BASE + 0x58)

#define SC_MMAP_DMA_GET_REMOTE_ADDR_H   (SC_MMAP_BASE + 0x48)

#define SC_MMAP_DMA_GET_REMOTE_ADDR_L   (SC_MMAP_BASE + 0x44)

#define SC_MMAP_DMA_GET_REMOTE_ID   (SC_MMAP_BASE + 0x40)

#define SC_MMAP_DMA_GET_REMOTE_STRIDE   (SC_MMAP_BASE + 0x54)

#define SC_MMAP_DMA_GET_SIZE   (SC_MMAP_BASE + 0x50)

#define SC_MMAP_DMA_PUT_CMD   (SC_MMAP_BASE + 0x3c)

#define SC_MMAP_DMA_PUT_LOCAL_ADDR   (SC_MMAP_BASE + 0x2c)

#define SC_MMAP_DMA_PUT_LOCAL_STRIDE   (SC_MMAP_BASE + 0x30)

#define SC_MMAP_DMA_PUT_REMOTE_ADDR   (SC_MMAP_BASE + 0x24)

#define SC_MMAP_DMA_PUT_REMOTE_ID   (SC_MMAP_BASE + 0x20)

#define SC_MMAP_DMA_PUT_REMOTE_STRIDE   (SC_MMAP_BASE + 0x28)

#define SC_MMAP_DMA_PUT_SIZE   (SC_MMAP_BASE + 0x34)

#define SC_MMAP_INCC_WRIGHT_ADDR   (SC_MMAP_BASE + 0x104)

#define SC_MMAP_INST_LOOP   (SC_MMAP_BASE + 0x18)

#define SC_MMAP_INST_LOOP__   (SC_MMAP_BASE + 0x1c)

#define SC_MMAP_NOC_SIZE   (SC_MMAP_BASE + 0x04)

#define SC_MMAP_NODE_ID   (SC_MMAP_BASE + 0x00)

#define SC_MMAP_NODE_SERVER   (SC_MMAP_BASE + 0x100)

#define SC_MMAP_PC   (SC_MMAP_BASE + 0x08)

#define SC_MMAP_TIMER   (SC_MMAP_BASE + 0x10)

#define SC_MMAP_TIMER_D   (SC_MMAP_BASE + 0x14)


Typedef Documentation

typedef Board Core

typedef unsigned short uint016_t


Enumeration Type Documentation

anonymous enum

flags of flit

Enumerator:
FLIT_VALID 
FLIT_HEADER  valid
FLIT_ADDR  header flit
FLIT_STRIDE  address flit
FLIT_DATA  stride flit
FLIT_TAILER  data flit

anonymous enum

Enumerator:
N 
E  valid
S 
W 
C 
NUM_DIRECTION 

anonymous enum

Enumerator:
DMAFLAG_NA 
DMAFLAG_ACK 
DMAFLAG_NACK 

anonymous enum

Enumerator:
NODE_COMP 
NODE_SERVER 
NODE_MEM 
NODE_PATH 

Enumerator:
MC_CHAR 
MC_INT 
MC_FLOAT 
MC_DOUBLE 

enum MC_Op

Enumerator:
MC_MAX 
MC_MIN 
MC_SUM 
MC_PROD 
MC_LAND 
MC_BAND 
MC_LOR 
MC_BOR 
MC_LXOR 
MC_BXOR 
MC_MAXLOC 
MC_MINLOC 


Variable Documentation

const flit_t flit_invalid = {0}


Generated on Mon Mar 29 19:17:57 2010 for SimMc by  doxygen 1.5.6