Cypress Perform

Home > Design Support > Cypress Developer CommunityTM > Cypress Forums > USB Controllers > Unexpected overhead in synchronous 32-bit GPIF writes

Bookmark and Share
Cypress Developer CommunityTM
Forums | Videos | Blogs | Training | Rewards Program | Community Components



Unexpected overhead in synchronous 32-bit GPIF writes
Moderator:
RSKV

Post Reply
Follow this topic



Unexpected overhead in synchronous 32-bit GPIF writes

gregl posted on 03 Jan 2012 4:29 PM PST
Member
3 Forum Posts

I am using the GPIF interface in synchronous 32-bit mode, at 100 MHz, writing buffers into the FX3.  I burst 1024 bytes at a time.  I am using a modified version of the cyfxslfifosync example firmware.

Something is wrong with the overhead after a buffer is filled...

Let’s use 4 buffers, 2048 bytes each.  I expect, when the firmware starts, that I can fill these buffers at nearly 400 megabytes per second.  But no, there is significant overhead.  I can fill up a buffer (2048 bytes) at 100 MHz, no problems.  After a buffer is filled, the thread’s full-flag goes low for about 700 nanoseconds.  This is much longer than I would expect.

Switching between manual or automatic DMA makes no difference.

Switching between full/empty flags or partial flags makes no difference.  Switching between dedicated flags and current-thread flags makes no difference.

Changing buffer size or number of buffers makes no difference.

If I drop the PCLK frequency down to 50 MHz, the full-flag overhead changes to about 1100 ns.  (Remember, it was 700 nanoseconds for the 100 Mhz clock).  Clearly the PCLK frequency has most influence over the overhead time.

What is going on here?

Thank you.




Re: Unexpected overhead in synchronous 32-bit GPIF writes

aasi posted on 04 Jan 2012 09:48 AM PST
Cypress Employee
1073 Forum Posts

Assertion of full flag while buffer switching is expected behavior but this dependency on PCLK isn't what I would expect. Please create a tech support case (MyAccount -> MyCases) and post your code in it so that one of our engineers can take a deeper look at it.

Thanks,

Anand






ALL CONTENT AND MATERIALS ON THIS SITE ARE PROVIDED "AS IS". CYPRESS SEMICONDUCTOR AND ITS RESPECTIVE SUPPLIERS MAKE NO REPRESENTATIONS ABOUT THE SUITABILITY OF THESE MATERIALS FOR ANY PURPOSE AND DISCLAIM ALL WARRANTIES AND CONDITIONS WITH REGARD TO THESE MATERIALS, INCLUDING BUT NOT LIMITED TO, ALL IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT OF ANY THIRD PARTY INTELLECTUAL PROPERTY RIGHT. NO LICENSE, EITHER EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, IS GRANTED BY CYPRESS SEMICONDUCTOR. USE OF THE INFORMATION ON THIS SITE MAY REQUIRE A LICENSE FROM A THIRD PARTY, OR A LICENSE FROM CYPRESS SEMICONDUCTOR.

Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms and Conditions of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms and Conditions of this site. Cypress Semiconductor and its suppliers reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.