Check to see if anyone else tried to port the free core you are using for your target Device. Maybe they have gone thru this kinda thing.
May be the OP should have mentioned the device he is targeting?
I have missed the multicyple path question. There is a tool that does exactly what we all want - a tool that auto identifies these multicycle, false paths so when you run P&R you are only trying to close timing on the real constraints of the design. Atleast thats what the company claims. You can look up their webpage for more information
https://www.fishtail-da.com/
The big application target is when individuals who were NOT the
RTL designers and may not know their way around the code do the P&R. The tools can work and identify most of these issues, so handlers of "blind" netlist blocks are not spending most of their time on un-real things.
Alternatively, if you find these multicycle paths manually, you can export the Multicycle paths constraints to your P&R from Leonardo using the TCL scripting capability.
Another suggestion, is to see if you can turn on Pipelining options in your synthesis tool and meet timing. This most likely aint gona cut it. It wouldnt hurt to try.
Kode