-
Notifications
You must be signed in to change notification settings - Fork 150
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
Experimental bitstream compression support #2060
base: master
Are you sure you want to change the base?
Conversation
@kgugala - Could you take a look? |
@LAK132 thanks for the PR, It seems the CI is red. There is a lot compilation errors like:
You mentioned that you had to change C++ standard. @LAK132 which standard did you use in your local build? |
I just moved the standard setting thing to the top of the script, it's still C++14. one of the dependencies didn't like that the standard wasn't being set before it was compiled, so I moved it. I'll take a look at those errors, must be coming from something I didn't try to build |
looks like all the databases (artix, zynq, kintex and spartan) builds failed with:
in the
Since all the DB builds fail with the same error, I suspect the changes in the tools trigger this. @LAK132 can you check this? |
I'm struggling to get the environment set up for running these tests on my local machine. if it wasn't the fasm2frames changes then I haven't the slightest clue what could be happening |
@LAK132 - If you are having issues getting the tool / testing environment setup, please log github issues and we will try and improve both the instructions and the process. |
fuzzers/005-tilegrid/bram_block/build_xc7a100tfgg676-1/segbits_tilegrid.tdb has no candidates entries:
|
I narrowed down the problem to the |
@LAK132 This change in configuration.h looks suspicious to me, it possibly has different semantics than the original code: |
@LAK132 Here are two example bitstreams which show the difference: |
Technically true. Previously if that address had already been written to it would overwrite it, whereas with |
Also it looks like with that example data, it's the -good output that has the extra data, not the -bad output? Were these outputs made with or without compression enabled? |
@LAK132 Sorry, I was wrong, the original bitread has the extra bits (green parts above), the bitread of this branch does not have them. So you are right, the -good output has the extra data. |
@LAK132 I think all the vivado runs in the fuzzers have no bitstream compression. |
@LAK132 Here is a 'good' version of bitread for comparison |
@LAK132 So the way to go would be:
|
|
@LAK132 Did that fix the bitread results? |
It should have, the uncompressed codepath should be practically untouched now |
Can you test it? End of the day for me here... |
The bitread output appears to be the same as the known good version with my test core project. I still haven't managed to run any of the other tests myself. |
@LAK132 OK great let's wait for the CI then |
@LAK132 Good news, the changes work well here on my machine. I added a temporary PR (see below) to run the full CI on this build. @kgugala @mkurc-ant Can we run the CI on this? |
@LAK132 CI results look great! (Only the gtp-common-pips fuzzer is red, but that one is notoriously flickering) @mkurc-ant @kgugala Ready for review! |
@tmichalak Would it be possible to run the CI on this branch? |
I have kicked off the CI and invited LAK132 to be a contributor so that the CI should run automatically from now on. |
Signed-off-by: Lakira Ashley <lakridesagain@gmail.com>
Signed-off-by: Lakira Ashley <lakridesagain@gmail.com>
Signed-off-by: Lakira Ashley <lakridesagain@gmail.com>
Signed-off-by: Lakira Ashley <lakridesagain@gmail.com>
Signed-off-by: Lakira Ashley <lakridesagain@gmail.com>
Is there a reason the tests were cancelled? Did they just time out? |
they should not timeout. I've restarted them |
All green now, anything else I need to do? |
Any update on this? |
This PR adds an option to compress bitstreams. Tested with an XC7A200T(FBG484-2) (MEGA65 R3).
This is needed for using open tooling with the MEGA65 as the uncompressed bitstreams are too large to fit in the core slots.
With the cores I tested this with, the compression step didn't seem to have any noticeable impact on build times.