Skip to content
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

Corescore on spartan6 #8

Open
Martoni opened this issue Aug 4, 2020 · 4 comments
Open

Corescore on spartan6 #8

Martoni opened this issue Aug 4, 2020 · 4 comments

Comments

@Martoni
Copy link
Contributor

Martoni commented Aug 4, 2020

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

@samsoniuk
Copy link
Contributor

I found a similar problem here with ISE... just change the "localparam" by "parameter" and everything will work!

@olofk
Copy link
Owner

olofk commented Jan 12, 2022

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

@Martoni
Copy link
Contributor Author

Martoni commented Jan 14, 2022

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.v code to use $clog2() as (global) parameter instead of localparameter
  • 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.

@olofk
Copy link
Owner

olofk commented Jan 14, 2022

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants