Ignore:
Timestamp:
Mar 9, 2013, 1:03:04 AM (12 years ago)
Author:
cfuguet
Message:

Updating width of the way index in DSPIN coherence flits.
Using 2 bits instead of 4.

Updating packet formats in comments of the dspin_dhccp_param
definition file.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/v5/communication/dspin_dhccp_param/caba/source/include/dspin_dhccp_param.h

    r311 r312  
    1414 * flit 1
    1515 * ----------------------------------------------------------------------------------------------
    16  * EOP:0 | DEST(10 bits) | SRCID(14 bits) | NLINE MSB(2 bits) | WAY_INDEX(4 bits)  |    TYPE:0b1X
     16 * EOP:0 |    DEST    |   SRCID   | NLINE MSB(2 bits)| X | WAY_INDEX(2 bits) | TYPE:0b1X | BC:0
     17 *       |  (10 bits) | (14 bits) |                  |   |                   |           |
    1718 * ----------------------------------------------------------------------------------------------
    1819 *                                                                                 | X: 0 DATA  |
     
    2728 * flit 1
    2829 * ----------------------------------------------------------------------------------------------
    29  * EOP:1 | DEST(10 bits) |                         X(16 bits) | UPDT_INDEX(4 bits) |    TYPE:0b00
     30 * EOP:1 |     DEST(10 bits)     |       X(15 bits)       | UPDT_INDEX(4 bits) | TYPE:0b00 | BC:0
    3031 * ----------------------------------------------------------------------------------------------
    3132 */
     
    3839 * flit 1
    3940 * ----------------------------------------------------------------------------------------------
    40  * EOP:1 | DEST(14 bits) | X | SET_INDEX(16 bits) | WAY_INDEX(4 bits) | TYPE:0b100(3 bits) | BC:0
     41 * EOP:1 | DEST(14 bits) | X(3 bits) | SET_INDEX(16 bits) | WAY_INDEX(2 bits) | TYPE:0b100 | BC:0
    4142 * ----------------------------------------------------------------------------------------------
    4243 *
     
    8788 * flit 2
    8889 * ----------------------------------------------------------------------------------------------
    89  * EOP:1 | X | UPDT_INDEX(4 bits) |                                              NLINE (34 bits)
     90 * EOP:1 |        X(5 bits)      |                                              NLINE (34 bits)
    9091 * ----------------------------------------------------------------------------------------------
    9192 */
     
    112113    static const uint8_t  SRCID_WIDTH                  = 14;
    113114    static const uint8_t  GLOBALID_WIDTH               = 10;
    114     static const uint8_t  MEMC_TYPE_WIDTH              = 3;
    115115    static const uint8_t  WORD_INDEX_WIDTH             = 4;
    116116    static const uint8_t  BE_WIDTH                     = 4;
    117117    static const uint8_t  DATA_WIDTH                   = 32;
    118118    static const uint8_t  SET_INDEX_WIDTH              = 16;
    119     static const uint8_t  WAY_INDEX_WIDTH              = 4;
     119    static const uint8_t  WAY_INDEX_WIDTH              = 2;
    120120    static const uint8_t  BROADCAST_BOX_WIDTH          = 20;
     121    static const uint8_t  MC_TYPE_WIDTH                = 3;
    121122    static const uint8_t  L1_TYPE_WIDTH                = 2;
    122123
     
    134135    static const uint8_t  CLEANUP_NLINE_MSB_SHIFT      = 6;
    135136    static const uint64_t CLEANUP_NLINE_MSB_MASK       = ((1ULL<< 2)-1);
    136     static const uint8_t  CLEANUP_WAY_INDEX_SHIFT      = 2;
     137    static const uint8_t  CLEANUP_WAY_INDEX_SHIFT      = 3;
    137138    static const uint64_t CLEANUP_WAY_INDEX_MASK       = ((1ULL<<WAY_INDEX_WIDTH)-1);
    138139    static const uint8_t  CLEANUP_NLINE_LSB_SHIFT      = 0;
    139140    static const uint64_t CLEANUP_NLINE_LSB_MASK       = ((1ULL<<32)-1);
    140141
    141     static const uint8_t  MULTI_ACK_EOP_SHIFT          = FROM_L1_EOP_SHIFT;
    142     static const uint64_t MULTI_ACK_EOP_MASK           = FROM_L1_EOP_MASK;
    143142    static const uint8_t  MULTI_ACK_DEST_SHIFT         = CLEANUP_DEST_SHIFT;
    144143    static const uint64_t MULTI_ACK_DEST_MASK          = CLEANUP_DEST_MASK;
    145     static const uint8_t  MULTI_ACK_UPDT_INDEX_SHIFT   = 2;
     144    static const uint8_t  MULTI_ACK_UPDT_INDEX_SHIFT   = 3;
    146145    static const uint64_t MULTI_ACK_UPDT_INDEX_MASK    = ((1ULL<<UPDT_INDEX_WIDTH)-1);
    147146
    148147    static const uint8_t  FROM_MC_TYPE_SHIFT           = 1;
    149     static const uint64_t FROM_MC_TYPE_MASK            = ((1ULL<<MEMC_TYPE_WIDTH)-1);
     148    static const uint64_t FROM_MC_TYPE_MASK            = ((1ULL<<MC_TYPE_WIDTH)-1);
    150149    static const uint8_t  FROM_MC_EOP_SHIFT            = 39;
    151150    static const uint64_t FROM_MC_EOP_MASK             = 1;
     
    153152    static const uint64_t FROM_MC_BC_MASK              = 1;
    154153
    155     static const uint8_t  MULTI_INVAL_DEST_SHIFT       = 26;
     154    static const uint8_t  MULTI_INVAL_DEST_SHIFT       = 25;
    156155    static const uint64_t MULTI_INVAL_DEST_MASK        = ((1ULL<<SRCID_WIDTH)-1);
    157156    static const uint8_t  MULTI_INVAL_SRCID_SHIFT      = 8;
     
    179178    static const uint8_t  CLEANUP_ACK_DEST_SHIFT       = MULTI_INVAL_DEST_SHIFT;
    180179    static const uint64_t CLEANUP_ACK_DEST_MASK        = MULTI_INVAL_DEST_MASK;
    181     static const uint8_t  CLEANUP_ACK_SET_SHIFT        = 8;
     180    static const uint8_t  CLEANUP_ACK_SET_SHIFT        = 6;
    182181    static const uint64_t CLEANUP_ACK_SET_MASK         = ((1ULL<<SET_INDEX_WIDTH)-1);
    183182    static const uint8_t  CLEANUP_ACK_WAY_SHIFT        = 4;
    184183    static const uint64_t CLEANUP_ACK_WAY_MASK         = ((1ULL<<WAY_INDEX_WIDTH)-1);
    185184
    186     static const uint8_t  BROADCAST_BOX_SHIFT          = 29;
     185    static const uint8_t  BROADCAST_BOX_SHIFT          = 19;
    187186    static const uint64_t BROADCAST_BOX_MASK           = ((1ULL<<BROADCAST_BOX_WIDTH)-1);
    188187    static const uint8_t  BROADCAST_SRCID_SHIFT        = 5;
    189188    static const uint64_t BROADCAST_SRCID_MASK         = MULTI_INVAL_SRCID_MASK;
    190     static const uint8_t  BROADCAST_UPDT_INDEX_SHIFT   = 34;
    191     static const uint64_t BROADCAST_UPDT_INDEX_MASK    = MULTI_INVAL_UPDT_INDEX_MASK;
    192189    static const uint8_t  BROADCAST_NLINE_SHIFT        = 0;
    193190    static const uint64_t BROADCAST_NLINE_MASK         = MULTI_INVAL_NLINE_MASK;
     
    256253      BROADCAST_BOX,
    257254      BROADCAST_SRCID,
    258       BROADCAST_UPDT_INDEX,
    259255      BROADCAST_NLINE
    260256    };
     
    293289        GET_FIELD(flit,BROADCAST_BOX);
    294290        GET_FIELD(flit,BROADCAST_SRCID);
    295         GET_FIELD(flit,BROADCAST_UPDT_INDEX);
    296291        GET_FIELD(flit,BROADCAST_NLINE);
    297292
     
    333328        SET_FIELD(flit,value,BROADCAST_BOX);
    334329        SET_FIELD(flit,value,BROADCAST_SRCID);
    335         SET_FIELD(flit,value,BROADCAST_UPDT_INDEX);
    336330        SET_FIELD(flit,value,BROADCAST_NLINE);
    337331
Note: See TracChangeset for help on using the changeset viewer.