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.

C28377D Memory speeds

Other Parts Discussed in Thread: CONTROLSUITE

I am becoming familiar with the 28377D and would like to know where to find the timing information or documentation on memory speeds.  In older parts some memories were faster or slower.  So the question is:

In the 28377D part, with its different RAM blocks, and it's flash, is accessing of any of these memories faster than another?  specifically, If I were to put a large look up table in the flash, would accessing it in any way be slower than putting the same table in any of the RAM memories?

Where can I find this information in the 28377D documentation?

Thanks

  • Rob,

    Check out the section 5.7.4 Flash Parameters in Data manual at http://www.ti.com/lit/ds/symlink/tms320f28377d.pdf

    Flash needs 3 wait-states at 200MHz.  However, datacache and prefetch mechanism in the FMC should balance the delay introduced by the wait-states.  Below is an excerpt taken from the above mentioned section.

    "The on-chip flash memory is tightly integrated to the CPU, allowing code execution directly from flash through 128-bit-wide prefetch reads and a pipeline buffer. Flash performance for sequential code is equal to execution from RAM. Factoring in discontinuities, most applications will run with an efficiency of approximately 80% relative to code executing from RAM. This flash efficiency lets designers realize a 2×improvement in performance when migrating from the previous generation Delfino MCUs."

    Thanks and regards,
    Vamsi

     

  • Looking at that chart it shows that if we are operating at 200MHz that the MINIMUM wait states is 3.

    When I ran our code from Flash we observed using the 'clock' feature that shows us cycle counts, more like 16x slower execution from flash, vs when I move the code to RAM and execute.

    Are there various parameters/considerations that will affect the speed of execution from flash?  Perhaps I don't have it setup to minimize the execution from flash.

    Is there further documentation on this issue that I can read up on to fully know how to maximize the speed of execution from flash?

    Since we are execution speed critical, unless flash will run as fast as in RAM, we could only use flash for initialization code etc, we would have to run the core code out of RAM, this is why I want to be sure I understand the speed of execution of the flash vs ram.

    Also I infer that all the RAM is the same speed, no RAM block is faster than another correct?  It is just the RAM vs flash that has a speed difference in this part correct?

    Thanks very much.

  • Rob,

    Please checkout the InitFlash() function provided in controlsuite at C:\ti\controlSUITE\device_support\F2837xD\vx\F2837xD_common\source\F2837xD_SysCtrl.c.

    This function enables the prefetch mechanism and datacache (explained in TRM) that would help improve performance considerably for linear fetches/reads.  This function also configures the minimum wait-states needed per CPU frequency. 

    //Enable Cache and prefetch mechanism to improve performance
    //of code executed from Flash.
    Flash0CtrlRegs.FRD_INTF_CTRL.bit.DATA_CACHE_EN = 1;
    Flash0CtrlRegs.FRD_INTF_CTRL.bit.PREFETCH_EN = 1;

    Regarding RAM:  Yes, only RAM vs Flash speed difference exists but not with in RAM blocks.

    Thanks and regards,

    Vamsi

  • Rob,

    Did you try enabling the data cache and prefetch mechanism?

    Thanks and regards,
    Vamsi

  • Haven't had a chance to test this yet, it will likely be 6 weeks before I can investigate again. We are currently running out of ram for maximum speed, and the priority is to get our FFTs running on both cores first, and some modified FFTs on the CLAs, before I get back to seeing what I can run out of flash.

    Thankyou very much for the information, there will be a significant delay before I can test the flash speed again.
  • Rob,

    Ok. I will close this thread for now. You can reopen if needed.

    Thanks and regards,
    Vamsi