Corescore on spartan6
I'm trying to add my board opos6ul_sp in the corescore project. but I'm stuck with a $clog2() problem.
ERROR:HDLCompiler:815 - "/…/workspace/build/corescore_0/src/serving_1.0.2/serving/serving.v" Line 42: System function call clog2 is not allowed here
ERROR:HDLCompiler:815 - "/.../workspace/build/corescore_0/src/serving_1.0.2/serving/serving.v" Line 152: System function call clog2 is not allowed here
ERROR:HDLCompiler:598 - "/.../workspace/build/corescore_0/src/serving_1.0.2/serving/serving.v" Line 21: Module <serving> ignored due to previous errors.
$clog2() function is not supported by ISE in local parameters. Have you got a solution for this problem ? Maybe use yosys as ISE-Frontend ?
Is there a fusesoc configuration to use yosys as ISE frontend ?
Thanks
I found a similar problem here with ISE... just change the "localparam" by "parameter" and everything will work!
Was this ever resolved? I could swear also that I had a branch where I added yosys support to the ISE backend but I can't find it now
I haven't tested it since. The problem is that ISE doesn't recognize $clog2() function used in serving.v. As ISE is freezed in old version and will not be updated it can't be left as it.
Then to solve the problem there is two solutions in my opinion:
- change
serving.vcode to use $clog2() as (global)parameterinstead oflocalparameter - Do not use ISE synthesis tool but Yosys.
I think the second solution is the right thinks to do. But I haven't tested it. I have to find time to test yosys with ISE backend.
I agree. There's not much effort to change it to a a parameter instead of a localparam in serving.v, but the CoreScore rules also say that we must use version 1.0.2 and then it's starting to get a bit more complicated because we need to fork serving. Unfortunately I don't think we can use option 2 right away. I thought I had added support for Yosys synthesis in the ISE backend but I can't find it. Maybe it was a local branch that I removed at some point. It should be added though. Could start by filing an issue about it in Edalize