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

Fix instantiation warnings (cv32e40x related) #544

Closed
Silabs-ArjanB opened this issue Mar 31, 2021 · 6 comments
Closed

Fix instantiation warnings (cv32e40x related) #544

Silabs-ArjanB opened this issue Mar 31, 2021 · 6 comments
Assignees
Labels
cv32e40x Resolved At least one Committer believes the issue is fixed.

Comments

@Silabs-ArjanB
Copy link
Contributor

There are several misconnections leading to comilation warnings; can the following be fixed please?

In core-v-verif/core-v-cores/cv32e40x/bhv/cv32e40x_wrapper.sv

Change the following:


      .ex_reg_addr    ( core_i.id_stage_i.regfile_waddr[1]          ),
      .ex_reg_we      ( 1'b0                                        ),
      .ex_reg_wdata   ( core_i.id_stage_i.regfile_wdata[1]          ),

Into:

      .ex_reg_addr    ( 5‘b0                                        ),
      .ex_reg_we      ( 1'b0                                        ),
      .ex_reg_wdata   ( 32’b0                                       ),

In core-v-verif/cv32e40x/tb/uvmt/uvmt_cv32e40x_dut_wrap.sv add the following lines to the cv32e40x_wrapper_i instantiation:

         .data_err_i             ( '0                             ), //TODO: Temp tie off
         .data_exokay_i          ( '0                             ), //TODO: Temp tie off

@treforsouthwell
Copy link

Here's the build warning log from Xcelium if it's useful:

_manifest.flist -f /projects/openhw/workspace/core-v-verif/cv32e40x/tb/uvmt/uvmt_cv32e40x.flist -top uvmt_cv32e40x_tb -l xrun.log -elaborate' ]
cv32e40x_wrapper_i
|
xmelab: *W,CUVWSP (/projects/openhw/workspace/core-v-verif/cv32e40x/tb/uvmt/uvmt_cv32e40x_dut_wrap.sv,160|21): 1 output port was not connected:
xmelab: (/projects/openhw/workspace/core-v-verif/core-v-cores/cv32e40x/bhv/cv32e40x_wrapper.sv,79): data_atop_o

cv32e40x_wrapper_i
                 |

xmelab: *W,CUVWSI (/projects/openhw/workspace/core-v-verif/cv32e40x/tb/uvmt/uvmt_cv32e40x_dut_wrap.sv,160|21): 2 input ports were not connected:
xmelab: (/projects/openhw/workspace/core-v-verif/core-v-cores/cv32e40x/bhv/cv32e40x_wrapper.sv,78): data_err_i
xmelab: (/projects/openhw/workspace/core-v-verif/core-v-cores/cv32e40x/bhv/cv32e40x_wrapper.sv,80): data_exokay_i

Top level design units:
	perturbation_defines
	$unit_0x1120e9b2
	uvm_pkg
	cdns_uvmapi
	cdns_assert2uvm_pkg
	cdns_uvm_pkg
	uvml_trn_pkg
	uvml_logs_pkg
	uvml_hrtbt_pkg
	uvma_clknrst_pkg
	uvma_interrupt_pkg
	uvma_debug_pkg
	uvma_obi_pkg
	uvml_sb_pkg
	cv32e40x_pkg
	uvme_cv32e40x_pkg
	uvmt_cv32e40x_pkg
	cv32e40x_tracer_pkg
	uvmt_cv32e40x_tb
  .ex_reg_addr    ( core_i.id_stage_i.regfile_waddr[1]          ),
                                                    |

xmelab: *W,BNDMEM (/projects/openhw/workspace/core-v-verif/core-v-cores/cv32e40x/bhv/cv32e40x_wrapper.sv,223|56): Memory index out of declared bounds.
.ex_reg_wdata ( core_i.id_stage_i.regfile_wdata[1] ),
|
xmelab: *W,BNDMEM (/projects/openhw/workspace/core-v-verif/core-v-cores/cv32e40x/bhv/cv32e40x_wrapper.sv,225|56): Memory index out of declared bounds.

@silabs-robin
Copy link
Contributor

Hi @Silabs-ArjanB and @treforsouthwell. Thanks for reporting.

Some of this, I think, should be fixed in the 40x repo, and some should be fixed here.
(I'm just listing some additional warnings too, to bring them to view).

Fix in core-v-verif:

  • cv32e40x/tb/uvmt/uvmt_cv32e40x_dut_wrap.sv
    • 1 output port was not connected
      • data_atop_o
    • 2 input ports were not connected
      • data_err_i
      • data_exokay_i

Fix in 40x:

  • core-v-cores/cv32e40x/rtl/cv32e40x_core.sv
    • 1 output port was not connected
      • data_err_ack_o
    • 1 input port was not connected
      • data_err_i
    • 1 input port was not connected
      • lsu_rdata_i

Fix in 40x:

  • core-v-cores/cv32e40x/bhv/cv32e40x_wrapper.sv
    • Memory index out of declared bounds
      • .ex_reg_addr
    • Memory index out of declared bounds
      • .ex_reg_wdata

Fix in ???:

  • core-v-cores/cv32e40x/rtl/cv32e40x_load_store_unit.sv
    • Unique case violation
      • line 408

Fix in core-v-verif:

  • Call to process::self() from invalid process; returning null

@Silabs-ArjanB
Copy link
Contributor Author

Hi @silabs-robin, core-v-cores/cv32e40x/rtl/cv32e40x_core.sv has already been fixed on cv32e40x master branch. I will fix cv32e40x/bhv/cv32e40x_wrapper.sv in a couple of minutes (mistakenly thought this was in core-v-verif).

Let's discuss the unique case violation outside this ticket (I didn't look at it now, but in the past we had the choice to keep either the lint tool or the simulator happy (and the other unhappy).

@Silabs-ArjanB
Copy link
Contributor Author

Hi @silabs-robin openhwgroup/cv32e40x#24 should have fixed the above errors in the cv32e40x repos. can you address the remaining issues in core-v-verif. For 'unique case' please give me a call if you want to discuss; for 'self' please add a separate ticket if it cannot be easily fixed right away.

@strichmo
Copy link
Contributor

strichmo commented Mar 31, 2021

@silabs-robin Please advance the hash in Common.mk in cv32e40x in core-v-verif and make sure the ci_check passes then PR it. Please note that I just had to push through a quick fix to CV_CORE_PATH, so make sure to merge up with the latest cv32e40x/dev branch. Thanks.

@strichmo
Copy link
Contributor

This is fixed.

@strichmo strichmo added the Resolved At least one Committer believes the issue is fixed. label Sep 16, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cv32e40x Resolved At least one Committer believes the issue is fixed.
Projects
None yet
Development

No branches or pull requests

4 participants