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

Constructs unsupported for synthesis #136

Open
mo-hosni opened this issue Jan 3, 2024 · 1 comment
Open

Constructs unsupported for synthesis #136

mo-hosni opened this issue Jan 3, 2024 · 1 comment
Labels
error Something isn't working RTL Changes to verilog source

Comments

@mo-hosni
Copy link
Member

mo-hosni commented Jan 3, 2024

The declaration of regs as

reg x = 1'b1;

such as in

reg [31:0] mgmtsoc_vexriscv = 32'd268435456;

isn't supported in ASIC synthesis. This is equivalent to

reg mgmtsoc_vexriscv;
initial 
    mgmtsoc_vexriscv = 32'd268435456;

So, the initial part is ignored by synthesis tools such as DC. This didn't cause an issue with yosys but I don't think it is correct.
A simple fix would be converting the reg to a wire so it's an assign statement which is synthesizable.
I did that for the mgmtsoc_vexriscv to get the GL from DC to work. But still, this error is in the HDL in around 1800 different lines.

@mo-hosni
Copy link
Member Author

mo-hosni commented Jan 3, 2024

@jeffdi

@mo-hosni mo-hosni added error Something isn't working RTL Changes to verilog source labels Jan 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
error Something isn't working RTL Changes to verilog source
Projects
None yet
Development

No branches or pull requests

1 participant