LOGIN   :::   RECOVER PASS   :::   GET ACCOUNT    
Browse
  • Projects
  • Code (CVS)
  • Forums
  • News
  • Articles
  • Polls
  •  
    OpenCores
  • FAQ
  • CVS HowTo
  • Mission
  • Media
  • Tools
  • Advertise
  • Mirrors
  • Logos
  • Contact us
  • Find Resources
  • Job Opportunity
  •  
    Tools
  • Search
      
  • Download Cores (CVSGet)
  •  
    More
  • Wishbone
  • Perlilog
  • EDA tools
  • OpenTech CD
  •  
    Navigation: All forums > Cvs-checkins > Message List > Message Post

    Message

    Reply | Reply all
    Date Prev | Date Next | Thread Prev | Thread Next Date Index | Thread Index

    From: cvs at opencores.org<cvs@o...>
    Date: Thu Jan 25 00:47:03 CET 2007
    Subject: [cvs-checkins] MODIFIED: s1_core ...
    Top
    Date: 00/07/01 25:00:47

    Modified: s1_core/tools/opt/tracan tracan.c
    Log:
    Corrected the bug about the packet format, now we are near to perfection...




    Revision Changes Path
    1.2 s1_core/tools/opt/tracan/tracan.c

    http://www.opencores.org/cvsweb.shtml/s1_core/tools/opt/tracan/tracan.c.diff?r1=1.1&r2=1.2

    (In the diff below, changes in quantity of whitespace are not shown.)

    Index: tracan.c
    ===================================================================
    RCS file: /cvsroot/fafa1971/s1_core/tools/opt/tracan/tracan.c,v
    retrieving revision 1.1
    retrieving revision 1.2
    diff -u -b -r1.1 -r1.2
    --- tracan.c 4 Jan 2007 02:23:45 -0000 1.1
    +++ tracan.c 24 Jan 2007 23:47:02 -0000 1.2
    @@ -24,10 +24,12 @@
    len = strlen(buf);
    if(len==LEN_REQ && dir==CHAR_REQ) {

    + if(bitsToInt(PCX_VLD,PCX_VLD)==0) printf("INFO: SPC2WBM: *** DIRTY REQUEST FROM SPARC CORE ***\n");
    + else {
    +
    // Write details of request packet
    printf("INFO: SPC2WBM: *** NEW REQUEST FROM SPARC CORE ***\n");
    - if(bitsToInt(PCX_VLD,PCX_VLD)==1) printf("INFO: SPC2WBM: Request has valid bit\n");
    - else printf("INFO: SPC2WBM: Request has not valid bit\n");
    + printf("INFO: SPC2WBM: Valid bit is %d\n",bitsToInt(PCX_VLD,PCX_VLD));
    switch(bitsToInt(PCX_RQ_HI,PCX_RQ_LO)) {
    case LOAD_RQ: printf("INFO: SPC2WBM: Request of Type LOAD_RQ\n"); break;
    case IMISS_RQ: printf("INFO: SPC2WBM: Request of Type IMISS_RQ\n"); break;
    @@ -44,17 +46,11 @@
    case RSVD_RQ: printf("INFO: SPC2WBM: Request of Type RSVD_RQ\n"); break;
    default: printf("INFO: SPC2WBM: Request of Type Unknown\n");
    }
    - if(bitsToInt(PCX_RQ_HI,PCX_RQ_LO)==IMISS_RQ) {
    - if(bitsToInt(PCX_R,PCX_R)==1) printf("INFO: SPC2WBM: Request is Non-Cacheable\n");
    - else printf("INFO: SPC2WBM: Request is Cacheable\n");
    - } else {
    - if(bitsToInt(PCX_R,PCX_R)==1) printf("INFO: SPC2WBM: Request is a Read Access\n");
    - else printf("INFO: SPC2WBM: Request is a Write Access\n");
    - }
    + printf("INFO: SPC2WBM: Non-Cacheable bit is %d\n", bitsToInt(PCX_R,PCX_R));
    printf("INFO: SPC2WBM: CPU ID is %0X\n", bitsToInt(PCX_CP_HI,PCX_CP_LO));
    printf("INFO: SPC2WBM: Thread is %0X\n", bitsToInt(PCX_TH_HI,PCX_TH_LO));
    - printf("INFO: SPC2WBM: Buffer is %0X\n", bitsToInt(PCX_BF_HI,PCX_BF_LO));
    - printf("INFO: SPC2WBM: Packet ID is %0X\n", bitsToInt(PCX_P_HI,PCX_P_LO));
    + printf("INFO: SPC2WBM: Invalidate All is %0X\n", bitsToInt(PCX_INVALL,PCX_INVALL));
    + printf("INFO: SPC2WBM: Replaced L1 Way is %0X\n", bitsToInt(PCX_WY_HI,PCX_WY_LO));
    switch(bitsToInt(PCX_SZ_HI,PCX_SZ_LO)) {
    case PCX_SZ_1B: printf("INFO: SPC2WBM: Request size is 1 Byte\n"); break;
    case PCX_SZ_2B: printf("INFO: SPC2WBM: Request size is 2 Bytes\n"); break;
    @@ -63,35 +59,34 @@
    case PCX_SZ_16B: printf("INFO: SPC2WBM: Request size is 16 Bytes\n"); break;
    default: printf("INFO: SPC2WBM: Request size is Unknown\n");
    }
    - printf("INFO: SPC2WBM: Error is %0X\n", bitsToInt(PCX_ERR_HI,PCX_ERR_LO));
    printf("INFO: SPC2WBM: Address is %05X%05X\n", bitsToInt(PCX_AD_HI,PCX_AD_HI-19), bitsToInt(PCX_AD_HI-20,PCX_AD_LO));
    printf("INFO: SPC2WBM: Data is %08X%08X\n", bitsToInt(PCX_DA_HI,PCX_DA_HI-31), bitsToInt(PCX_DA_HI-32,PCX_DA_LO));
    printf("INFO: SPC2WBM: Request forwarded from SPARC Core to Wishbone Master\n");
    + }

    } else if(len==LEN_RET && dir==CHAR_RET) {

    + if(bitsToInt(CPX_VLD,CPX_VLD)==0) printf("INFO: WBM2SPC: *** DIRTY PACKET TO SPARC CORE ***\n");
    + else {
    +
    // Write details of return packet
    printf("INFO: WBM2SPC: *** RETURN PACKET TO SPARC CORE ***\n");
    - if(bitsToInt(CPX_VLD,CPX_VLD)==1) printf("INFO: WBM2SPC: Return packet has valid bit\n");
    - else printf("INFO: WBM2SPC: Return packet has not valid bit\n");
    + printf("INFO: WBM2SPC: Valid bit is %d\n", bitsToInt(CPX_VLD,CPX_VLD));
    switch(bitsToInt(CPX_RQ_HI,CPX_RQ_LO)) {
    case IFILL_RET: printf("INFO: WBM2SPC: Return Packet of Type IFILL_RET\n"); break;
    case LOAD_RET: printf("INFO: WBM2SPC: Return Packet of Type LOAD_RET\n"); break;
    case ST_ACK: printf("INFO: WBM2SPC: Return Packet of Type ST_ACK\n"); break;
    default: printf("INFO: WBM2SPC: Return Packet of Type Unknown\n");
    }
    - if(bitsToInt(CPX_RQ_HI,CPX_RQ_LO)==IFILL_RET) {
    - if(bitsToInt(CPX_R,CPX_R)==1) printf("INFO: WBM2SPC: Return Packet is Non-Cacheable\n");
    - else printf("INFO: WBM2SPC: Return Packet is Cacheable\n");
    - } else {
    - if(bitsToInt(CPX_R,CPX_R)==1) printf("INFO: WBM2SPC: Return Packet is a Read Access\n");
    - else printf("INFO: WBM2SPC: Return Packet is a Write Access\n");
    - }
    - printf("INFO: WBM2SPC: Thread is %0X\n", bitsToInt(CPX_TH_HI,CPX_TH_LO));
    - printf("INFO: WBM2SPC: Packet ID is %0X\n", bitsToInt(CPX_P_HI,CPX_P_LO));
    printf("INFO: WBM2SPC: Error is %0X\n", bitsToInt(CPX_ERR_HI,CPX_ERR_LO));
    + printf("INFO: WBM2SPC: Non-Cacheable bit is %d\n", bitsToInt(CPX_R,CPX_R));
    + printf("INFO: WBM2SPC: Thread is %0X\n", bitsToInt(CPX_TH_HI,CPX_TH_LO));
    + printf("INFO: WBM2SPC: Way Valid is %0X\n", bitsToInt(CPX_WYVLD,CPX_WYVLD));
    + printf("INFO: WBM2SPC: Replaced L2 Way is %0X\n", bitsToInt(CPX_WY_HI,CPX_WY_LO));
    printf("INFO: WBM2SPC: Data is %08X%08X%08X%08X\n", bitsToInt(CPX_DA_HI,CPX_DA_HI-31), bitsToInt(CPX_DA_HI-32,CPX_DA_HI-63), bitsToInt(CPX_DA_HI-64,CPX_DA_HI-95), bitsToInt(CPX_DA_HI-96,CPX_DA_LO));
    printf("INFO: WBM2SPC: Return Packet forwarded from Wishbone Master to SPARC Core\n");
    + } + } else { printf("PACKET DIRECTION UNKNOWN!!!\n"); }

     
    Copyright (c) 1999 OPENCORES.ORG. All rights reserved.