Add chip_csr_bit_bash and chip_padctrl_attributes to edacloud - Fixed Bug: 281760247 Change-Id: I257cf74333c642f7996412102efd4b38474b7418
diff --git a/hw/top_matcha/dv/chip_sim_cfg.hjson b/hw/top_matcha/dv/chip_sim_cfg.hjson index 9486b91..61adfc4 100644 --- a/hw/top_matcha/dv/chip_sim_cfg.hjson +++ b/hw/top_matcha/dv/chip_sim_cfg.hjson
@@ -2059,6 +2059,8 @@ // TODO(b/287644985): Track the dv tests to be implemented. name: edacloud_nightly tests: [ + "chip_csr_bit_bash", + "chip_padctrl_attributes", "chip_plic_all_irqs", "chip_rv_dm_ndm_reset_req", "chip_sw_aes_smoketest", @@ -2145,6 +2147,8 @@ { name: edacloud_all tests: [ + "chip_csr_bit_bash", + "chip_padctrl_attributes", "chip_plic_all_irqs", "chip_rv_dm_ndm_reset_req", "chip_sw_aes_smoketest",
diff --git a/hw/top_matcha/ip/dma/data/dma.hjson b/hw/top_matcha/ip/dma/data/dma.hjson index d28e8c7..276e9fe 100644 --- a/hw/top_matcha/ip/dma/data/dma.hjson +++ b/hw/top_matcha/ip/dma/data/dma.hjson
@@ -119,7 +119,9 @@ Write 1 to enable reader interrupt. ''' }, - ] + ], + tags: [ + "excl:CsrAllTests:CsrExclWrite"], }, // "INTR_STATE" is used here instead of IP name of "INTR_STATUS" to match the
diff --git a/util/topgen_matcha/gen_dv.py b/util/topgen_matcha/gen_dv.py index 189829d..a0c9549 100755 --- a/util/topgen_matcha/gen_dv.py +++ b/util/topgen_matcha/gen_dv.py
@@ -1,4 +1,4 @@ -# Copyright 2022 Google LLC +# Copyright 2022-2023 Google LLC # Copyright lowRISC contributors. # Licensed under the Apache License, Version 2.0, see LICENSE for details. # SPDX-License-Identifier: Apache-2.0 @@ -31,10 +31,16 @@ resource_filename('reggen', '.')]) uvm_reg_tpl = lookup.get_template('top_uvm_reg.sv.tpl') + # isp_wrapper is excluded from CSR tests + create_isp_wrapper = "1'b1" + if "cover_reg_top" in outdir: + create_isp_wrapper = "1'b0" + # Expand template try: to_write = uvm_reg_tpl.render(top=top, - dv_base_names=dv_base_names) + dv_base_names=dv_base_names, + create_isp_wrapper=create_isp_wrapper) except: # noqa: E722 log.error(exceptions.text_error_template().render()) return 1
diff --git a/util/topgen_matcha/top_uvm_reg.sv.tpl b/util/topgen_matcha/top_uvm_reg.sv.tpl index 1e6dde5..2ba63c7 100644 --- a/util/topgen_matcha/top_uvm_reg.sv.tpl +++ b/util/topgen_matcha/top_uvm_reg.sv.tpl
@@ -1,3 +1,4 @@ +// Copyright 2022-2023 Google LLC. // Copyright lowRISC contributors. // Licensed under the Apache License, Version 2.0, see LICENSE for details. // SPDX-License-Identifier: Apache-2.0 @@ -16,6 +17,8 @@ ## ## dv_base_names a DvBaseNames object for the base register type ## +## create_isp_wrapper Create isp_wrapper RAL model based on the context +## ## Like uvm_reg.sv.tpl, we use functions from uvm_reg_base.sv.tpl to define ## per-device-interface code. ## @@ -88,6 +91,8 @@ inst_name == "tlul_mailbox_smc" or inst_name == "rv_core_ibex_smc"): create_block = "1'b0" + elif inst_name == "isp_wrapper": + create_block = create_isp_wrapper %>\ bit create_${if_inst} = ${create_block}; rand ${bcname(esc_if_name)} ${if_inst};