This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

A problem about BCP using the flush/drop special feature

Dear TI FAE,

   I am testing the special feature flush/drop of BCP recently, and I have more problems about the BCP! The problem describes as following:

  There are three packets denote Packet A/B/C. And the Packet A will be tagged with flush in the global header, and the output memory ptr is 0x10bc0000. then we push second packet--packet B. packet B will be tagged with drop in the global header, the length packet B is 512 Bytes. As we known, the BCP will not accept any packets and the PKTDMA will not prefetch any data to TX FIFO until the Packet A finish processing and output the result to 0x10bc0000.Then the packet C will use the 0x10bc0000 as the input memory ptr and push the data to bcp, now the problem is that when packet C use the 0x10bc00000, all value of this memory is 0, i.e nothing in this memory, So I doubt the Packet A do not finish processing when the Packet C input the data to BCP? That is meaning the flush/drop did not work?

According to the user guide of BCP , I can not find anything debug method about flush/drop, do you have any debug method about it ? can you help me ?

thank you in advance!

  • Hi,

    Welcome to the TI E2E forum. I hope you will find many good answers here and in the TI.com documents and in the TI Wiki Pages (for processor issues). Be sure to search those for helpful information and to browse for the questions others may have asked on similar topics (e2e.ti.com). Please refer links below my signature.

    Please provide DSP part number used. Please take a look at the below announcement.

    http://e2e.ti.com/support/dsp/c6000_multi-core_dsps/f/639/t/351616.aspx

    Thank you.

  • Hi ,

     Thanks a lot for your reminding.

     my DSP part number is TCI6618, and my application ocasion is eNode.

    thank you!

  • Hi Bruce,

    Can you please provide the following information for all the packets (A, B and C) to enable us to look into this issue?

    1. BCP Header Descriptor (input CPPI descriptor hosting the BCP header).
    2. BCP Input Header Buffer (complete BCP header including any Protocol specific Info and/or User Info fields).
    3. BCP Payload descriptor (input CPPI descriptor, linked to the header descriptor, hosting the BCP input payload).
    4. BCP Payload Buffer.
    5. BCP Output descriptor and output buffer.

    In case your setup uses a single input buffer (and descriptor) to supply both the BCP header and payload, we'll have only one BCP Input descriptor and BCP Input buffer (Header + Payload) so please provide the data accordingly.

    Also, are you running this on Simulator or actual Hardware?

    Regards
    -Nitin

  • Hi Nitin,

    According my debug, I find the problem is not flush/drop, but the bcp. I want to implement the PDCCH with BCP.So the Packet A is the bit stream after all DCI doing CRC/ENC/RM, and Packet B is Drop Packet, Then the Packet is the bit-stream I want to do modulation.

    And the new problem is modulation submodule in the BCP.I check all DCI output is correct, and I do the multiplexing with all DCI. For now, everything is OK! and then I want to input the result to BCP do scramble and modulation(hard modulation compress).

    This is the muplexing result:

    0x01000101
    0x00010100
    0x00000101
    0x01000001
    0x00010100
    0x00000001
    0x01010000
    0x00010001
    0x01010101
    0x00010001
    0x01010000
    0x01010100
    0x00010001
    0x01010100
    0x01010001
    0x01000001
    0x01010101
    0x00000101

    I use a DCI for testing, so the multiplexing is bypass.

    and the MOD submodule header configuration is :

    pPureModHdrCfg->moduleId = BcpSubModuleId_MOD;

    pPureModHdrCfg->mode = 1;
    pPureModHdrCfg->swapIQOutput = EBcpSwapIQ_Disabled;
    pPureModHdrCfg->localHdrLength = 4;
    pPureModHdrCfg->modeType = EBcpModType_QPSK;
    pPureModHdrCfg->uvaValue = 0;

    pPureModHdrCfg->enScr = 1;
    pPureModHdrCfg->rmuxLength = 0;
    pPureModHdrCfg->indexTableB = 0;
    pPureModHdrCfg->cmuxLength = 0;
    pPureModHdrCfg->qFormat = 0;
    pPureModHdrCfg->cqiLength = 0;
    pPureModHdrCfg->riLength = 0;
    pPureModHdrCfg->ackLength = 0;
    pPureModHdrCfg->cinitP2Value = cinit;
    pPureModHdrCfg->splitMode = 0;

    the cinit=0x2083, the mod output is :

    0x05030203
    0x05040404
    0x04030403
    0x05020204
    0x04050205
    0x04050404
    0x03020305
    0x05020302
    0x04020204
    0x03020204
    0x02040403
    0x03030402
    0x03040405
    0x05020402
    0x04020405
    0x03020505

    However, according my calculation, I find out the output is not correct, the output is only use the cinit to do scramble, and the b(i) is all zero. 

    Why the BCP can not recognize my Input?

    Can you help me ?

    Thank you very much!

  • Hi Bruce,

    Plase refer to the following thread which contains some pointers about using BCP for DCI. We don't have an example available for PDCCH processing but the thread given below should be helpful. I have also attached a word document detailing the use of BCP for DCI processing.

    http://e2e.ti.com/support/dsp/c6000_multi-core_dsps/f/639/t/326412.aspx

    If your input follows the guidelines given in this thread and the attached document and you are still facing the issue you listed, plese provide the actual input packets (descriptors, header and payload buffers, along-with the expected output buffer) as we'll need these to look into the problem. Please dump the descriptors and fully formed BCP input packets (header and input buffers) from memory just before being sent to the BCP.

    Also, I believe you have created multiple threads on this issue as all the following threads seem related to the same issue:

    1. http://e2e.ti.com/support/dsp/c6000_multi-core_dsps/f/639/t/383158.aspx
    2. http://e2e.ti.com/support/dsp/c6000_multi-core_dsps/f/639/p/283672/1350506.aspx#1350506 (latest message added on Nov-18)
    3. http://e2e.ti.com/support/dsp/c6000_multi-core_dsps/f/639/t/383194.aspx
    4. http://e2e.ti.com/support/dsp/c6000_multi-core_dsps/f/639/t/382870.aspx (The current thread)

    Could you please delete the other threads and keep one thread (probably the current one) as having 4 threads for the same issue makes it harder to track it? Thanks.


    Regards
    -Nitin

    PDCCH Transmitter.docx
  • Hi Nitin,

    I think the problem had solved by me, the reason is my wrong configuration of flow table, and the TM can not recognise those data format!

    And thank you for your help in so long time! 

    Thank you !