| // Copyright lowRISC contributors. | 
 | // Licensed under the Apache License, Version 2.0, see LICENSE for details. | 
 | // SPDX-License-Identifier: Apache-2.0 | 
 | { | 
 |   // Name of the sim cfg - typically same as the name of the DUT. | 
 |   name: clkmgr | 
 |  | 
 |   // Top level dut name (sv module). | 
 |   dut: clkmgr | 
 |  | 
 |   // Top level testbench name (sv module). | 
 |   tb: tb | 
 |  | 
 |   // Simulator used to sign off this block | 
 |   tool: vcs | 
 |  | 
 |   // Fusesoc core file used for building the file list. | 
 |   fusesoc_core: lowrisc:dv:clkmgr_sim:0.1 | 
 |  | 
 |   // Testplan hjson file. | 
 |   testplan: "{proj_root}/hw/ip/clkmgr/data/clkmgr_testplan.hjson" | 
 |  | 
 |   // RAL spec - used to generate the RAL model. | 
 |   ral_spec: "{proj_root}/hw/ip/clkmgr/data/clkmgr.hjson" | 
 |  | 
 |   // Import additional common sim cfg files. | 
 |   // TODO: remove imported cfgs that do not apply. | 
 |   import_cfgs: [// Project wide common sim cfg file | 
 |                 "{proj_root}/hw/dv/tools/dvsim/common_sim_cfg.hjson", | 
 |                 // Common CIP test lists | 
 |                 "{proj_root}/hw/dv/tools/dvsim/tests/csr_tests.hjson", | 
 |                 "{proj_root}/hw/dv/tools/dvsim/tests/intr_test.hjson", | 
 |                 "{proj_root}/hw/dv/tools/dvsim/tests/alert_test.hjson", | 
 |                 "{proj_root}/hw/dv/tools/dvsim/tests/tl_access_tests.hjson", | 
 |                 "{proj_root}/hw/dv/tools/dvsim/tests/stress_tests.hjson", | 
 |                 "{proj_root}/hw/dv/tools/dvsim/tests/sec_cm_tests.hjson", | 
 |                 "{proj_root}/hw/dv/tools/dvsim/tests/shadow_reg_errors_tests.hjson" | 
 |                 ] | 
 |  | 
 |   // Add additional tops for simulation. | 
 |   sim_tops: ["clkmgr_bind", | 
 |              "clkmgr_cov_bind", | 
 |              "sec_cm_prim_count_bind", | 
 |              "sec_cm_prim_onehot_check_bind"] | 
 |  | 
 |   // Default iterations for all tests - each test entry can override this. | 
 |   reseed: 50 | 
 |  | 
 |   // CLKMGR exclusion files. | 
 |   vcs_cov_excl_files: ["{proj_root}/hw/ip/clkmgr/dv/cov/clkmgr_cov_manual_excl.el", | 
 |                        "{proj_root}/hw/ip/clkmgr/dv/cov/clkmgr_cov_unr_excl.el"] | 
 |  | 
 |   // Default UVM test and seq class name. | 
 |   uvm_test: clkmgr_base_test | 
 |   uvm_test_seq: clkmgr_base_vseq | 
 |  | 
 |   // Disable clearing interrupts since clkmgr doesn't have any. | 
 |   run_opts: ["+do_clear_all_interrupts=0", | 
 |              // Enable cdc instrumentation. | 
 |              "+cdc_instrumentation_enabled=1"] | 
 |  | 
 |   // List of test specifications. | 
 |   tests: [ | 
 |     { | 
 |       name: clkmgr_smoke | 
 |       uvm_test_seq: clkmgr_smoke_vseq | 
 |     } | 
 |     { | 
 |       name: clkmgr_extclk | 
 |       uvm_test_seq: clkmgr_extclk_vseq | 
 |     } | 
 |     { | 
 |       name: clkmgr_frequency | 
 |       uvm_test_seq: clkmgr_frequency_vseq | 
 |     } | 
 |     { | 
 |       name: clkmgr_frequency_timeout | 
 |       uvm_test_seq: clkmgr_frequency_timeout_vseq | 
 |     } | 
 |     { | 
 |       name: clkmgr_peri | 
 |       uvm_test_seq: clkmgr_peri_vseq | 
 |     } | 
 |     { | 
 |       name: clkmgr_trans | 
 |       uvm_test_seq: clkmgr_trans_vseq | 
 |     } | 
 |     { | 
 |       name: clkmgr_clk_status | 
 |       uvm_test_seq: clkmgr_clk_status_vseq | 
 |     } | 
 |     { | 
 |       name: clkmgr_idle_intersig_mubi | 
 |       uvm_test_seq: clkmgr_trans_vseq | 
 |       run_opts: ["+clkmgr_mubi_mode=ClkmgrMubiIdle"] | 
 |     } | 
 |     { | 
 |       name: clkmgr_lc_ctrl_intersig_mubi | 
 |       uvm_test_seq: clkmgr_extclk_vseq | 
 |       run_opts: ["+clkmgr_mubi_mode=ClkmgrMubiLcCtrl"] | 
 |     } | 
 |     { | 
 |       name: clkmgr_lc_clk_byp_req_intersig_mubi | 
 |       uvm_test_seq: clkmgr_extclk_vseq | 
 |       run_opts: ["+clkmgr_mubi_mode=ClkmgrMubiLcHand"] | 
 |     } | 
 |     { | 
 |       name: clkmgr_clk_handshake_intersig_mubi | 
 |       uvm_test_seq: clkmgr_extclk_vseq | 
 |       run_opts: ["+clkmgr_mubi_mode=ClkmgrMubiHand"] | 
 |     } | 
 |     { | 
 |       name: clkmgr_div_intersig_mubi | 
 |       uvm_test_seq: clkmgr_extclk_vseq | 
 |       run_opts: ["+clkmgr_mubi_mode=ClkmgrMubiDiv"] | 
 |     } | 
 |     // TODO: add more tests here | 
 |   ] | 
 |  | 
 |   // List of regressions. | 
 |   regressions: [ | 
 |     { | 
 |       name: smoke | 
 |       tests: ["clkmgr_smoke"] | 
 |     } | 
 |   ] | 
 | } |