OpenCores
URL https://opencores.org/ocsvn/an-fpga-implementation-of-low-latency-noc-based-mpsoc/an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk

Subversion Repositories an-fpga-implementation-of-low-latency-noc-based-mpsoc

[/] [an-fpga-implementation-of-low-latency-noc-based-mpsoc/] [trunk/] [mpsoc/] [script/] [parameter.sh] - Diff between revs 16 and 28

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

Rev 16 Rev 28
Line 9... Line 9...
}
}
 
 
 
 
# NoC parameters:
# NoC parameters:
        V=2   # number of VC per port
        V=2   # number of VC per port
    P=5   # number of port per router
        TOPOLOGY="MESH" #"MESH" or "TORUS"
 
    P="(TOPOLOGY==\"RING\")? 3 : 5"    # number of port per router
    B=4   # buffer space :flit per VC
    B=4   # buffer space :flit per VC
    NX=8  # number of node in x axis
    NX=8  # number of node in x axis
    NY=8  # number of node in y axis
    NY=8  # number of node in y axis
    C=1   #  number of flit class
    C=1   #  number of flit class
    Fpay=32     #flit payload width
    Fpay=32     #flit payload width
    MUX_TYPE="ONE_HOT"  #crossbar multiplexer type : "ONE_HOT" or "BINARY"
    MUX_TYPE="ONE_HOT"  #crossbar multiplexer type : "ONE_HOT" or "BINARY"
    VC_REALLOCATION_TYPE="NONATOMIC" # "ATOMIC" or "NONATOMIC"
    VC_REALLOCATION_TYPE="NONATOMIC" # "ATOMIC" or "NONATOMIC"
    COMBINATION_TYPE="COMB_NONSPEC" # "BASELINE" or "COMB_SPEC1" or "COMB_SPEC2" or "COMB_NONSPEC"
    COMBINATION_TYPE="COMB_NONSPEC" # "BASELINE" or "COMB_SPEC1" or "COMB_SPEC2" or "COMB_NONSPEC"
    FIRST_ARBITER_EXT_P_EN=0
    FIRST_ARBITER_EXT_P_EN=0
    TOPOLOGY="MESH" #"MESH" or "TORUS"
 
    ROUTE_NAME="XY" # Routing algorithm
    ROUTE_NAME="XY" # Routing algorithm
        #    mesh :  "XY"        , "WEST_FIRST"      , "NORTH_LAST"      , "NEGETIVE_FIRST"      , "DUATO"
        #    mesh :  "XY"        , "WEST_FIRST"      , "NORTH_LAST"      , "NEGETIVE_FIRST"      , "DUATO"
    #   torus:  "TRANC_XY"  , "TRANC_WEST_FIRST", "TRANC_NORTH_LAST", "TRANC_NEGETIVE_FIRST", "TRANC_DUATO"
    #   torus:  "TRANC_XY"  , "TRANC_WEST_FIRST", "TRANC_NORTH_LAST", "TRANC_NEGETIVE_FIRST", "TRANC_DUATO"
 
 
 
 
        CLASS_SETTING="{CVw{1'b1}}"
        CLASS_SETTING="{CVw{1'b1}}"
 
 
 
        SSA_EN="NO"
 
 
 
 
        ADD_PIPREG_AFTER_CROSSBAR=0
        ADD_PIPREG_AFTER_CROSSBAR=0
        ADD_PIPREG_BEFORE_CROSSBAR=0
 
#simulation parameters:
#simulation parameters:
    C0_p=100    #  the percentage of injected packets with class 0
    C0_p=100    #  the percentage of injected packets with class 0
    C1_p=0
    C1_p=0
    C2_p=0
    C2_p=0
    C3_p=0
    C3_p=0
Line 84... Line 87...
        STND_DEV_EN=0 # 1: generate standard devision
        STND_DEV_EN=0 # 1: generate standard devision
 
 
generate_parameter_v (){
generate_parameter_v (){
        printf " \`ifdef     INCLUDE_PARAM \n\n" >> parameter.v
        printf " \`ifdef     INCLUDE_PARAM \n\n" >> parameter.v
        printf " parameter V=$V;\n" >> parameter.v
        printf " parameter V=$V;\n" >> parameter.v
 
        printf " parameter TOPOLOGY=\"$TOPOLOGY\";\n" >> parameter.v
        printf " parameter P=$P;\n" >> parameter.v
        printf " parameter P=$P;\n" >> parameter.v
    printf " parameter B=$B;\n" >> parameter.v
    printf " parameter B=$B;\n" >> parameter.v
    printf " parameter NX=$NX;\n" >> parameter.v
    printf " parameter NX=$NX;\n" >> parameter.v
    printf " parameter NY=$NY;\n" >> parameter.v
    printf " parameter NY=$NY;\n" >> parameter.v
    printf " parameter C=$C;\n" >> parameter.v
    printf " parameter C=$C;\n" >> parameter.v
    printf " parameter Fpay=$Fpay;\n" >> parameter.v
    printf " parameter Fpay=$Fpay;\n" >> parameter.v
    printf " parameter MUX_TYPE=\"$MUX_TYPE\";\n" >> parameter.v
    printf " parameter MUX_TYPE=\"$MUX_TYPE\";\n" >> parameter.v
    printf " parameter VC_REALLOCATION_TYPE=\"$VC_REALLOCATION_TYPE\";\n" >> parameter.v
    printf " parameter VC_REALLOCATION_TYPE=\"$VC_REALLOCATION_TYPE\";\n" >> parameter.v
    printf " parameter COMBINATION_TYPE=\"$COMBINATION_TYPE\";\n" >> parameter.v
    printf " parameter COMBINATION_TYPE=\"$COMBINATION_TYPE\";\n" >> parameter.v
    printf " parameter FIRST_ARBITER_EXT_P_EN=$FIRST_ARBITER_EXT_P_EN;\n" >> parameter.v
    printf " parameter FIRST_ARBITER_EXT_P_EN=$FIRST_ARBITER_EXT_P_EN;\n" >> parameter.v
    printf " parameter TOPOLOGY=\"$TOPOLOGY\";\n" >> parameter.v
 
    printf " parameter ROUTE_NAME=\"$ROUTE_NAME\";\n" >> parameter.v
    printf " parameter ROUTE_NAME=\"$ROUTE_NAME\";\n" >> parameter.v
        printf " parameter CONGESTION_INDEX=$CONGESTION_INDEX;\n" >> parameter.v
        printf " parameter CONGESTION_INDEX=$CONGESTION_INDEX;\n" >> parameter.v
        printf " parameter C0_p=$C0_p;\n" >> parameter.v
        printf " parameter C0_p=$C0_p;\n" >> parameter.v
    printf " parameter C1_p=$C1_p;\n" >> parameter.v
    printf " parameter C1_p=$C1_p;\n" >> parameter.v
    printf " parameter C2_p=$C2_p;\n" >> parameter.v
    printf " parameter C2_p=$C2_p;\n" >> parameter.v
Line 120... Line 124...
        printf " parameter DEBUG_EN=$DEBUG_EN;\n" >> parameter.v
        printf " parameter DEBUG_EN=$DEBUG_EN;\n" >> parameter.v
        printf " parameter ROUTE_SUBFUNC= \"$ROUTE_SUBFUNC\";\n">> parameter.v
        printf " parameter ROUTE_SUBFUNC= \"$ROUTE_SUBFUNC\";\n">> parameter.v
        printf " parameter AVC_ATOMIC_EN= $AVC_ATOMIC_EN;\n">> parameter.v
        printf " parameter AVC_ATOMIC_EN= $AVC_ATOMIC_EN;\n">> parameter.v
        printf " parameter AVG_LATENCY_METRIC= \"$AVG_LATENCY_METRIC\";\n">> parameter.v
        printf " parameter AVG_LATENCY_METRIC= \"$AVG_LATENCY_METRIC\";\n">> parameter.v
        printf " parameter ADD_PIPREG_AFTER_CROSSBAR= $ADD_PIPREG_AFTER_CROSSBAR;\n" >>  parameter.v
        printf " parameter ADD_PIPREG_AFTER_CROSSBAR= $ADD_PIPREG_AFTER_CROSSBAR;\n" >>  parameter.v
        printf " parameter ADD_PIPREG_BEFORE_CROSSBAR= $ADD_PIPREG_BEFORE_CROSSBAR;\n" >>  parameter.v
 
        printf " parameter CVw=(C==0)? V : C * V;\n" >>  parameter.v
        printf " parameter CVw=(C==0)? V : C * V;\n" >>  parameter.v
        printf " parameter [CVw-1:   0] CLASS_SETTING = $CLASS_SETTING;\n">>  parameter.v
        printf " parameter [CVw-1:   0] CLASS_SETTING = $CLASS_SETTING;\n">>  parameter.v
        printf " parameter [V-1 :       0] ESCAP_VC_MASK=$ESCAP_VC_MASK;\n" >> parameter.v
        printf " parameter [V-1 :       0] ESCAP_VC_MASK=$ESCAP_VC_MASK;\n" >> parameter.v
 
        printf " parameter SSA_EN= \"$SSA_EN\";\n">> parameter.v
        printf " \n\n \`endif " >> parameter.v
        printf " \n\n \`endif " >> parameter.v
 
 
 
 
}
}
 
 
Line 168... Line 172...
        printf "\t #define      AVC_ATOMIC_EN $AVC_ATOMIC_EN\n" >> parameter.h
        printf "\t #define      AVC_ATOMIC_EN $AVC_ATOMIC_EN\n" >> parameter.h
        printf "\t #define      CONGESTION_INDEX $CONGESTION_INDEX\n">>parameter.h
        printf "\t #define      CONGESTION_INDEX $CONGESTION_INDEX\n">>parameter.h
        printf "\t #define      STND_DEV_EN     $STND_DEV_EN\n">> parameter.h
        printf "\t #define      STND_DEV_EN     $STND_DEV_EN\n">> parameter.h
        printf "\t #define  AVG_LATENCY_METRIC  \"$AVG_LATENCY_METRIC\"\n">> parameter.h
        printf "\t #define  AVG_LATENCY_METRIC  \"$AVG_LATENCY_METRIC\"\n">> parameter.h
        printf "\t #define  ADD_PIPREG_AFTER_CROSSBAR  $ADD_PIPREG_AFTER_CROSSBAR\n" >>   parameter.h
        printf "\t #define  ADD_PIPREG_AFTER_CROSSBAR  $ADD_PIPREG_AFTER_CROSSBAR\n" >>   parameter.h
        printf "\t #define  ADD_PIPREG_BEFORE_CROSSBAR  $ADD_PIPREG_BEFORE_CROSSBAR\n" >> parameter.h
 
        printf "\t #define  CVw (C==0)? V : C * V\n" >>  parameter.h
        printf "\t #define  CVw (C==0)? V : C * V\n" >>  parameter.h
        printf "\t #define  CLASS_SETTING   \"$CLASS_SETTING\"\n">>  parameter.h
        printf "\t #define  CLASS_SETTING   \"$CLASS_SETTING\"\n">>  parameter.h
        printf "\t #define  ESCAP_VC_MASK       $ESCAP_VC_MASK\n">>  parameter.h
        printf "\t #define  ESCAP_VC_MASK       $ESCAP_VC_MASK\n">>  parameter.h
 
        printf "\t #define      SSA_EN \"$SSA_EN\"\n" >> parameter.h
        printf " \n\n #endif " >> parameter.h
        printf " \n\n #endif " >> parameter.h
 
 
}
}
 
 
 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.