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.

DDR3 Swapping byte 0 with byte 3 in 16 bits ddr3 rams

hi, we use 8148.   Can i swap byte 0 and byte 3 with 16 bites ddr3 ram.  Normal:  ram 1: byte0 and byte1   ram 2: byte2 and byte3.

                                                                                             After swap:  ram 1: byte1 and byte2   ram 2:byte0 and byte3

1 byte =  8 datas + dqsx,dqsnx and dqmx

thanks

  • Hi Jonathan,

    Refer to the below e2e thread:

    http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/717/p/142188/513334.aspx

    Best regards,
    Pavel

  • thanks but i saw this tread before  but it does not answer of my question.    I know , i can swap byte 0 and byte1 in the same ram chip.  But can i swap byte 0 (in a 16x ram) with byte 3 (in other 16x ram). 

    thanks!!!

    Hi Marc,

    Just to confirm that I understand the swapping options correctly. 

    Could you please confirm that the description below is correct for lane and bit swapping.

    Regards

    Manie

    For a x16 DRAM, a byte lane swap is defined as making ALL of the substitutions below:

     

          Lower byte lane <=> Upper byte lane

                  DQ07:00 <=> DQ15:08

                      LDM <=> UDM

    diff pair LDQS, LDQS* <=> diff pair UDQS, UDQS*

     

    In addition, the following bit swaps are allowable for x4, x8, or x16 DDR2 or DDR3 devices:

     

                        Any of these bits: DQ0, DQ1, DQ2, DQ3, DQ4, DQ5, DQ6, DQ7

    may be swapped with any of these bitsDQ0, DQ1, DQ2, DQ3, DQ4, DQ5, DQ6, DQ7

     

                        Any of these bits: DQ08, DQ09, DQ10, DQ11, DQ12, DQ13, DQ14, DQ15

    may be swapped with any of these bits: DQ08, DQ09, DQ10, DQ11, DQ12, DQ13, DQ14, DQ15

  • Jonathan,

    Here is what I found regarding DDR byte swap:

    The EMIF data bytes do not have to go to the "same" data bytes on the DDR memory devices, but the entire byte (data bits, data mask and DQS) must go to the same byte on the DDR device.  In other words, it is okay for byte1 of the DDR device to be connected to our device's byte0, but *all* of byte0 needs to go to byte1 of the memory device.

    Just keep the entire bytes together and there will be no issue.

    Refer also to the below links:

    http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/716/p/160641/660439.aspx

    http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/537/t/146893.aspx

    http://e2e.ti.com/support/arm/sitara_arm/f/791/t/230862.aspx

    EDIT: I will double check with our HW experts and let you know their answer.

    BR
    Pavel

  • Jonathan,

    I made a consultation with one of our HW engineers.

    Jonathan Therien said:
    But can i swap byte 0 (in a 16x ram) with byte 3 (in other 16x ram). 

    Yes, you can do this.

    BR,
    Pavel