You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
No other tools seem to find combinatorial loops (tried Quartus and yosys+nextpnr). Getting Vivado to report loops after syn completes reports no loops in the design - can't find those nets from the error messages.
Changing float mults = (fx * fconst) * a; to float mults = fx * (fconst * a); makes it so Vivado no longer sees a timing loop.
I have not ruled out that somehow this is in the HDL - maybe simulating more will help...
I have reason to believe this is a serious issue where needed functionality is being flagged as a loop and optimizing away incorrectly.
Best work around for now is as above - start commenting out / trimming down your design until you find the problem function and subtly rewrite it maintaining the original functionality.
I know - it's F'd.
The text was updated successfully, but these errors were encountered:
Code like below, but only for Vivado synthesis seen so far (2019.2, tried a few syn strategy options, didnt help)...
Will result with synthesis warnings like
No other tools seem to find combinatorial loops (tried Quartus and yosys+nextpnr). Getting Vivado to report loops after syn completes reports no loops in the design - can't find those nets from the error messages.
Changing
float mults = (fx * fconst) * a;
tofloat mults = fx * (fconst * a);
makes it so Vivado no longer sees a timing loop.I have not ruled out that somehow this is in the HDL - maybe simulating more will help...
I have reason to believe this is a serious issue where needed functionality is being flagged as a loop and optimizing away incorrectly.
Best work around for now is as above - start commenting out / trimming down your design until you find the problem function and subtly rewrite it maintaining the original functionality.
I know - it's F'd.
The text was updated successfully, but these errors were encountered: