Kinetis K20 - Flexbus Frequency and Wait States Question

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

Kinetis K20 - Flexbus Frequency and Wait States Question

895 Views
sherry_zahid
Contributor III

Hello, we have an external 16-bit Async memory connected to the FlexBus interface on the MK20FN1M0VMD12. For the speed grade memory we are using, we can either operate the Flexbus at 30 MHz with 0 wait states, or 40 MHz with 1 wait state. On the surface, it would appear overall throughput would be slightly better at 40 MHz+1WS (5 clock cycles total for a transaction time of 125 ns) vs 30 MHz+0WS (4 clock cycles for  a total of 133.3 ns). However, in throughput testing performed by our software team, they noticed ~15% better throughput when running at 30 MHz+0WS. Based off of the calculations above, this seems counter intuitive. Is it possible that the addition of a wait state adds additional delays beyond the 5th clock for each memory access? Any insight would be greatly appreciated, Thanks in advance.

0 Kudos
5 Replies

492 Views
sherry_zahid
Contributor III

Bumping the post. Anyone willing to contribute to this topic? Thanks

0 Kudos

492 Views
jeremyzhou
NXP Employee
NXP Employee

Hi Sherry,

I'd highly recommend that you can capture the data transferring between the MCU and the external memory by using the logic analyzer. Then compare the difference of the signal waves.

After that, I think you can gain a good insight into the difference.

Hope it helps.
Have a great day,
Ping

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

492 Views
sherry_zahid
Contributor III

Hi Ping,

Thank you for your response and time. I was, however looking for a definitive answer on how the wait states work. Maybe someone else knows how the addition of wait states affects the function of the flexbus with the 16-bit external memory? It would greatly help us out.

Kind regards,

Sherry

0 Kudos

492 Views
jeremyzhou
NXP Employee
NXP Employee

Hi Sherry,

I was wondering if you can share the kind of the screenshot as the Fig 1 illustrates.

After you share the signal wave between the MCU and 16-bit external memory, I think I can provide the more efficient tech support.

Have a great day,
Ping

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

SPI_ReadID_noDMA.jpg

492 Views
sherry_zahid
Contributor III

Hi Ping,

Thanks again for your response and support, I will see if I can obtain the logic analyzer screens for you. In the mean time, is there anyone who is aware of the differences between running the K20 Flexbus at 30 MHz + 0WS (without wait states) and running it at 40 MHz + 1WS (adding 1 wait state) when interfaced with a 16 bit Async memory?

Our throughput testing suggests that at 30 MHz we have 15% better efficiency. Would anyone know the reason for this? Maybe the addition of wait state adds in more delay? Thanks, have a great day!

Sherry

0 Kudos