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

[CV32E40S] DSIM uvmt fails to build #2545

Open
Northeus opened this issue Oct 27, 2024 · 4 comments
Open

[CV32E40S] DSIM uvmt fails to build #2545

Northeus opened this issue Oct 27, 2024 · 4 comments
Assignees
Labels
bug Something isn't working Common Infrastructure Library components or scriptware common to all environments in CORE-V-VERIF cv32e40s

Comments

@Northeus
Copy link

Hello,
I have some problems with running the CV32E40S UVMT testbench for hello-world test. When I try to run this testbench for CV32E40S, they result in error FileNotFound. Testbench for CV32E40P work normally.

The error from the logs is:

...
=N:[DisabledSvaFeature]:
    The following SVA features are being disabled:    

    /home/jan/core-v-verif/core-v-cores/cv32e40s/sva/cv32e40s_alignment_buffer_sva.sv:81:3      Properties                   
    Included from /home/jan/core-v-verif/core-v-cores/cv32e40s/bhv/cv32e40s_wrapper.sv:16:12                                 

    /home/jan/core-v-verif/core-v-cores/cv32e40s/sva/cv32e40s_alignment_buffer_sva.sv:86:7      Assert property statement    
    Included from /home/jan/core-v-verif/core-v-cores/cv32e40s/bhv/cv32e40s_wrapper.sv:16:12                                 

    /home/jan/core-v-verif/core-v-cores/cv32e40s/sva/cv32e40s_mpu_sva.sv:179:25                 Cover property statement     
    Included from /home/jan/core-v-verif/core-v-cores/cv32e40s/bhv/cv32e40s_wrapper.sv:31:12                                 

    /home/jan/core-v-verif/core-v-cores/cv32e40s/sva/cv32e40s_mult_sva.sv:98:3                  Sequences                    
    Included from /home/jan/core-v-verif/core-v-cores/cv32e40s/bhv/cv32e40s_wrapper.sv:32:12                                 

=E:[FileNotFound]:
    The following files specified on the command line could not be opened:    

        

        

        

    Simulator invoked from directory: /home/jan/core-v-verif/cv32e40s/sim/uvmt    

  Metrics DSim version: 20240923.0.0 (b:R #c:0 h:e981d301ee os:ubuntu_22.04)
make: *** [/home/jan/core-v-verif/mk/uvmt/dsim.mk:137: comp] Error 1

I am currently at the head of the cv32e40s/release branch. Also, there seemed to be some issues related to DSIM from 2022. Are those issues still relevant, thus DSIM is not suitable for running testbenches on this core?

@MikeOpenHWGroup
Copy link
Member

Hi @Northeus, thanks for your interest in OpenHW. I see that there is a new version of DSim Desktop (20240923.0.0 on 2024-10.25). I am using 20240923.0.0 from 2024-09-25, so it is possible that this problem could be related to the new version. However, I doubt that is really the problem.

As you point out, there are still outstanding DSim issues running the UVM environment for CV32E40S which have not gotten much attention as the team developing the E40S are not DSim users.

Nevertheless, I would like to help get these resolved. Can you send me the exact command lines you use to get the above error message? Please start with git clone.... Thanks.

@MikeOpenHWGroup MikeOpenHWGroup self-assigned this Oct 28, 2024
@Northeus
Copy link
Author

Northeus commented Oct 28, 2024

Thanks for a quick response! Here are the commands i used to run both CV32E40P and CV32E40S tests:

git clone [email protected]:openhwgroup/core-v-verif.git
python3.12 -m venv venv
source venv/bin/activate
source env.sh
cd /home/jan/tmp/data/core-v-verif/bin
pip3 install -r requirements.txt
cd /home/jan/tmp/data/core-v-verif/cv32e40p/sim/uvmt/
make test TEST=hello-world USE_ISS=NO
git fetch --all
git checkout cv32e40s/release
cd /home/jan/tmp/data/core-v-verif/cv32e40s/sim/uvmt/
make test TEST=hello-world USE_ISS=NO

Where the content of env.sh is:

export CORE_V_VERIF=/home/jan/tmp/data/core-v-verif
export CV_SW_TOOLCHAIN=/home/jan/programs/core-v/riscv
export CV_SW_PREFIX=riscv32-unknown-elf-
export CV_SW_MARCH=rv32imc_zicsr
export CV_SIMULATOR=dsim

# DSIM:
export DSIM_HOME=/home/jan/metrics-ca/dsim/20240923.0.0
export STD_LIBS=/home/jan/metrics-ca/dsim/20240923.0.0/std_pkgs/lib
export LLVM_HOME=/home/jan/metrics-ca/dsim/20240923.0.0/llvm_small
export PATH=${LLVM_HOME}/bin:${DSIM_HOME}/bin:$PATH
export LD_LIBRARY_PATH=${LLVM_HOME}/lib:${DSIM_HOME}/lib
export DSIM_LICENSE=/home/jan/metrics-ca/dsim-license.json

export UVM_HOME=/home/jan/metrics-ca/dsim/20240923.0.0/uvm/1.2

EDIT: to clarify, those env variables below DSIM comment are extracted from VSC enviroment. Even when running from the original environment using VSC, the results are the same.

@Northeus
Copy link
Author

Northeus commented Oct 28, 2024

Have just tried also the latest version of DSIM (20240923.1.0), but the results are the same. The version i previously used was installed before 25.10., so it should be the older one.

@MikeOpenHWGroup
Copy link
Member

It seems there are two problems here:

  1. DSim does not appear to handle some SVA code constructs properly. I have found a work-around for this.
  2. The DSim Makefile (mk/uvmt/dsim.mk) has suffered some bit-rot and does not handle the new scheme for by-passing the ImperasDV reference model (USE_ISS=NO). I have found the problem, but not yet a solution.

Working on it...

@MikeOpenHWGroup MikeOpenHWGroup added bug Something isn't working cv32e40s Common Infrastructure Library components or scriptware common to all environments in CORE-V-VERIF labels Oct 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working Common Infrastructure Library components or scriptware common to all environments in CORE-V-VERIF cv32e40s
Projects
None yet
Development

No branches or pull requests

2 participants