Changeset 186 for trunk/modules


Ignore:
Timestamp:
Jan 7, 2012, 7:27:28 PM (12 years ago)
Author:
alain
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/modules/vci_vdspin_initiator_wrapper/caba/source/src/vci_vdspin_initiator_wrapper.cpp

    r153 r186  
    126126                    {
    127127                        r_cmd_fsm     = CMD_BROADCAST;
    128                         cmd_fifo_data = (address      & 0x7FFFF80000) |
    129                                         ((srcid << 5) & 0x000007FFE0) |
    130                                         ((trdid << 1) & 0x000000001E) |
    131                                                         0x0000000001;           
     128                        cmd_fifo_data = (address      & 0x7FFFF80000LL) |
     129                                        ((srcid << 5) & 0x000007FFE0LL) |
     130                                        ((trdid << 1) & 0x000000001ELL) |
     131                                                        0x0000000001LL;         
    132132                    }
    133133                    else if (is_read )                  // VCI READ  command
    134134                    {
    135135                        r_cmd_fsm     = CMD_READ;
    136                         cmd_fifo_data = address & 0x7FFFFFFFFE;
     136                        cmd_fifo_data = address & 0x7FFFFFFFFELL;
    137137                    }
    138138                    else                                // VCI WRITE command
    139139                    {
    140140                        r_cmd_fsm     = CMD_WRITE;
    141                         cmd_fifo_data = address & 0x7FFFFFFFFE;
     141                        cmd_fifo_data = address & 0x7FFFFFFFFELL;
    142142                    }
    143143                }
     
    151151                    sc_uint<dspin_cmd_width> data = (sc_uint<dspin_cmd_width>)p_vci.wdata.read();
    152152                    sc_uint<dspin_cmd_width> be   = (sc_uint<dspin_cmd_width>)p_vci.be.read();
    153                     cmd_fifo_data    = (data       & 0x00FFFFFFFF) |
    154                                        ((be << 32) & 0x0300000000) |
    155                                                      0x8000000000;
     153                    cmd_fifo_data    = (data       & 0x00FFFFFFFFLL) |
     154                                       ((be << 32) & 0x0300000000LL) |
     155                                                     0x8000000000LL;
    156156                    r_cmd_fsm = CMD_IDLE;
    157157                }
     
    169169                    sc_uint<dspin_cmd_width> plen    = (sc_uint<dspin_cmd_width>)p_vci.plen.read();
    170170                    sc_uint<dspin_cmd_width> be      = (sc_uint<dspin_cmd_width>)p_vci.be.read();
    171                     cmd_fifo_data       = ((be    << 1 ) & 0x000000001E) |
    172                                           ((trdid << 5 ) & 0x0000001FE0) |
    173                                           ((plen  << 13) & 0x00001FE000) |
    174                                           ((cmd   << 23) & 0x0001800000) |
    175                                           ((srcid << 25) & 0x7FFE000000) ;
    176                     if ( p_vci.contig.read() ) cmd_fifo_data = cmd_fifo_data | 0x0000400000 ;
    177                     if ( p_vci.cons.read()   ) cmd_fifo_data = cmd_fifo_data | 0x0000200000 ;
     171                    cmd_fifo_data       = ((be    << 1 ) & 0x000000001ELL) |
     172                                          ((trdid << 5 ) & 0x0000001FE0LL) |
     173                                          ((plen  << 13) & 0x00001FE000LL) |
     174                                          ((cmd   << 23) & 0x0001800000LL) |
     175                                          ((srcid << 25) & 0x7FFE000000LL) ;
     176                    if ( p_vci.contig.read() ) cmd_fifo_data = cmd_fifo_data | 0x0000400000LL ;
     177                    if ( p_vci.cons.read()   ) cmd_fifo_data = cmd_fifo_data | 0x0000200000LL ;
    178178
    179179                    if( r_cmd_fsm == CMD_READ )  // read command
    180180                    {
    181181                        r_cmd_fsm = CMD_IDLE;
    182                         cmd_fifo_data = cmd_fifo_data    | 0x8000000000 ;
     182                        cmd_fifo_data = cmd_fifo_data    | 0x8000000000LL ;
    183183                    }
    184184                    else                        // write command
     
    196196                    sc_uint<dspin_cmd_width> data = (sc_uint<dspin_cmd_width>)p_vci.wdata.read();
    197197                    sc_uint<dspin_cmd_width> be   = (sc_uint<dspin_cmd_width>)p_vci.be.read();
    198                     cmd_fifo_data    = (data       & 0x00FFFFFFFF) |
    199                                        ((be << 32) & 0x0F00000000) ;
     198                    cmd_fifo_data    = (data       & 0x00FFFFFFFFLL) |
     199                                       ((be << 32) & 0x0F00000000LL) ;
    200200                                       
    201201                    if ( p_vci.eop.read() )
    202202                    {
    203                         cmd_fifo_data = cmd_fifo_data | 0x8000000000;
     203                        cmd_fifo_data = cmd_fifo_data | 0x8000000000LL;
    204204                        r_cmd_fsm = CMD_IDLE;
    205205                    }
     
    242242                    rsp_fifo_read = true;
    243243                    r_rsp_buf = r_fifo_rsp.read();
    244                     if ( (r_fifo_rsp.read() & 0x000020000) == 0 )  r_rsp_fsm = RSP_READ;
    245                     else                                           r_rsp_fsm = RSP_WRITE;
     244                    if ( (r_fifo_rsp.read() & 0x000020000LL) == 0 )  r_rsp_fsm = RSP_READ;
     245                    else                                             r_rsp_fsm = RSP_WRITE;
    246246                }
    247247                break;
     
    252252                {
    253253                    rsp_fifo_read = true;
    254                     if ( (r_fifo_rsp.read() & 0x100000000) ) r_rsp_fsm = RSP_IDLE;
     254                    if ( (r_fifo_rsp.read() & 0x100000000LL) ) r_rsp_fsm = RSP_IDLE;
    255255                }
    256256                break;
     
    291291            p_vci.rspval = true;
    292292            p_vci.rdata  = 0;
    293             p_vci.rsrcid = (sc_uint<vci_param::S>)((r_rsp_buf.read() & 0x0FFFC0000) >> 18);
    294             p_vci.rtrdid = (sc_uint<vci_param::T>)((r_rsp_buf.read() & 0x00000FF00) >> 8);
     293            p_vci.rsrcid = (sc_uint<vci_param::S>)((r_rsp_buf.read() & 0x0FFFC0000LL) >> 18);
     294            p_vci.rtrdid = (sc_uint<vci_param::T>)((r_rsp_buf.read() & 0x00000FF00LL) >> 8);
    295295            p_vci.rpktid = 0;
    296             p_vci.rerror = (sc_uint<vci_param::E>)((r_rsp_buf.read() & 0x000030000) >> 16);
     296            p_vci.rerror = (sc_uint<vci_param::E>)((r_rsp_buf.read() & 0x000030000LL) >> 16);
    297297            p_vci.reop   = true;
    298298        }
     
    300300        {
    301301            p_vci.rspval = r_fifo_rsp.rok();
    302             p_vci.rdata  = (sc_uint<8*vci_param::B>)(r_fifo_rsp.read() & 0x0FFFFFFFF);
    303             p_vci.rsrcid = (sc_uint<vci_param::S>)((r_rsp_buf.read()   & 0x0FFFC0000) >> 18);
    304             p_vci.rtrdid = (sc_uint<vci_param::T>)((r_rsp_buf.read()   & 0x00000FF00) >> 8);
     302            p_vci.rdata  = (sc_uint<8*vci_param::B>)(r_fifo_rsp.read() & 0x0FFFFFFFFLL);
     303            p_vci.rsrcid = (sc_uint<vci_param::S>)((r_rsp_buf.read()   & 0x0FFFC0000LL) >> 18);
     304            p_vci.rtrdid = (sc_uint<vci_param::T>)((r_rsp_buf.read()   & 0x00000FF00LL) >> 8);
    305305            p_vci.rpktid = 0;
    306             p_vci.rerror = (sc_uint<vci_param::E>)((r_rsp_buf.read()   & 0x000030000) >> 16);
    307             p_vci.reop   = ((r_fifo_rsp.read() & 0x100000000) == 0x100000000);
     306            p_vci.rerror = (sc_uint<vci_param::E>)((r_rsp_buf.read()   & 0x000030000LL) >> 16);
     307            p_vci.reop   = ((r_fifo_rsp.read() & 0x100000000LL) == 0x100000000LL);
    308308        }
    309309
Note: See TracChangeset for help on using the changeset viewer.