IPU question on I.mx6

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

IPU question on I.mx6

Jump to solution
1,803 Views
jasonhaedt
Contributor III
  • Sorry to be a nuisance, but after some more digging I've got some more information on what we're seeing and I was sort hoping to do a sanity-check with you guys.  I wrote a little program to enable the profiler in the MMDC just to get a rough idea of what DDR utilization looks like in a few different scenarios.  I don't think I mentioned before, but we're running on the sabresd board right now with a little custom daughterboard to a mipi dsi display.  DDR clock is at 528MHz, and we're running around a 66MHz pixel clock.  I'm calculating utilization by just dividing MADPSR1/MADPSR0.  What I see is

    display blanked - < 1%

    display unblanked/unrotated - 28%

    display unblanked/rotated - 50%

    I was somewhat surprised by these numbers - the 28% for just the display seems a lot higher than I'd expect.  Given approximately a 66MHz pixel clock, the total bandwidth  from the memory should be around 264MByte/sec (66*4 - according to the reference manual the IPU translates everything in/out of memory to 8:8:8:8).  Peak rate for the ddr should be 528*2*64/8 = 8.4GByte/sec (and I realize peak bandwidth is a mostly useless metric here and that average throughput should be considerably lower, but it's a starting point).  Have you guys done any profiling at different resolutions/frame rates, and if so do the numbers we're seeing seem reasonable?

    Like I said, sorry to be a nuisance, but we're trying to finalize our hardware design and we're trying to get a handle on whether there are pieces of the design we need to optimize by moving certain processing operations (like screen rotation) out in to our fpga.

    Thanks again!

Labels (5)
0 Kudos
Reply
1 Solution
1,084 Views
qiang_li-mpu_se
NXP Employee
NXP Employee

Freescale has the MMDC profiling tool, tested with this tool for signal 1024*768 LVDS 32bpp framebuffer output, pixel clock is 65MHz, the memory utilization is about 5%.

MMDC new Profiling results:
***********************
Total cycles count: 535147879
Busy cycles count: 109817083
Read accesses count: 1487501
Write accesses count: 788
Read bytes count: 95197168
Write bytes count: 23680
Avg. Read burst size: 63
Avg. Write burst size: 30
Read: 89.53 MB/s /  Write: 0.02 MB/s  Total: 89.56 MB/s

Utilization: 5%
Bus Load: 20%
Bytes Access: 63

It is not just using MADPSR1/MADPSR0

View solution in original post

0 Kudos
Reply
2 Replies
1,085 Views
qiang_li-mpu_se
NXP Employee
NXP Employee

Freescale has the MMDC profiling tool, tested with this tool for signal 1024*768 LVDS 32bpp framebuffer output, pixel clock is 65MHz, the memory utilization is about 5%.

MMDC new Profiling results:
***********************
Total cycles count: 535147879
Busy cycles count: 109817083
Read accesses count: 1487501
Write accesses count: 788
Read bytes count: 95197168
Write bytes count: 23680
Avg. Read burst size: 63
Avg. Write burst size: 30
Read: 89.53 MB/s /  Write: 0.02 MB/s  Total: 89.56 MB/s

Utilization: 5%
Bus Load: 20%
Bytes Access: 63

It is not just using MADPSR1/MADPSR0

0 Kudos
Reply
1,084 Views
erezsteinberg
Contributor IV

Hi Qiang -

Where can I find the 'MMDC Profiling Tool' ?

(I started a question about it - MMDC Profiling Tool)

Regards,

Erez

0 Kudos
Reply