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.

C6670 VCP2 BIG ENDIAN

Other Parts Discussed in Thread: TMS320C6670

HI guys,

I'm using the VCP2 in the TMS320C6670 DSP, I have an example projec in the little endian mode at hande, but I want to change it into the big endian mode ,what aspect do I need to pay attention to, in the VCP2 user's guide ,there's a description for the little/big endian .However , it's too little for me to understand.

Looking for your help! THANKS a lot!

  • Hi Chen,

    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).

    We will get back to you on the above query shortly. Thank you for your patience.

  • Hi Chen,

    When using the VCP2 in big-endian mode, you need to take care of setting the VCP2END mode register depending upon how the Branch Metrics data is stored in memory. Please note that the VCP2END register only when the DSP is in big-endian mode. The BM field in VCP2END is used to tell the VCP2 how to interpret the BM data when reading from memory. There are two ways the BMs can be stored in memory and the value of the BM field in VCP2END should be set accordingly.

    BM should be set to 1 when the BMs are stored in their native 8-bit format as shown in table 2-9. Correspondingly, figures 2-7 and 2-8 show how BM data is read from the source memory and how it is presented to the VCP2 for processing in this case.

    BM should be set to 0 when BMs are stored in 32-bit packed format according to table 2-10. As you can see in table 2-10, BMs are packed in 32-bit words starting from higher to lower addresses (BM0-byte_address3, BM1-byte_address2, BM2-byte_address1, BM3-byte_address0). Figures 2-9 and 2-10 show how BM data is read from the source memory and how it is presented to the VCP2 for processing.

    On the output side, the OUT_ORDER bit in VCPIC3 (section 3.6) is used to control the bit ordering of hard decisions in the 32-bit words as shown in section 2.9.1.1. For soft-decisions, the SD bit in VCP2END is used similar to the BM bit (in big-endian mode) to configure the VCP2 for either native 8-bit SD output or 32-bit packed output (table 3-13).

    Regards
    -Nitin
  • Hi Nitin,
    Thanks a lot for your patience and useful answer . It's of great help.
    May I ask you another question ? I'm using Vcp2 to decode the convolutional code with the example program in the link:
    www.ti.com/.../litabsmultiplefilelist.tsp;tabId=409&literatureNumber=spraag4&docCategoryId=1&;familyId=1648
    in the VCP2 channel density test.c,line 273,it tests the time the vcp2 takes using this sentence :printf("DecodingTime:%8ldns ", CycleCounter/VCP2_CHANNELS_PER_TIME);
    I don't understand why it uses CycleCounter/VCP2_CHANNELS_PER_TIME since the actual time it takes is CycleCounter.
    VCP2_CHANNELS_PER_TIME is the max channel number it can use .How do I understand it? Could you help me