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

[BUG] error when synthesis #2544

Open
1 task done
hhhsiang opened this issue Oct 14, 2024 · 5 comments
Open
1 task done

[BUG] error when synthesis #2544

hhhsiang opened this issue Oct 14, 2024 · 5 comments
Labels
Type:Bug For bugs in the RTL, Documentation, Verification environment or Tool and Build system

Comments

@hhhsiang
Copy link

Is there an existing CVA6 bug for this?

  • I have searched the existing bug issues

Bug Description

When I synthesize cv64a6 core with cv64a6_imafdc_sv39_config_pkg.sv with Design Compiler version-2023.12, there are lots of error occurred, and all of them like the following:
image

Error: ../..//core/scoreboard.sv:303: Constant expression too complex. (ELAB-937)

It's all about "Constant expression too complex. (ELAB-937)". I check the systemverilog code where the error happened. All of the errors seem to be caused by the parameter of cva6 config pkg.

image

When the parameters of cva6_config_pkg are used to determine whether a circuit or a module will be instantiated, the "Constant expression too complex. (ELAB-937)" error occurred. Lots of modules are not synthesized. How can I fixed it?

Any advice or suggestions would be greatly appreciated. Thanks in advance!

@hhhsiang hhhsiang added the Type:Bug For bugs in the RTL, Documentation, Verification environment or Tool and Build system label Oct 14, 2024
@JeanRochCoulon
Copy link
Contributor

Hello @hhhsiang The synthesis is run on cv32a65x, no experience on 64 bit configuration.
Do you experience the same type of error on cv32a65x configuration ?

@hhhsiang
Copy link
Author

Hi @JeanRochCoulon , as far as i know, the cv64a6 was synthesized in the past, so there are scripts in Makefile under the cva6/pd/synth directory. Because in the old commit cv64a6 is the synthesis target in the makefile, I'm confused why did you say no experience on 64 bit configuration?

I also tyr to synthesize cv32a65x, with make -C pd/synth cva6_synth FOUNDRY_PATH=/your/techno/basepath/ TECH_NAME=yourTechnoName TARGET_LIBRARY_FILES="yourLib1.db\ yourLib2.db" PERIOD=10 NAND2_AREA=650 TARGET=cv64a6_imafdc_sv39 ADDITIONAL_SEARCH_PATH="others/libs/paths/one\ others/libs/paths/two", but there is error occurred like the following:
image
It seems that $(SYNTH_FLOW_NAME) parameter is not set properly.

@JeanRochCoulon
Copy link
Contributor

Yes, you are right, I personally setup maybe 3 years ago the scripts to synthetize 32 and 64 bits configurations. But we currently use different scripts to do it. That is why these scripts are no more used.

@hhhsiang
Copy link
Author

hhhsiang commented Oct 15, 2024

Understood. Could you share the script you use for synthesizing the 64-bit configuration? I find it challenging to create a script that successfully synthesizes the CV64A6 core, given the numerous dependent files that need to be included and preprocessed.

@JeanRochCoulon
Copy link
Contributor

Unfortunately, physical implementation depends on techno which we cannot disclose it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type:Bug For bugs in the RTL, Documentation, Verification environment or Tool and Build system
Projects
None yet
Development

No branches or pull requests

2 participants