-
Notifications
You must be signed in to change notification settings - Fork 78
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
Do incorrectly writen XDC files generate errors from the toolchain? #151
Comments
FYI - @acomodi @tmichalak |
Hi @WhiteNinjaZ, I think you are right and this kind of behaviour should get caught earlier, at least with a warning. I guess that something might have been reported in the |
@acomodi That is good to know. Out of curiosity, why does symbiflow-examples not use the xdc parser in symbiflow-xc-fasm2bels/fasm2bels/lib/parse_xdc.py? If I understand correctly, it looks like that parser fixes this kind of issue by supplying better error handling as well as providing support for a few other features. |
The XDC plugin in |
That makes sense. Thank you for the clarification. |
@acomodi - We should never be issuing warnings. It should either be something you don't care about or an error. |
@mithro Thanks for the clarification. We thought that silently ignoring an XDC pin mapping due to an XDC file syntax error should result in an error (and it was not really a syntax error - just using a feature the parser doesn't grok). Otherwise, it is nearly impossible to figure out why the circuit doesn't work... It was only a bit of guessing on our part that led us to find the culprit in this case... |
@acomodi Is there documentation showing how to install the XDC plugin and merge it with the tool chain? I was looking through the internet and also in the REDMES and couldn't seem to find it. Is the XDC plugin already part of the tool chain you install with symbiflow examples? |
@WhiteNinjaZ At the moment, the symbiflow-examples pulls all the tools from conda, and those versions are pre-built. I think one option would be to:
In general, it is useful to have a reduced test case to test directly in the yosys-plugins project. |
Issue Fixed with Merge #152. |
@acomodi
I was trying to modify the symbiflow counter test to take an input from one of the switches, and ran into an interesting error where the input pin for a switch was not being routed correctly during the build process. The bit-stream was generated but my project was not functioning as expected (specifically flipping sw[0] had no effect on the counter I was running). After some debugging I realized that the pin constraints for my switch were written slightly differently from the symbiflow example declarations for other I/O pins. Although, my pin deceleration for the switch is supported by Vivado's tool chain apparently it is not recognized by symbiflow. After I changed my switch constraint to match the format of the symbiflow examples, my design worked properly.
My concern is that, there was no warning from the build process indicating that there was a part of my XDC file that was written in a way that was not supported. Since errors caused by xdc files are some of the most difficult to debug, shouldn't this type of error generate some sort of warning or return a fail from the tool chain?
This is my XDC file:
This is my modified example code:
And this is the output from the tool chain.
The text was updated successfully, but these errors were encountered: