-
Notifications
You must be signed in to change notification settings - Fork 25
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Error during System Composition when #PE near 128 #355
Comments
This is probably related to the BRAM of the status core being too small to hold the names of all PEs. Shortening the name of the PE should solve this. |
Then we should probably catch this with a more user-friendly error message (currently there is already one for > 128 PEs). |
If this really depends on the length of the PE-name this might be harder. |
There is also other platform-dependent information encoded in the status core, e.g. DMA engine and DMA interrupts are only used on PCIe device. This may reduce the space left for listing PEs. |
Problem as far as I understand: We store the Solution idea: Instead of storing When using sufficient bits, hash collisions should be minimal. We could detect collisions and also print a warning, or error when two different PE names would yield identical hashes. Caveat: Getting plain PE-names from hardware, and iterating over PE-names will not work anymore - we will just get the hashes. Other ideas: Increase BRAM size? Shorten or even limit string length. |
I think a possible solution could be two-fold:
|
The System Composition fails when the number of PEs is near 128 with the following error related to the content of the status core:
Reproduce:
tapasco compose [Counter x 128] @ 100MHz -p zedboard
(import Counter.zip from toolflow/examples/ beforehand)From my tests this occurs on all platforms (and also in different Vivado versions).
The exact limit seems to be slightly different for the various plaforms (around 120 PEs from my tests).
The text was updated successfully, but these errors were encountered: