I've found what looks like may be the problem - edit the EMIF parameters, choose the "Diagnostics" tab, and under "Performance", set the "Efficiency Monitor Mode" to anything other than "Disabled" (e.g., "Interface to Efficiency Monitor Toolkit"). Click the "Finish" button. The "Maximum pending read transactions" becomes set to "1". This is the configuration that produced the results in the original post.
This would appear to greatly reduce the utility of the efficiency monitor, due the performance implications listed in the original post (unless the design only issues a single read at a time!). Please confirm.
I have no explanation. I have included 4 screenshots with the example synthesis design:
emondsA.jpg: shows edit parameters with emon disabled
emondsB.jpg: shows the max pending with emon disabled
emonenA.jpg: shows edit parameters with emon enabled (only thing changed since emondsA.jpg)
emonenB.jpg: shows the max pending with emon enabled (only thing changed since emondsB.jpg)
This is 100% repeatable for me. Any ideas?
Hi! I've attached a project that (for me) shows the problem. Do:
- gunzip < emif.tar.gz | tar -xvf
- cd emif
- qsys-edit emif.qsys -qpf=emif.qpf
The only module in the diagram is the DDR4 emif, and as configured, shows "Maximum pending read transactions" as "1".