Skip to content

Commit

Permalink
Merge pull request #2402 from MikeOpenHWGroup/cv32e40p/dev_remove_wit…
Browse files Browse the repository at this point in the history
…h_kludge

Remove UNSUPPORTED_WITH workaround for VCS (resolved as of V-2023.12-1)
  • Loading branch information
MikeOpenHWGroup authored Apr 5, 2024
2 parents 0042cbc + 6087544 commit 3592fdb
Show file tree
Hide file tree
Showing 4 changed files with 11 additions and 20 deletions.
7 changes: 1 addition & 6 deletions cv32e40p/env/uvme/cov/uvme_cv32e40p_cov_model_macros.sv
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,6 @@
`ifndef __UVMA_CV32E40P_COV_MODEL_MACROS_SV__
`define __UVMA_CV32E40P_COV_MODEL_MACROS_SV__

// Macro to remove instrucitons that are not supported based on standard ext_*_supported variable names (from commmon core control cfg class)
`ifdef UNSUPPORTED_WITH
`define WITH iff
`else
`define WITH with
`endif
// Place any CV32E40P coverage model specific macros here...

`endif // __UVMA_CV32E40P_COV_MODEL_MACROS_SV__
4 changes: 1 addition & 3 deletions cv32e40p/env/uvme/cov/uvme_cv32e40p_fp_instr_covg.sv
Original file line number Diff line number Diff line change
Expand Up @@ -393,9 +393,7 @@ class uvme_cv32e40p_fp_instr_covg extends uvm_component;
(`COVIF_CB.apu_gnt == 1) &&
(`COVIF_CB.apu_rvalid_i == 1) ) {

// FIXME: this is a kludge for a known VCS issue
//bins rd[] = {[0:31]} with (fpu_latency == 0);
bins rd[] = {[0:31]} `WITH (fpu_latency == 0);
bins rd[] = {[0:31]} with (fpu_latency == 0);
}

// from bhv_logic_3
Expand Down
7 changes: 0 additions & 7 deletions lib/uvm_agents/uvma_isacov/uvma_isacov_macros.sv
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,6 @@
`ifndef __UVMA_ISACOV_MACROS_SV__
`define __UVMA_ISACOV_MACROS_SV__

// Macro to remove instrucitons that are not supported based on standard ext_*_supported variable names (from commmon core control cfg class)
`ifdef UNSUPPORTED_WITH
`define WITH iff
`else
`define WITH with
`endif

// Macro to remove instrucitons that are not supported based on standard ext_*_supported variable names (from commmon core control cfg class)
`define ISACOV_IGN_BINS \
ignore_bins IGN_UNKNOWN = {UNKNOWN}; \
Expand Down
13 changes: 9 additions & 4 deletions mk/uvmt/vcs.mk
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,8 @@ VCS_UVM_VERBOSITY ?= UVM_MEDIUM

# Flags
VCS_VERSION ?= S-2021.09-SP1
VCS_UVMHOME_ARG ?= /synopsys/vcs/$(VCS_VERSION)/etc/uvm-1.2
VCS_HOME ?= /synopsys/vcs/$(VCS_VERSION)
VCS_UVMHOME_ARG ?= $(VCS_HOME)/etc/uvm-1.2
VCS_UVM_ARGS ?= +incdir+$(VCS_UVMHOME_ARG)/src $(VCS_UVMHOME_ARG)/src/uvm_pkg.sv +UVM_VERBOSITY=$(VCS_UVM_VERBOSITY) -ntb_opts uvm-1.2

VCS_COMP_FLAGS ?= -lca -sverilog \
Expand Down Expand Up @@ -156,9 +157,6 @@ endif

VCS_FILE_LIST ?= -f $(DV_UVMT_PATH)/uvmt_$(CV_CORE_LC).flist

# FIXME: this is a kludge to work-around a known VCS bug
VCS_USER_COMPILE_ARGS += +define+UNSUPPORTED_WITH

ifeq ($(call IS_YES,$(ENABLE_TRACE_LOG)),YES)
VCS_USER_COMPILE_ARGS += +define+$(CV_CORE_UC)_TRACE_EXECUTION
VCS_USER_COMPILE_ARGS += +define+$(CV_CORE_UC)_RVFI_TRACE_EXECUTION
Expand Down Expand Up @@ -191,9 +189,16 @@ VCS_RUN_BASE_FLAGS ?= $(VCS_GUI) \
-assert nopostproc \
-sv_lib $(abspath $(VCS_SVLIB_LIB))

# The following INFO message appeared in the run-logs as of VCS Runtime version V-2023.12-1_Full64:
# Info: [VCS_SAVE_RESTORE_INFO] ASLR (Address Space Layout Randomization) is detected on the machine.
# To enable $save functionality, ASLR will be switched off and simv re-executed.
# Please use '-no_save' simv switch to avoid re-execution or '-suppress=ASLR_DETECTED_INFO' to suppress this message.
VCS_SAVE_RESTORE_INFO_FLAGS ?= -no_save

# Simulate using latest elab
VCS_RUN_FLAGS ?=
VCS_RUN_FLAGS += $(VCS_RUN_BASE_FLAGS)
VCS_RUN_FLAGS += $(VCS_SAVE_RESTORE_INFO_FLAGS)
VCS_RUN_FLAGS += $(VCS_RUN_WAVES_FLAGS)
VCS_RUN_FLAGS += $(VCS_RUN_COV_FLAGS)

Expand Down

0 comments on commit 3592fdb

Please sign in to comment.