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.

TMS570LS3137: emif write error

Part Number: TMS570LS3137
Other Parts Discussed in Thread: HALCOGEN

Hi,

I have some problem when I use the tms570ls3137 processor emif interface. I use emif for extern memey by connecting with FPGA. 

1. The configure

EMIF CLK = 20M  Normal mode 16bit transfer

W_SETUP = 2

W_STROBE = 7

W_HOLD = 3

R_SETUP = 2

R_STROBE = 6

R_HOLD = 3

TA = 2

or

W_SETUP = 15

W_STROBE = 63

W_HOLD = 7

R_SETUP = 15

R_STROBE = 63

R_HOLD = 7

TA = 2

2. Function

I write 10 half of word bytes, but I find it writes 11 half of word bytes in RAM. The front 10 words value is accurate. Also there are some  situation, such as I only write one 16bit word, actually writes 3 words. I have used address 0x64000000 by CS[3]. The BA[1] is connected A[0] of FPGA. I also try read operation, it is ok.  Please help me deal with this question. Thanks very much!

  • Hello,

    To avoid this issue, the external asynchronous memory must be configured to be "device" type or "strongly-ordered" type using the CPU's MPU.

    Please refer to the device Errata: EMIF#4

  • Hi QJ,

    Thank for your reply. I have solved this question by enabling FPGA BE pin. If only configured to be "device" type or "strongly-ordered" type using the CPU's MPU, the issue also existed. However, thanks very much.

  • 你好,QJ,

    I correctly had written data when I modify the configure, but there is one question, in which I find some address to be turned zero.Such as :

    I write address 0x640002f8 three 16bit data(that are 01,02,03),then I write 0x64000310(that are 05,06,07,08) four 16bit data , and last write 0x64000304(that are 10,11,12) three 16bit data .

    The address 0x64000304 data was become 0. I find the address that had fault data write when I haven't change the configure. I also find that it may write two time from FPGA timing  waveform when read operation after writing operation as soon.

  • Hello Alban,

    Please add workaround of EMIF#4 in device errata to your code. 

  • Hello QJ,

    Thanks for your reply so faster.I add the workaround of EMIF#4 in device errata. I enable MPU module and set region 5 as 0x6400000 address by MPU-R4-PMU module of the HALCogen.I try to modify stronglyordered,device_shareable and cevice_noshareable. But the issue also exist, please tell me whether need others changes. Thanks very much.

  • Can you take a screenshot of the memory content at 0x64000000? If possible, it is good to check the waveform of EMIF signals. with scope.