-
Notifications
You must be signed in to change notification settings - Fork 79
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
Make gateware fails for possible all ISE based Boards #460
Comments
@mateusz-holenko - Any idea? |
Hi @cklarhorst! I can confirm it is also visible in CI: https://travis-ci.com/github/antmicro/litex-buildenv/jobs/346569019#L6459-L6467. I'm currently working on bumping the LiteX submodule in litex-buildenv, but it doesn't look it will solve this problem. @enjoy-digital do you have any suggestions?
|
@cklarhorst, @mateusz-holenko: the keep property was added automatically on all signals with a timing constraints to simplify constraints in the design. This is working fine with all toolchains except ISE and i still need to investigate this. |
Sadly I'm no expert on that front but according to ug901-vivado-synthesis.pdf page 46-47 KEEP=True in Vivado means: Keep the signal during synthesis and no constrains for the later stages like P&R. While according to the Xilinx Constraints Guide page 135 for ISE it means "Prevents a net from being absorbed into a logic block" but it also implies a NOMERGE constraint for the later implementation phase. Maybe for ISE, it is required to set KEEP to "soft" so that it doesn't imply the NOMERGE constraint. (A quick test showed that ISE successfully builds a bitstream with KEEP="soft"). |
Using the latest master branch it doesn't seem to be possible to build the gateware for any ISE based Board. The process fails with the error message:
So the problem seems to be the keep property that is added to the clk100 signal in the top.v file.
Git bisect revealed that the last working commit is 688d49f.
This version doesn't add the property to the mentioned signal.
Is it already a known problem?
Does someone know why the keep property was added? Is it safe to remove it?
Thank you very much in advance
Update:
The code that produces the keep signal is located in the litex submodule: third_party/litex/litex/build/xilinx/ise.py:247
I also made a quick version where I removed that keep attribute (https://github.com/cklarhorst/litex-buildenv.git).
With this change I was able to successfully build the gateware for the atyls board on the latest master commit.
There is another issue in the litex project (enjoy-digital/litex#438) about the keep attribute but it has a different error message.
The text was updated successfully, but these errors were encountered: