├── .gitignore ├── .gitmodules ├── .project ├── .svproject ├── CONTRIBUTING.md ├── LICENSE.md ├── README.md ├── docs ├── .gitignore ├── adv_timer_b_dv_specs.odt ├── apb_adv_timer_ss_dv_specs.odt ├── apb_adv_timer_ss_reg_model.odt ├── apb_timer_ss_dv_specs.odt ├── apb_timer_ss_reg_model.odt ├── core-v-mcu-uvm_interrupts.odt ├── cvmcu.uvmx.ods ├── cvmcu_chip_dv_specs.odt ├── cvmcu_chip_reg_model.odt ├── cvmcu_cpi_agent_dv_specs.odt ├── cvmcu_dbg_agent_dv_specs.odt ├── cvmcu_event_agent_dv_specs.odt ├── cvmcu_io_agent_dv_specs.odt ├── cvmcu_uvm_block_diagram.png ├── efpga.uvmx.ods ├── peripherals.uvmx.ods ├── tcounter_b_dv_specs.odt ├── tprescaler_b_dv_specs.odt ├── udma.uvmx.ods └── verif_plan.pdf ├── dv ├── agents │ ├── uvma_cvmcu_cpi │ │ ├── .gitignore │ │ ├── README.md │ │ ├── TODOS.azure.csv │ │ ├── TODOS.github.csv │ │ ├── TODOS.gitlab.csv │ │ ├── TODOS.jira.csv │ │ ├── docs │ │ │ ├── agent_block_diagram.svg │ │ │ ├── agent_block_diagram.vsdx │ │ │ ├── dev_guide.md │ │ │ ├── index.md │ │ │ └── user_guide.md │ │ ├── examples │ │ │ ├── instantiation.sv │ │ │ └── sequence.sv │ │ ├── ip.yml │ │ └── src │ │ │ ├── comps │ │ │ ├── uvma_cvmcu_cpi_agent.sv │ │ │ ├── uvma_cvmcu_cpi_cov_model.sv │ │ │ ├── uvma_cvmcu_cpi_drv.sv │ │ │ ├── uvma_cvmcu_cpi_logger.sv │ │ │ ├── uvma_cvmcu_cpi_mon.sv │ │ │ ├── uvma_cvmcu_cpi_phy_mon.sv │ │ │ ├── uvma_cvmcu_cpi_rx_phy_drv.sv │ │ │ ├── uvma_cvmcu_cpi_sqr.sv │ │ │ └── uvma_cvmcu_cpi_tx_phy_drv.sv │ │ │ ├── obj │ │ │ ├── uvma_cvmcu_cpi_cfg.sv │ │ │ ├── uvma_cvmcu_cpi_cntxt.sv │ │ │ ├── uvma_cvmcu_cpi_mon_trn.sv │ │ │ └── uvma_cvmcu_cpi_phy_mon_trn.sv │ │ │ ├── seq │ │ │ ├── uvma_cvmcu_cpi_base_seq.sv │ │ │ ├── uvma_cvmcu_cpi_fix_ill_stim_seq.sv │ │ │ ├── uvma_cvmcu_cpi_fix_stim_seq.sv │ │ │ ├── uvma_cvmcu_cpi_idle_seq.sv │ │ │ ├── uvma_cvmcu_cpi_mon_seq.sv │ │ │ ├── uvma_cvmcu_cpi_rand_ill_stim_seq.sv │ │ │ ├── uvma_cvmcu_cpi_rand_stim_seq.sv │ │ │ ├── uvma_cvmcu_cpi_rx_drv_seq.sv │ │ │ ├── uvma_cvmcu_cpi_rx_phy_seq_item.sv │ │ │ ├── uvma_cvmcu_cpi_seq_item.sv │ │ │ ├── uvma_cvmcu_cpi_seq_lib.sv │ │ │ ├── uvma_cvmcu_cpi_tx_drv_seq.sv │ │ │ └── uvma_cvmcu_cpi_tx_phy_seq_item.sv │ │ │ ├── uvma_cvmcu_cpi_constants.sv │ │ │ ├── uvma_cvmcu_cpi_ftdecs.sv │ │ │ ├── uvma_cvmcu_cpi_if.sv │ │ │ ├── uvma_cvmcu_cpi_if_chkr.sv │ │ │ ├── uvma_cvmcu_cpi_macros.svh │ │ │ ├── uvma_cvmcu_cpi_pkg.sv │ │ │ └── uvma_cvmcu_cpi_tdefs.sv │ ├── uvma_cvmcu_dbg │ │ ├── .gitignore │ │ ├── README.md │ │ ├── TODOS.azure.csv │ │ ├── TODOS.github.csv │ │ ├── TODOS.gitlab.csv │ │ ├── TODOS.jira.csv │ │ ├── docs │ │ │ ├── agent_block_diagram.svg │ │ │ ├── agent_block_diagram.vsdx │ │ │ ├── dev_guide.md │ │ │ ├── index.md │ │ │ └── user_guide.md │ │ ├── examples │ │ │ ├── instantiation.sv │ │ │ └── sequence.sv │ │ ├── ip.yml │ │ └── src │ │ │ ├── comps │ │ │ ├── uvma_cvmcu_dbg_agent.sv │ │ │ ├── uvma_cvmcu_dbg_core_phy_drv.sv │ │ │ ├── uvma_cvmcu_dbg_cov_model.sv │ │ │ ├── uvma_cvmcu_dbg_drv.sv │ │ │ ├── uvma_cvmcu_dbg_logger.sv │ │ │ ├── uvma_cvmcu_dbg_mon.sv │ │ │ ├── uvma_cvmcu_dbg_phy_mon.sv │ │ │ ├── uvma_cvmcu_dbg_sqr.sv │ │ │ └── uvma_cvmcu_dbg_sys_phy_drv.sv │ │ │ ├── obj │ │ │ ├── uvma_cvmcu_dbg_cfg.sv │ │ │ ├── uvma_cvmcu_dbg_cntxt.sv │ │ │ ├── uvma_cvmcu_dbg_mon_trn.sv │ │ │ └── uvma_cvmcu_dbg_phy_mon_trn.sv │ │ │ ├── seq │ │ │ ├── uvma_cvmcu_dbg_base_seq.sv │ │ │ ├── uvma_cvmcu_dbg_core_drv_seq.sv │ │ │ ├── uvma_cvmcu_dbg_core_phy_seq_item.sv │ │ │ ├── uvma_cvmcu_dbg_fix_ill_stim_seq.sv │ │ │ ├── uvma_cvmcu_dbg_fix_stim_seq.sv │ │ │ ├── uvma_cvmcu_dbg_idle_seq.sv │ │ │ ├── uvma_cvmcu_dbg_mon_seq.sv │ │ │ ├── uvma_cvmcu_dbg_rand_ill_stim_seq.sv │ │ │ ├── uvma_cvmcu_dbg_rand_stim_seq.sv │ │ │ ├── uvma_cvmcu_dbg_seq_item.sv │ │ │ ├── uvma_cvmcu_dbg_seq_lib.sv │ │ │ ├── uvma_cvmcu_dbg_sys_drv_seq.sv │ │ │ └── uvma_cvmcu_dbg_sys_phy_seq_item.sv │ │ │ ├── uvma_cvmcu_dbg_constants.sv │ │ │ ├── uvma_cvmcu_dbg_ftdecs.sv │ │ │ ├── uvma_cvmcu_dbg_if.sv │ │ │ ├── uvma_cvmcu_dbg_if_chkr.sv │ │ │ ├── uvma_cvmcu_dbg_macros.svh │ │ │ ├── uvma_cvmcu_dbg_pkg.sv │ │ │ └── uvma_cvmcu_dbg_tdefs.sv │ ├── uvma_cvmcu_event │ │ ├── .gitignore │ │ ├── README.md │ │ ├── TODOS.azure.csv │ │ ├── TODOS.github.csv │ │ ├── TODOS.gitlab.csv │ │ ├── TODOS.jira.csv │ │ ├── docs │ │ │ ├── agent_block_diagram.svg │ │ │ ├── agent_block_diagram.vsdx │ │ │ ├── dev_guide.md │ │ │ ├── index.md │ │ │ └── user_guide.md │ │ ├── examples │ │ │ ├── instantiation.sv │ │ │ └── sequence.sv │ │ ├── ip.yml │ │ └── src │ │ │ ├── comps │ │ │ ├── uvma_cvmcu_event_agent.sv │ │ │ ├── uvma_cvmcu_event_core_phy_drv.sv │ │ │ ├── uvma_cvmcu_event_cov_model.sv │ │ │ ├── uvma_cvmcu_event_drv.sv │ │ │ ├── uvma_cvmcu_event_logger.sv │ │ │ ├── uvma_cvmcu_event_mon.sv │ │ │ ├── uvma_cvmcu_event_phy_mon.sv │ │ │ ├── uvma_cvmcu_event_sqr.sv │ │ │ └── uvma_cvmcu_event_sys_phy_drv.sv │ │ │ ├── obj │ │ │ ├── uvma_cvmcu_event_cfg.sv │ │ │ ├── uvma_cvmcu_event_cntxt.sv │ │ │ ├── uvma_cvmcu_event_mon_trn.sv │ │ │ └── uvma_cvmcu_event_phy_mon_trn.sv │ │ │ ├── seq │ │ │ ├── uvma_cvmcu_event_base_seq.sv │ │ │ ├── uvma_cvmcu_event_core_drv_seq.sv │ │ │ ├── uvma_cvmcu_event_core_phy_seq_item.sv │ │ │ ├── uvma_cvmcu_event_fix_ill_stim_seq.sv │ │ │ ├── uvma_cvmcu_event_fix_stim_seq.sv │ │ │ ├── uvma_cvmcu_event_idle_seq.sv │ │ │ ├── uvma_cvmcu_event_mon_seq.sv │ │ │ ├── uvma_cvmcu_event_rand_ill_stim_seq.sv │ │ │ ├── uvma_cvmcu_event_rand_stim_seq.sv │ │ │ ├── uvma_cvmcu_event_seq_item.sv │ │ │ ├── uvma_cvmcu_event_seq_lib.sv │ │ │ ├── uvma_cvmcu_event_sys_drv_seq.sv │ │ │ └── uvma_cvmcu_event_sys_phy_seq_item.sv │ │ │ ├── uvma_cvmcu_event_constants.sv │ │ │ ├── uvma_cvmcu_event_ftdecs.sv │ │ │ ├── uvma_cvmcu_event_if.sv │ │ │ ├── uvma_cvmcu_event_if_chkr.sv │ │ │ ├── uvma_cvmcu_event_macros.svh │ │ │ ├── uvma_cvmcu_event_pkg.sv │ │ │ └── uvma_cvmcu_event_tdefs.sv │ ├── uvme_cvmcu_cpi_st │ │ ├── .gitignore │ │ ├── README.md │ │ ├── TODOS.azure.csv │ │ ├── TODOS.github.csv │ │ ├── TODOS.gitlab.csv │ │ ├── TODOS.jira.csv │ │ ├── docs │ │ │ ├── dev_guide.md │ │ │ ├── env_block_diagram.svg │ │ │ ├── env_block_diagram.vsdx │ │ │ ├── index.md │ │ │ └── user_guide.md │ │ ├── examples │ │ │ └── sequence.sv │ │ ├── ip.yml │ │ └── src │ │ │ ├── comps │ │ │ ├── uvme_cvmcu_cpi_st_cov_model.sv │ │ │ ├── uvme_cvmcu_cpi_st_env.sv │ │ │ ├── uvme_cvmcu_cpi_st_prd.sv │ │ │ ├── uvme_cvmcu_cpi_st_sb.sv │ │ │ └── uvme_cvmcu_cpi_st_sqr.sv │ │ │ ├── obj │ │ │ ├── uvme_cvmcu_cpi_st_cfg.sv │ │ │ └── uvme_cvmcu_cpi_st_cntxt.sv │ │ │ ├── seq │ │ │ ├── uvme_cvmcu_cpi_st_base_seq.sv │ │ │ └── uvme_cvmcu_cpi_st_seq_lib.sv │ │ │ ├── uvme_cvmcu_cpi_st_constants.sv │ │ │ ├── uvme_cvmcu_cpi_st_ftdecs.sv │ │ │ ├── uvme_cvmcu_cpi_st_macros.svh │ │ │ ├── uvme_cvmcu_cpi_st_pkg.sv │ │ │ └── uvme_cvmcu_cpi_st_tdefs.sv │ ├── uvme_cvmcu_dbg_st │ │ ├── .gitignore │ │ ├── README.md │ │ ├── TODOS.azure.csv │ │ ├── TODOS.github.csv │ │ ├── TODOS.gitlab.csv │ │ ├── TODOS.jira.csv │ │ ├── docs │ │ │ ├── dev_guide.md │ │ │ ├── env_block_diagram.svg │ │ │ ├── env_block_diagram.vsdx │ │ │ ├── index.md │ │ │ └── user_guide.md │ │ ├── examples │ │ │ └── sequence.sv │ │ ├── ip.yml │ │ └── src │ │ │ ├── comps │ │ │ ├── uvme_cvmcu_dbg_st_cov_model.sv │ │ │ ├── uvme_cvmcu_dbg_st_env.sv │ │ │ ├── uvme_cvmcu_dbg_st_prd.sv │ │ │ ├── uvme_cvmcu_dbg_st_sb.sv │ │ │ └── uvme_cvmcu_dbg_st_sqr.sv │ │ │ ├── obj │ │ │ ├── uvme_cvmcu_dbg_st_cfg.sv │ │ │ └── uvme_cvmcu_dbg_st_cntxt.sv │ │ │ ├── seq │ │ │ ├── uvme_cvmcu_dbg_st_base_seq.sv │ │ │ └── uvme_cvmcu_dbg_st_seq_lib.sv │ │ │ ├── uvme_cvmcu_dbg_st_constants.sv │ │ │ ├── uvme_cvmcu_dbg_st_ftdecs.sv │ │ │ ├── uvme_cvmcu_dbg_st_macros.svh │ │ │ ├── uvme_cvmcu_dbg_st_pkg.sv │ │ │ └── uvme_cvmcu_dbg_st_tdefs.sv │ ├── uvme_cvmcu_event_st │ │ ├── .gitignore │ │ ├── README.md │ │ ├── TODOS.azure.csv │ │ ├── TODOS.github.csv │ │ ├── TODOS.gitlab.csv │ │ ├── TODOS.jira.csv │ │ ├── docs │ │ │ ├── dev_guide.md │ │ │ ├── env_block_diagram.svg │ │ │ ├── env_block_diagram.vsdx │ │ │ ├── index.md │ │ │ └── user_guide.md │ │ ├── examples │ │ │ └── sequence.sv │ │ ├── ip.yml │ │ └── src │ │ │ ├── comps │ │ │ ├── uvme_cvmcu_event_st_cov_model.sv │ │ │ ├── uvme_cvmcu_event_st_env.sv │ │ │ ├── uvme_cvmcu_event_st_prd.sv │ │ │ ├── uvme_cvmcu_event_st_sb.sv │ │ │ └── uvme_cvmcu_event_st_sqr.sv │ │ │ ├── obj │ │ │ ├── uvme_cvmcu_event_st_cfg.sv │ │ │ └── uvme_cvmcu_event_st_cntxt.sv │ │ │ ├── seq │ │ │ ├── uvme_cvmcu_event_st_base_seq.sv │ │ │ ├── uvme_cvmcu_event_st_fix_ill_stim_seq.sv │ │ │ ├── uvme_cvmcu_event_st_fix_stim_seq.sv │ │ │ ├── uvme_cvmcu_event_st_rand_ill_stim_seq.sv │ │ │ ├── uvme_cvmcu_event_st_rand_stim_seq.sv │ │ │ └── uvme_cvmcu_event_st_seq_lib.sv │ │ │ ├── uvme_cvmcu_event_st_constants.sv │ │ │ ├── uvme_cvmcu_event_st_ftdecs.sv │ │ │ ├── uvme_cvmcu_event_st_macros.svh │ │ │ ├── uvme_cvmcu_event_st_pkg.sv │ │ │ └── uvme_cvmcu_event_st_tdefs.sv │ ├── uvmt_cvmcu_cpi_st │ │ ├── .gitignore │ │ ├── README.md │ │ ├── TODOS.azure.csv │ │ ├── TODOS.github.csv │ │ ├── TODOS.gitlab.csv │ │ ├── TODOS.jira.csv │ │ ├── docs │ │ │ ├── dev_guide.md │ │ │ ├── index.md │ │ │ ├── tb_block_diagram.svg │ │ │ ├── tb_block_diagram.vsdx │ │ │ └── user_guide.md │ │ ├── examples │ │ │ └── test.sv │ │ ├── ip.yml │ │ ├── src │ │ │ ├── tests │ │ │ │ ├── uvmt_cvmcu_cpi_st_fix_ill_stim_test.sv │ │ │ │ ├── uvmt_cvmcu_cpi_st_fix_stim_test.sv │ │ │ │ ├── uvmt_cvmcu_cpi_st_rand_ill_stim_test.sv │ │ │ │ └── uvmt_cvmcu_cpi_st_rand_stim_test.sv │ │ │ ├── uvmt_cvmcu_cpi_st_base_test.sv │ │ │ ├── uvmt_cvmcu_cpi_st_base_test_workarounds.sv │ │ │ ├── uvmt_cvmcu_cpi_st_constants.sv │ │ │ ├── uvmt_cvmcu_cpi_st_dut_wrap.sv │ │ │ ├── uvmt_cvmcu_cpi_st_ftdecs.sv │ │ │ ├── uvmt_cvmcu_cpi_st_macros.svh │ │ │ ├── uvmt_cvmcu_cpi_st_pkg.sv │ │ │ ├── uvmt_cvmcu_cpi_st_tb.sv │ │ │ ├── uvmt_cvmcu_cpi_st_tdefs.sv │ │ │ └── uvmt_cvmcu_cpi_st_test_cfg.sv │ │ └── ts.yml │ ├── uvmt_cvmcu_dbg_st │ │ ├── .gitignore │ │ ├── README.md │ │ ├── TODOS.azure.csv │ │ ├── TODOS.github.csv │ │ ├── TODOS.gitlab.csv │ │ ├── TODOS.jira.csv │ │ ├── docs │ │ │ ├── dev_guide.md │ │ │ ├── index.md │ │ │ ├── tb_block_diagram.svg │ │ │ ├── tb_block_diagram.vsdx │ │ │ └── user_guide.md │ │ ├── examples │ │ │ └── test.sv │ │ ├── ip.yml │ │ ├── src │ │ │ ├── tests │ │ │ │ ├── uvmt_cvmcu_dbg_st_fix_ill_stim_test.sv │ │ │ │ ├── uvmt_cvmcu_dbg_st_fix_stim_test.sv │ │ │ │ ├── uvmt_cvmcu_dbg_st_rand_ill_stim_test.sv │ │ │ │ └── uvmt_cvmcu_dbg_st_rand_stim_test.sv │ │ │ ├── uvmt_cvmcu_dbg_st_base_test.sv │ │ │ ├── uvmt_cvmcu_dbg_st_base_test_workarounds.sv │ │ │ ├── uvmt_cvmcu_dbg_st_constants.sv │ │ │ ├── uvmt_cvmcu_dbg_st_dut_wrap.sv │ │ │ ├── uvmt_cvmcu_dbg_st_ftdecs.sv │ │ │ ├── uvmt_cvmcu_dbg_st_macros.svh │ │ │ ├── uvmt_cvmcu_dbg_st_pkg.sv │ │ │ ├── uvmt_cvmcu_dbg_st_tb.sv │ │ │ ├── uvmt_cvmcu_dbg_st_tdefs.sv │ │ │ └── uvmt_cvmcu_dbg_st_test_cfg.sv │ │ └── ts.yml │ └── uvmt_cvmcu_event_st │ │ ├── .gitignore │ │ ├── README.md │ │ ├── TODOS.azure.csv │ │ ├── TODOS.github.csv │ │ ├── TODOS.gitlab.csv │ │ ├── TODOS.jira.csv │ │ ├── docs │ │ ├── dev_guide.md │ │ ├── index.md │ │ ├── tb_block_diagram.svg │ │ ├── tb_block_diagram.vsdx │ │ └── user_guide.md │ │ ├── examples │ │ └── test.sv │ │ ├── ip.yml │ │ ├── src │ │ ├── tests │ │ │ ├── uvmt_cvmcu_event_st_fix_ill_stim_test.sv │ │ │ ├── uvmt_cvmcu_event_st_fix_stim_test.sv │ │ │ ├── uvmt_cvmcu_event_st_rand_ill_stim_test.sv │ │ │ └── uvmt_cvmcu_event_st_rand_stim_test.sv │ │ ├── uvmt_cvmcu_event_st_base_test.sv │ │ ├── uvmt_cvmcu_event_st_base_test_workarounds.sv │ │ ├── uvmt_cvmcu_event_st_constants.sv │ │ ├── uvmt_cvmcu_event_st_dut_wrap.sv │ │ ├── uvmt_cvmcu_event_st_ftdecs.sv │ │ ├── uvmt_cvmcu_event_st_macros.svh │ │ ├── uvmt_cvmcu_event_st_pkg.sv │ │ ├── uvmt_cvmcu_event_st_tb.sv │ │ ├── uvmt_cvmcu_event_st_tdefs.sv │ │ └── uvmt_cvmcu_event_st_test_cfg.sv │ │ └── ts.yml ├── blocks │ ├── uvma_adv_timer_b │ │ ├── .gitignore │ │ ├── README.md │ │ ├── TODOS.azure.csv │ │ ├── TODOS.github.csv │ │ ├── TODOS.gitlab.csv │ │ ├── TODOS.jira.csv │ │ ├── docs │ │ │ ├── agent_block_diagram.svg │ │ │ ├── agent_block_diagram.vsdx │ │ │ ├── dev_guide.md │ │ │ ├── index.md │ │ │ └── user_guide.md │ │ ├── examples │ │ │ ├── instantiation.sv │ │ │ └── sequence.sv │ │ ├── ip.yml │ │ └── src │ │ │ ├── comps │ │ │ ├── uvma_adv_timer_b_agent.sv │ │ │ ├── uvma_adv_timer_b_cp_drv.sv │ │ │ ├── uvma_adv_timer_b_cp_mon.sv │ │ │ ├── uvma_adv_timer_b_dpi_drv.sv │ │ │ ├── uvma_adv_timer_b_dpi_mon.sv │ │ │ ├── uvma_adv_timer_b_dpo_drv.sv │ │ │ ├── uvma_adv_timer_b_dpo_mon.sv │ │ │ ├── uvma_adv_timer_b_drv.sv │ │ │ ├── uvma_adv_timer_b_logger.sv │ │ │ ├── uvma_adv_timer_b_mon.sv │ │ │ └── uvma_adv_timer_b_sqr.sv │ │ │ ├── obj │ │ │ ├── uvma_adv_timer_b_cfg.sv │ │ │ ├── uvma_adv_timer_b_cntxt.sv │ │ │ ├── uvma_adv_timer_b_cp_mon_trn.sv │ │ │ ├── uvma_adv_timer_b_dpi_mon_trn.sv │ │ │ ├── uvma_adv_timer_b_dpo_mon_trn.sv │ │ │ └── uvma_adv_timer_b_mon_trn.sv │ │ │ ├── seq │ │ │ ├── uvma_adv_timer_b_base_seq.sv │ │ │ ├── uvma_adv_timer_b_cp_seq_item.sv │ │ │ ├── uvma_adv_timer_b_dpi_seq_item.sv │ │ │ ├── uvma_adv_timer_b_dpo_seq_item.sv │ │ │ ├── uvma_adv_timer_b_idle_seq.sv │ │ │ ├── uvma_adv_timer_b_in_drv_seq.sv │ │ │ ├── uvma_adv_timer_b_mon_seq.sv │ │ │ ├── uvma_adv_timer_b_out_drv_seq.sv │ │ │ └── uvma_adv_timer_b_seq_item.sv │ │ │ ├── uvma_adv_timer_b_constants.sv │ │ │ ├── uvma_adv_timer_b_ftdecs.sv │ │ │ ├── uvma_adv_timer_b_if.sv │ │ │ ├── uvma_adv_timer_b_if_chkr.sv │ │ │ ├── uvma_adv_timer_b_macros.svh │ │ │ ├── uvma_adv_timer_b_pkg.sv │ │ │ └── uvma_adv_timer_b_tdefs.sv │ ├── uvma_tcounter_b │ │ ├── .gitignore │ │ ├── README.md │ │ ├── TODOS.azure.csv │ │ ├── TODOS.github.csv │ │ ├── TODOS.gitlab.csv │ │ ├── TODOS.jira.csv │ │ ├── docs │ │ │ ├── agent_block_diagram.svg │ │ │ ├── agent_block_diagram.vsdx │ │ │ ├── dev_guide.md │ │ │ ├── index.md │ │ │ └── user_guide.md │ │ ├── examples │ │ │ ├── instantiation.sv │ │ │ └── sequence.sv │ │ ├── ip.yml │ │ └── src │ │ │ ├── comps │ │ │ ├── uvma_tcounter_b_agent.sv │ │ │ ├── uvma_tcounter_b_cp_drv.sv │ │ │ ├── uvma_tcounter_b_cp_mon.sv │ │ │ ├── uvma_tcounter_b_dpi_drv.sv │ │ │ ├── uvma_tcounter_b_dpi_mon.sv │ │ │ ├── uvma_tcounter_b_dpo_drv.sv │ │ │ ├── uvma_tcounter_b_dpo_mon.sv │ │ │ ├── uvma_tcounter_b_drv.sv │ │ │ ├── uvma_tcounter_b_logger.sv │ │ │ ├── uvma_tcounter_b_mon.sv │ │ │ └── uvma_tcounter_b_sqr.sv │ │ │ ├── obj │ │ │ ├── uvma_tcounter_b_cfg.sv │ │ │ ├── uvma_tcounter_b_cntxt.sv │ │ │ ├── uvma_tcounter_b_cp_mon_trn.sv │ │ │ ├── uvma_tcounter_b_dpi_mon_trn.sv │ │ │ ├── uvma_tcounter_b_dpo_mon_trn.sv │ │ │ └── uvma_tcounter_b_mon_trn.sv │ │ │ ├── seq │ │ │ ├── uvma_tcounter_b_base_seq.sv │ │ │ ├── uvma_tcounter_b_cp_seq_item.sv │ │ │ ├── uvma_tcounter_b_dpi_seq_item.sv │ │ │ ├── uvma_tcounter_b_dpo_seq_item.sv │ │ │ ├── uvma_tcounter_b_idle_seq.sv │ │ │ ├── uvma_tcounter_b_in_drv_seq.sv │ │ │ ├── uvma_tcounter_b_mon_seq.sv │ │ │ ├── uvma_tcounter_b_out_drv_seq.sv │ │ │ └── uvma_tcounter_b_seq_item.sv │ │ │ ├── uvma_tcounter_b_constants.sv │ │ │ ├── uvma_tcounter_b_ftdecs.sv │ │ │ ├── uvma_tcounter_b_if.sv │ │ │ ├── uvma_tcounter_b_if_chkr.sv │ │ │ ├── uvma_tcounter_b_macros.svh │ │ │ ├── uvma_tcounter_b_pkg.sv │ │ │ └── uvma_tcounter_b_tdefs.sv │ ├── uvma_tprescaler_b │ │ ├── .gitignore │ │ ├── README.md │ │ ├── TODOS.azure.csv │ │ ├── TODOS.github.csv │ │ ├── TODOS.gitlab.csv │ │ ├── TODOS.jira.csv │ │ ├── docs │ │ │ ├── agent_block_diagram.svg │ │ │ ├── agent_block_diagram.vsdx │ │ │ ├── dev_guide.md │ │ │ ├── index.md │ │ │ └── user_guide.md │ │ ├── examples │ │ │ ├── instantiation.sv │ │ │ └── sequence.sv │ │ ├── ip.yml │ │ └── src │ │ │ ├── comps │ │ │ ├── uvma_tprescaler_b_agent.sv │ │ │ ├── uvma_tprescaler_b_cp_drv.sv │ │ │ ├── uvma_tprescaler_b_cp_mon.sv │ │ │ ├── uvma_tprescaler_b_dpi_drv.sv │ │ │ ├── uvma_tprescaler_b_dpi_mon.sv │ │ │ ├── uvma_tprescaler_b_dpo_drv.sv │ │ │ ├── uvma_tprescaler_b_dpo_mon.sv │ │ │ ├── uvma_tprescaler_b_drv.sv │ │ │ ├── uvma_tprescaler_b_logger.sv │ │ │ ├── uvma_tprescaler_b_mon.sv │ │ │ └── uvma_tprescaler_b_sqr.sv │ │ │ ├── obj │ │ │ ├── uvma_tprescaler_b_cfg.sv │ │ │ ├── uvma_tprescaler_b_cntxt.sv │ │ │ ├── uvma_tprescaler_b_cp_mon_trn.sv │ │ │ ├── uvma_tprescaler_b_dpi_mon_trn.sv │ │ │ ├── uvma_tprescaler_b_dpo_mon_trn.sv │ │ │ └── uvma_tprescaler_b_mon_trn.sv │ │ │ ├── seq │ │ │ ├── uvma_tprescaler_b_base_seq.sv │ │ │ ├── uvma_tprescaler_b_cp_seq_item.sv │ │ │ ├── uvma_tprescaler_b_dpi_seq_item.sv │ │ │ ├── uvma_tprescaler_b_dpo_seq_item.sv │ │ │ ├── uvma_tprescaler_b_idle_seq.sv │ │ │ ├── uvma_tprescaler_b_in_drv_seq.sv │ │ │ ├── uvma_tprescaler_b_mon_seq.sv │ │ │ ├── uvma_tprescaler_b_out_drv_seq.sv │ │ │ └── uvma_tprescaler_b_seq_item.sv │ │ │ ├── uvma_tprescaler_b_constants.sv │ │ │ ├── uvma_tprescaler_b_ftdecs.sv │ │ │ ├── uvma_tprescaler_b_if.sv │ │ │ ├── uvma_tprescaler_b_if_chkr.sv │ │ │ ├── uvma_tprescaler_b_macros.svh │ │ │ ├── uvma_tprescaler_b_pkg.sv │ │ │ └── uvma_tprescaler_b_tdefs.sv │ ├── uvme_adv_timer_b │ │ ├── .gitignore │ │ ├── README.md │ │ ├── TODOS.azure.csv │ │ ├── TODOS.github.csv │ │ ├── TODOS.gitlab.csv │ │ ├── TODOS.jira.csv │ │ ├── docs │ │ │ ├── dev_guide.md │ │ │ ├── env_block_diagram.svg │ │ │ ├── env_block_diagram.vsdx │ │ │ ├── index.md │ │ │ └── user_guide.md │ │ ├── examples │ │ │ ├── instantiation.sv │ │ │ └── sequence.sv │ │ ├── ip.yml │ │ └── src │ │ │ ├── comps │ │ │ ├── uvme_adv_timer_b_cov_model.sv │ │ │ ├── uvme_adv_timer_b_env.sv │ │ │ ├── uvme_adv_timer_b_prd.sv │ │ │ └── uvme_adv_timer_b_sqr.sv │ │ │ ├── obj │ │ │ ├── uvme_adv_timer_b_cfg.sv │ │ │ └── uvme_adv_timer_b_cntxt.sv │ │ │ ├── seq │ │ │ ├── uvme_adv_timer_b_base_seq.sv │ │ │ ├── uvme_adv_timer_b_fix_ill_stim_seq.sv │ │ │ ├── uvme_adv_timer_b_fix_stim_seq.sv │ │ │ ├── uvme_adv_timer_b_rand_ill_stim_seq.sv │ │ │ ├── uvme_adv_timer_b_rand_stim_seq.sv │ │ │ └── uvme_adv_timer_b_seq_lib.sv │ │ │ ├── uvme_adv_timer_b_constants.sv │ │ │ ├── uvme_adv_timer_b_ftdecs.sv │ │ │ ├── uvme_adv_timer_b_macros.svh │ │ │ ├── uvme_adv_timer_b_pkg.sv │ │ │ └── uvme_adv_timer_b_tdefs.sv │ ├── uvme_tcounter_b │ │ ├── .gitignore │ │ ├── README.md │ │ ├── TODOS.azure.csv │ │ ├── TODOS.github.csv │ │ ├── TODOS.gitlab.csv │ │ ├── TODOS.jira.csv │ │ ├── docs │ │ │ ├── dev_guide.md │ │ │ ├── env_block_diagram.svg │ │ │ ├── env_block_diagram.vsdx │ │ │ ├── index.md │ │ │ └── user_guide.md │ │ ├── examples │ │ │ ├── instantiation.sv │ │ │ └── sequence.sv │ │ ├── ip.yml │ │ └── src │ │ │ ├── comps │ │ │ ├── uvme_tcounter_b_cov_model.sv │ │ │ ├── uvme_tcounter_b_env.sv │ │ │ ├── uvme_tcounter_b_prd.sv │ │ │ └── uvme_tcounter_b_sqr.sv │ │ │ ├── obj │ │ │ ├── uvme_tcounter_b_cfg.sv │ │ │ └── uvme_tcounter_b_cntxt.sv │ │ │ ├── seq │ │ │ ├── uvme_tcounter_b_base_seq.sv │ │ │ ├── uvme_tcounter_b_fix_ill_stim_seq.sv │ │ │ ├── uvme_tcounter_b_fix_stim_seq.sv │ │ │ ├── uvme_tcounter_b_rand_ill_stim_seq.sv │ │ │ ├── uvme_tcounter_b_rand_stim_seq.sv │ │ │ └── uvme_tcounter_b_seq_lib.sv │ │ │ ├── uvme_tcounter_b_constants.sv │ │ │ ├── uvme_tcounter_b_ftdecs.sv │ │ │ ├── uvme_tcounter_b_macros.svh │ │ │ ├── uvme_tcounter_b_pkg.sv │ │ │ └── uvme_tcounter_b_tdefs.sv │ ├── uvme_tprescaler_b │ │ ├── .gitignore │ │ ├── README.md │ │ ├── TODOS.azure.csv │ │ ├── TODOS.github.csv │ │ ├── TODOS.gitlab.csv │ │ ├── TODOS.jira.csv │ │ ├── docs │ │ │ ├── dev_guide.md │ │ │ ├── env_block_diagram.svg │ │ │ ├── env_block_diagram.vsdx │ │ │ ├── index.md │ │ │ └── user_guide.md │ │ ├── examples │ │ │ ├── instantiation.sv │ │ │ └── sequence.sv │ │ ├── ip.yml │ │ └── src │ │ │ ├── comps │ │ │ ├── uvme_tprescaler_b_cov_model.sv │ │ │ ├── uvme_tprescaler_b_env.sv │ │ │ ├── uvme_tprescaler_b_prd.sv │ │ │ └── uvme_tprescaler_b_sqr.sv │ │ │ ├── obj │ │ │ ├── uvme_tprescaler_b_cfg.sv │ │ │ └── uvme_tprescaler_b_cntxt.sv │ │ │ ├── seq │ │ │ ├── uvme_tprescaler_b_base_seq.sv │ │ │ ├── uvme_tprescaler_b_fix_ill_stim_seq.sv │ │ │ ├── uvme_tprescaler_b_fix_stim_seq.sv │ │ │ ├── uvme_tprescaler_b_rand_ill_stim_seq.sv │ │ │ ├── uvme_tprescaler_b_rand_stim_seq.sv │ │ │ └── uvme_tprescaler_b_seq_lib.sv │ │ │ ├── uvme_tprescaler_b_constants.sv │ │ │ ├── uvme_tprescaler_b_ftdecs.sv │ │ │ ├── uvme_tprescaler_b_macros.svh │ │ │ ├── uvme_tprescaler_b_pkg.sv │ │ │ └── uvme_tprescaler_b_tdefs.sv │ ├── uvmt_adv_timer_b │ │ ├── .gitignore │ │ ├── README.md │ │ ├── TODOS.azure.csv │ │ ├── TODOS.github.csv │ │ ├── TODOS.gitlab.csv │ │ ├── TODOS.jira.csv │ │ ├── docs │ │ │ ├── dev_guide.md │ │ │ ├── index.md │ │ │ ├── tb_block_diagram.svg │ │ │ ├── tb_block_diagram.vsdx │ │ │ └── user_guide.md │ │ ├── examples │ │ │ └── test.sv │ │ ├── ip.yml │ │ ├── src │ │ │ ├── tests │ │ │ │ ├── uvmt_adv_timer_b_fix_ill_stim_test.sv │ │ │ │ ├── uvmt_adv_timer_b_fix_stim_test.sv │ │ │ │ ├── uvmt_adv_timer_b_rand_ill_stim_test.sv │ │ │ │ └── uvmt_adv_timer_b_rand_stim_test.sv │ │ │ ├── uvmt_adv_timer_b_base_test.sv │ │ │ ├── uvmt_adv_timer_b_base_test_workarounds.sv │ │ │ ├── uvmt_adv_timer_b_constants.sv │ │ │ ├── uvmt_adv_timer_b_dut_wrap.sv │ │ │ ├── uvmt_adv_timer_b_ftdecs.sv │ │ │ ├── uvmt_adv_timer_b_macros.svh │ │ │ ├── uvmt_adv_timer_b_pkg.sv │ │ │ ├── uvmt_adv_timer_b_tb.sv │ │ │ ├── uvmt_adv_timer_b_tdefs.sv │ │ │ └── uvmt_adv_timer_b_test_cfg.sv │ │ └── ts.yml │ ├── uvmt_tcounter_b │ │ ├── .gitignore │ │ ├── README.md │ │ ├── TODOS.azure.csv │ │ ├── TODOS.github.csv │ │ ├── TODOS.gitlab.csv │ │ ├── TODOS.jira.csv │ │ ├── docs │ │ │ ├── dev_guide.md │ │ │ ├── index.md │ │ │ ├── tb_block_diagram.svg │ │ │ ├── tb_block_diagram.vsdx │ │ │ └── user_guide.md │ │ ├── examples │ │ │ └── test.sv │ │ ├── ip.yml │ │ ├── src │ │ │ ├── tests │ │ │ │ ├── uvmt_tcounter_b_fix_ill_stim_test.sv │ │ │ │ ├── uvmt_tcounter_b_fix_stim_test.sv │ │ │ │ ├── uvmt_tcounter_b_rand_ill_stim_test.sv │ │ │ │ └── uvmt_tcounter_b_rand_stim_test.sv │ │ │ ├── uvmt_tcounter_b_base_test.sv │ │ │ ├── uvmt_tcounter_b_base_test_workarounds.sv │ │ │ ├── uvmt_tcounter_b_constants.sv │ │ │ ├── uvmt_tcounter_b_dut_wrap.sv │ │ │ ├── uvmt_tcounter_b_ftdecs.sv │ │ │ ├── uvmt_tcounter_b_macros.svh │ │ │ ├── uvmt_tcounter_b_pkg.sv │ │ │ ├── uvmt_tcounter_b_tb.sv │ │ │ ├── uvmt_tcounter_b_tdefs.sv │ │ │ └── uvmt_tcounter_b_test_cfg.sv │ │ └── ts.yml │ └── uvmt_tprescaler_b │ │ ├── .gitignore │ │ ├── README.md │ │ ├── TODOS.azure.csv │ │ ├── TODOS.github.csv │ │ ├── TODOS.gitlab.csv │ │ ├── TODOS.jira.csv │ │ ├── docs │ │ ├── dev_guide.md │ │ ├── index.md │ │ ├── tb_block_diagram.svg │ │ ├── tb_block_diagram.vsdx │ │ └── user_guide.md │ │ ├── examples │ │ └── test.sv │ │ ├── ip.yml │ │ ├── src │ │ ├── tests │ │ │ ├── uvmt_tprescaler_b_fix_ill_stim_test.sv │ │ │ ├── uvmt_tprescaler_b_fix_stim_test.sv │ │ │ ├── uvmt_tprescaler_b_rand_ill_stim_test.sv │ │ │ └── uvmt_tprescaler_b_rand_stim_test.sv │ │ ├── uvmt_tprescaler_b_base_test.sv │ │ ├── uvmt_tprescaler_b_base_test_workarounds.sv │ │ ├── uvmt_tprescaler_b_constants.sv │ │ ├── uvmt_tprescaler_b_dut_wrap.sv │ │ ├── uvmt_tprescaler_b_ftdecs.sv │ │ ├── uvmt_tprescaler_b_macros.svh │ │ ├── uvmt_tprescaler_b_pkg.sv │ │ ├── uvmt_tprescaler_b_tb.sv │ │ ├── uvmt_tprescaler_b_tdefs.sv │ │ └── uvmt_tprescaler_b_test_cfg.sv │ │ └── ts.yml ├── chip │ ├── uvme_cvmcu_chip │ │ ├── .gitignore │ │ ├── README.md │ │ ├── TODOS.azure.csv │ │ ├── TODOS.github.csv │ │ ├── TODOS.gitlab.csv │ │ ├── TODOS.jira.csv │ │ ├── docs │ │ │ ├── dev_guide.md │ │ │ ├── index.md │ │ │ └── user_guide.md │ │ ├── examples │ │ │ ├── instantiation.sv │ │ │ └── sequence.sv │ │ ├── ip.yml │ │ └── src │ │ │ ├── comps │ │ │ ├── uvme_cvmcu_chip_cov_model.sv │ │ │ ├── uvme_cvmcu_chip_env.sv │ │ │ ├── uvme_cvmcu_chip_prd.sv │ │ │ ├── uvme_cvmcu_chip_sb.sv │ │ │ └── uvme_cvmcu_chip_sqr.sv │ │ │ ├── obj │ │ │ ├── uvme_cvmcu_chip_cfg.sv │ │ │ └── uvme_cvmcu_chip_cntxt.sv │ │ │ ├── reg │ │ │ ├── uvme_cvmcu_chip_apb_event_ctrl_apb_events_reg.sv │ │ │ ├── uvme_cvmcu_chip_apb_event_ctrl_event_err0_reg.sv │ │ │ ├── uvme_cvmcu_chip_apb_event_ctrl_event_err1_reg.sv │ │ │ ├── uvme_cvmcu_chip_apb_event_ctrl_event_err2_reg.sv │ │ │ ├── uvme_cvmcu_chip_apb_event_ctrl_event_err3_reg.sv │ │ │ ├── uvme_cvmcu_chip_apb_event_ctrl_event_err4_reg.sv │ │ │ ├── uvme_cvmcu_chip_apb_event_ctrl_event_err5_reg.sv │ │ │ ├── uvme_cvmcu_chip_apb_event_ctrl_event_err6_reg.sv │ │ │ ├── uvme_cvmcu_chip_apb_event_ctrl_event_err7_reg.sv │ │ │ ├── uvme_cvmcu_chip_apb_event_ctrl_event_fifo_reg.sv │ │ │ ├── uvme_cvmcu_chip_apb_event_ctrl_event_mask0_reg.sv │ │ │ ├── uvme_cvmcu_chip_apb_event_ctrl_event_mask1_reg.sv │ │ │ ├── uvme_cvmcu_chip_apb_event_ctrl_event_mask2_reg.sv │ │ │ ├── uvme_cvmcu_chip_apb_event_ctrl_event_mask3_reg.sv │ │ │ ├── uvme_cvmcu_chip_apb_event_ctrl_event_mask4_reg.sv │ │ │ ├── uvme_cvmcu_chip_apb_event_ctrl_event_mask5_reg.sv │ │ │ ├── uvme_cvmcu_chip_apb_event_ctrl_event_mask6_reg.sv │ │ │ ├── uvme_cvmcu_chip_apb_event_ctrl_event_mask7_reg.sv │ │ │ ├── uvme_cvmcu_chip_apb_event_ctrl_reg_block.sv │ │ │ ├── uvme_cvmcu_chip_apb_event_ctrl_timer_hi_event_reg.sv │ │ │ ├── uvme_cvmcu_chip_apb_event_ctrl_timer_lo_event_reg.sv │ │ │ ├── uvme_cvmcu_chip_apb_fll_reg_block.sv │ │ │ ├── uvme_cvmcu_chip_apb_gpio_clrgpio_reg.sv │ │ │ ├── uvme_cvmcu_chip_apb_gpio_intack_reg.sv │ │ │ ├── uvme_cvmcu_chip_apb_gpio_out0_reg.sv │ │ │ ├── uvme_cvmcu_chip_apb_gpio_out1_reg.sv │ │ │ ├── uvme_cvmcu_chip_apb_gpio_out2_reg.sv │ │ │ ├── uvme_cvmcu_chip_apb_gpio_out3_reg.sv │ │ │ ├── uvme_cvmcu_chip_apb_gpio_pin0_reg.sv │ │ │ ├── uvme_cvmcu_chip_apb_gpio_pin1_reg.sv │ │ │ ├── uvme_cvmcu_chip_apb_gpio_pin2_reg.sv │ │ │ ├── uvme_cvmcu_chip_apb_gpio_pin3_reg.sv │ │ │ ├── uvme_cvmcu_chip_apb_gpio_rdstat_reg.sv │ │ │ ├── uvme_cvmcu_chip_apb_gpio_reg_block.sv │ │ │ ├── uvme_cvmcu_chip_apb_gpio_setgpio_reg.sv │ │ │ ├── uvme_cvmcu_chip_apb_gpio_setint_reg.sv │ │ │ ├── uvme_cvmcu_chip_apb_gpio_setmode_reg.sv │ │ │ ├── uvme_cvmcu_chip_apb_gpio_setsel_reg.sv │ │ │ ├── uvme_cvmcu_chip_apb_gpio_toggpio_reg.sv │ │ │ ├── uvme_cvmcu_chip_apb_i2cs_reg_block.sv │ │ │ ├── uvme_cvmcu_chip_apb_soc_ctrl_reg_block.sv │ │ │ ├── uvme_cvmcu_chip_debug_reg_block.sv │ │ │ ├── uvme_cvmcu_chip_efpga_reg_block.sv │ │ │ ├── uvme_cvmcu_chip_reg_block.sv │ │ │ ├── uvme_cvmcu_chip_reg_ignore_lists.sv │ │ │ ├── uvme_cvmcu_chip_udma_camera_reg_block.sv │ │ │ ├── uvme_cvmcu_chip_udma_ctrl_cfg_evt_reg.sv │ │ │ ├── uvme_cvmcu_chip_udma_ctrl_clk_en_reg.sv │ │ │ ├── uvme_cvmcu_chip_udma_ctrl_periph_reset_reg.sv │ │ │ ├── uvme_cvmcu_chip_udma_ctrl_reg_block.sv │ │ │ ├── uvme_cvmcu_chip_udma_ctrl_udma_cfg_evt_reg.sv │ │ │ ├── uvme_cvmcu_chip_udma_ctrl_udma_clk_en_reg.sv │ │ │ ├── uvme_cvmcu_chip_udma_i2cm_reg_block.sv │ │ │ ├── uvme_cvmcu_chip_udma_qspi_reg_block.sv │ │ │ ├── uvme_cvmcu_chip_udma_sdio_reg_block.sv │ │ │ ├── uvme_cvmcu_chip_udma_uart_data_reg.sv │ │ │ ├── uvme_cvmcu_chip_udma_uart_error_reg.sv │ │ │ ├── uvme_cvmcu_chip_udma_uart_irq_en_reg.sv │ │ │ ├── uvme_cvmcu_chip_udma_uart_reg_block.sv │ │ │ ├── uvme_cvmcu_chip_udma_uart_rx_cfg_reg.sv │ │ │ ├── uvme_cvmcu_chip_udma_uart_rx_saddr_reg.sv │ │ │ ├── uvme_cvmcu_chip_udma_uart_rx_size_reg.sv │ │ │ ├── uvme_cvmcu_chip_udma_uart_status_reg.sv │ │ │ ├── uvme_cvmcu_chip_udma_uart_tx_cfg_reg.sv │ │ │ ├── uvme_cvmcu_chip_udma_uart_tx_saddr_reg.sv │ │ │ ├── uvme_cvmcu_chip_udma_uart_tx_size_reg.sv │ │ │ ├── uvme_cvmcu_chip_udma_uart_uart_setup_reg.sv │ │ │ └── uvme_cvmcu_chip_udma_uart_valid_reg.sv │ │ │ ├── seq │ │ │ ├── uvme_cvmcu_chip_base_seq.sv │ │ │ ├── uvme_cvmcu_chip_cfg_seq.sv │ │ │ ├── uvme_cvmcu_chip_init_seq.sv │ │ │ ├── uvme_cvmcu_chip_reset_seq.sv │ │ │ ├── uvme_cvmcu_chip_seq_lib.sv │ │ │ ├── uvme_cvmcu_chip_uart_eg_seq.sv │ │ │ ├── uvme_cvmcu_chip_uart_ig_seq.sv │ │ │ └── uvme_cvmcu_chip_udma_uart_seq.sv │ │ │ ├── uvme_cvmcu_chip_chkr.sv │ │ │ ├── uvme_cvmcu_chip_constants.sv │ │ │ ├── uvme_cvmcu_chip_ftdecs.sv │ │ │ ├── uvme_cvmcu_chip_macros.svh │ │ │ ├── uvme_cvmcu_chip_pkg.sv │ │ │ ├── uvme_cvmcu_chip_probe_if.sv │ │ │ └── uvme_cvmcu_chip_tdefs.sv │ └── uvmt_cvmcu_chip │ │ ├── .gitignore │ │ ├── README.md │ │ ├── TODOS.azure.csv │ │ ├── TODOS.github.csv │ │ ├── TODOS.gitlab.csv │ │ ├── TODOS.jira.csv │ │ ├── docs │ │ ├── dev_guide.md │ │ ├── index.md │ │ └── user_guide.md │ │ ├── examples │ │ └── test.sv │ │ ├── ip.lock.yml │ │ ├── ip.yml │ │ ├── src │ │ ├── tests │ │ │ ├── uvmt_cvmcu_chip_mem_access_test.sv │ │ │ ├── uvmt_cvmcu_chip_mem_walk_test.sv │ │ │ ├── uvmt_cvmcu_chip_reg_access_test.sv │ │ │ ├── uvmt_cvmcu_chip_reg_bit_bash_test.sv │ │ │ ├── uvmt_cvmcu_chip_reg_hw_reset_test.sv │ │ │ ├── uvmt_cvmcu_chip_shared_access_test.sv │ │ │ ├── uvmt_cvmcu_chip_uart_eg_test.sv │ │ │ └── uvmt_cvmcu_chip_uart_ig_test.sv │ │ ├── uvmt_cvmcu_chip_base_test.sv │ │ ├── uvmt_cvmcu_chip_base_test_workarounds.sv │ │ ├── uvmt_cvmcu_chip_constants.sv │ │ ├── uvmt_cvmcu_chip_dut_wrap.sv │ │ ├── uvmt_cvmcu_chip_ftdecs.sv │ │ ├── uvmt_cvmcu_chip_macros.svh │ │ ├── uvmt_cvmcu_chip_pkg.sv │ │ ├── uvmt_cvmcu_chip_tb.sv │ │ ├── uvmt_cvmcu_chip_tdefs.sv │ │ └── uvmt_cvmcu_chip_test_cfg.sv │ │ └── ts.yml └── ss │ ├── uvme_apb_adv_timer_ss │ ├── .gitignore │ ├── README.md │ ├── TODOS.azure.csv │ ├── TODOS.github.csv │ ├── TODOS.gitlab.csv │ ├── TODOS.jira.csv │ ├── docs │ │ ├── dev_guide.md │ │ ├── index.md │ │ └── user_guide.md │ ├── examples │ │ ├── instantiation.sv │ │ └── sequence.sv │ ├── ip.yml │ └── src │ │ ├── comps │ │ ├── uvme_apb_adv_timer_ss_cov_model.sv │ │ ├── uvme_apb_adv_timer_ss_env.sv │ │ ├── uvme_apb_adv_timer_ss_prd.sv │ │ ├── uvme_apb_adv_timer_ss_sb.sv │ │ └── uvme_apb_adv_timer_ss_sqr.sv │ │ ├── obj │ │ ├── uvme_apb_adv_timer_ss_cfg.sv │ │ └── uvme_apb_adv_timer_ss_cntxt.sv │ │ ├── reg │ │ ├── uvme_apb_adv_timer_ss_cg_reg.sv │ │ ├── uvme_apb_adv_timer_ss_event_cfg_reg.sv │ │ ├── uvme_apb_adv_timer_ss_reg_block.sv │ │ ├── uvme_apb_adv_timer_ss_reg_ignore_lists.sv │ │ ├── uvme_apb_adv_timer_ss_t0_cmd_reg.sv │ │ ├── uvme_apb_adv_timer_ss_t0_config_reg.sv │ │ ├── uvme_apb_adv_timer_ss_t0_counter_reg.sv │ │ ├── uvme_apb_adv_timer_ss_t0_th_channel0_reg.sv │ │ ├── uvme_apb_adv_timer_ss_t0_th_channel1_reg.sv │ │ ├── uvme_apb_adv_timer_ss_t0_th_channel2_reg.sv │ │ ├── uvme_apb_adv_timer_ss_t0_th_channel3_reg.sv │ │ ├── uvme_apb_adv_timer_ss_t0_threshold_reg.sv │ │ ├── uvme_apb_adv_timer_ss_t1_cmd_reg.sv │ │ ├── uvme_apb_adv_timer_ss_t1_config_reg.sv │ │ ├── uvme_apb_adv_timer_ss_t1_counter_reg.sv │ │ ├── uvme_apb_adv_timer_ss_t1_th_channel0_reg.sv │ │ ├── uvme_apb_adv_timer_ss_t1_th_channel1_reg.sv │ │ ├── uvme_apb_adv_timer_ss_t1_th_channel2_reg.sv │ │ ├── uvme_apb_adv_timer_ss_t1_th_channel3_reg.sv │ │ ├── uvme_apb_adv_timer_ss_t1_threshold_reg.sv │ │ ├── uvme_apb_adv_timer_ss_t2_cmd_reg.sv │ │ ├── uvme_apb_adv_timer_ss_t2_config_reg.sv │ │ ├── uvme_apb_adv_timer_ss_t2_counter_reg.sv │ │ ├── uvme_apb_adv_timer_ss_t2_th_channel0_reg.sv │ │ ├── uvme_apb_adv_timer_ss_t2_th_channel1_reg.sv │ │ ├── uvme_apb_adv_timer_ss_t2_th_channel2_reg.sv │ │ ├── uvme_apb_adv_timer_ss_t2_th_channel3_reg.sv │ │ ├── uvme_apb_adv_timer_ss_t2_threshold_reg.sv │ │ ├── uvme_apb_adv_timer_ss_t3_cmd_reg.sv │ │ ├── uvme_apb_adv_timer_ss_t3_config_reg.sv │ │ ├── uvme_apb_adv_timer_ss_t3_counter_reg.sv │ │ ├── uvme_apb_adv_timer_ss_t3_th_channel0_reg.sv │ │ ├── uvme_apb_adv_timer_ss_t3_th_channel1_reg.sv │ │ ├── uvme_apb_adv_timer_ss_t3_th_channel2_reg.sv │ │ ├── uvme_apb_adv_timer_ss_t3_th_channel3_reg.sv │ │ └── uvme_apb_adv_timer_ss_t3_threshold_reg.sv │ │ ├── seq │ │ ├── uvme_apb_adv_timer_ss_base_seq.sv │ │ ├── uvme_apb_adv_timer_ss_cfg_seq.sv │ │ ├── uvme_apb_adv_timer_ss_init_seq.sv │ │ ├── uvme_apb_adv_timer_ss_reset_seq.sv │ │ └── uvme_apb_adv_timer_ss_seq_lib.sv │ │ ├── uvme_apb_adv_timer_ss_chkr.sv │ │ ├── uvme_apb_adv_timer_ss_constants.sv │ │ ├── uvme_apb_adv_timer_ss_ftdecs.sv │ │ ├── uvme_apb_adv_timer_ss_macros.svh │ │ ├── uvme_apb_adv_timer_ss_pkg.sv │ │ ├── uvme_apb_adv_timer_ss_probe_if.sv │ │ └── uvme_apb_adv_timer_ss_tdefs.sv │ ├── uvme_apb_timer_ss │ ├── .gitignore │ ├── README.md │ ├── TODOS.azure.csv │ ├── TODOS.github.csv │ ├── TODOS.gitlab.csv │ ├── TODOS.jira.csv │ ├── docs │ │ ├── dev_guide.md │ │ ├── index.md │ │ └── user_guide.md │ ├── examples │ │ ├── instantiation.sv │ │ └── sequence.sv │ ├── ip.yml │ └── src │ │ ├── comps │ │ ├── uvme_apb_timer_ss_cov_model.sv │ │ ├── uvme_apb_timer_ss_env.sv │ │ ├── uvme_apb_timer_ss_prd.sv │ │ ├── uvme_apb_timer_ss_sb.sv │ │ └── uvme_apb_timer_ss_sqr.sv │ │ ├── obj │ │ ├── uvme_apb_timer_ss_cfg.sv │ │ └── uvme_apb_timer_ss_cntxt.sv │ │ ├── reg │ │ ├── uvme_apb_timer_ss_cfg_reg_hi_reg.sv │ │ ├── uvme_apb_timer_ss_cfg_reg_low_reg.sv │ │ ├── uvme_apb_timer_ss_reg_block.sv │ │ ├── uvme_apb_timer_ss_reg_ignore_lists.sv │ │ ├── uvme_apb_timer_ss_timer_cmp_hi_reg.sv │ │ ├── uvme_apb_timer_ss_timer_cmp_lo_reg.sv │ │ ├── uvme_apb_timer_ss_timer_reset_hi_reg.sv │ │ ├── uvme_apb_timer_ss_timer_reset_lo_reg.sv │ │ ├── uvme_apb_timer_ss_timer_start_hi_reg.sv │ │ ├── uvme_apb_timer_ss_timer_start_lo_reg.sv │ │ ├── uvme_apb_timer_ss_timer_val_hi_reg.sv │ │ └── uvme_apb_timer_ss_timer_val_lo_reg.sv │ │ ├── seq │ │ ├── uvme_apb_timer_ss_base_seq.sv │ │ ├── uvme_apb_timer_ss_cfg_seq.sv │ │ ├── uvme_apb_timer_ss_init_seq.sv │ │ ├── uvme_apb_timer_ss_reset_seq.sv │ │ └── uvme_apb_timer_ss_seq_lib.sv │ │ ├── uvme_apb_timer_ss_chkr.sv │ │ ├── uvme_apb_timer_ss_constants.sv │ │ ├── uvme_apb_timer_ss_ftdecs.sv │ │ ├── uvme_apb_timer_ss_macros.svh │ │ ├── uvme_apb_timer_ss_pkg.sv │ │ ├── uvme_apb_timer_ss_probe_if.sv │ │ └── uvme_apb_timer_ss_tdefs.sv │ ├── uvmt_apb_adv_timer_ss │ ├── .gitignore │ ├── README.md │ ├── TODOS.azure.csv │ ├── TODOS.github.csv │ ├── TODOS.gitlab.csv │ ├── TODOS.jira.csv │ ├── docs │ │ ├── dev_guide.md │ │ ├── index.md │ │ └── user_guide.md │ ├── examples │ │ └── test.sv │ ├── ip.yml │ ├── src │ │ ├── tests │ │ │ ├── uvmt_apb_adv_timer_ss_mem_access_test.sv │ │ │ ├── uvmt_apb_adv_timer_ss_mem_walk_test.sv │ │ │ ├── uvmt_apb_adv_timer_ss_reg_access_test.sv │ │ │ ├── uvmt_apb_adv_timer_ss_reg_bit_bash_test.sv │ │ │ ├── uvmt_apb_adv_timer_ss_reg_hw_reset_test.sv │ │ │ └── uvmt_apb_adv_timer_ss_shared_access_test.sv │ │ ├── uvmt_apb_adv_timer_ss_base_test.sv │ │ ├── uvmt_apb_adv_timer_ss_base_test_workarounds.sv │ │ ├── uvmt_apb_adv_timer_ss_constants.sv │ │ ├── uvmt_apb_adv_timer_ss_dut_wrap.sv │ │ ├── uvmt_apb_adv_timer_ss_ftdecs.sv │ │ ├── uvmt_apb_adv_timer_ss_macros.svh │ │ ├── uvmt_apb_adv_timer_ss_pkg.sv │ │ ├── uvmt_apb_adv_timer_ss_tb.sv │ │ ├── uvmt_apb_adv_timer_ss_tdefs.sv │ │ └── uvmt_apb_adv_timer_ss_test_cfg.sv │ └── ts.yml │ └── uvmt_apb_timer_ss │ ├── .gitignore │ ├── README.md │ ├── TODOS.azure.csv │ ├── TODOS.github.csv │ ├── TODOS.gitlab.csv │ ├── TODOS.jira.csv │ ├── docs │ ├── dev_guide.md │ ├── index.md │ └── user_guide.md │ ├── examples │ └── test.sv │ ├── ip.yml │ ├── src │ ├── tests │ │ ├── uvmt_apb_timer_ss_mem_access_test.sv │ │ ├── uvmt_apb_timer_ss_mem_walk_test.sv │ │ ├── uvmt_apb_timer_ss_reg_access_test.sv │ │ ├── uvmt_apb_timer_ss_reg_bit_bash_test.sv │ │ ├── uvmt_apb_timer_ss_reg_hw_reset_test.sv │ │ └── uvmt_apb_timer_ss_shared_access_test.sv │ ├── uvmt_apb_timer_ss_base_test.sv │ ├── uvmt_apb_timer_ss_base_test_workarounds.sv │ ├── uvmt_apb_timer_ss_constants.sv │ ├── uvmt_apb_timer_ss_dut_wrap.sv │ ├── uvmt_apb_timer_ss_ftdecs.sv │ ├── uvmt_apb_timer_ss_macros.svh │ ├── uvmt_apb_timer_ss_pkg.sv │ ├── uvmt_apb_timer_ss_tb.sv │ ├── uvmt_apb_timer_ss_tdefs.sv │ └── uvmt_apb_timer_ss_test_cfg.sv │ └── ts.yml ├── lint └── .gitignore ├── mdc_config.yml ├── mdc_ignore ├── mio.toml ├── rtl └── .gitignore ├── sim └── .gitignore └── tools └── .gitignore /.gitignore: -------------------------------------------------------------------------------- 1 | .pydevproject 2 | .mio 3 | .mdc 4 | .mdc_empty_dir_sync 5 | *_backup -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "rtl/core-v-mcu"] 2 | path = rtl/core-v-mcu 3 | url = https://github.com/Datum-Technology-Corporation/core-v-mcu.git 4 | branch = shelled_core 5 | -------------------------------------------------------------------------------- /.svproject: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | 5 | # Contributing 6 | New Contributors are always welcome. 7 | 8 | ## Contributor Agreement 9 | Most Contributors are [Members](https://www.openhwgroup.org/membership/) of the 10 | OpenHW Group and participate in one or more [Technical Task Groups](https://www.openhwgroup.org/working-groups/). 11 | Contributors must be covered by the terms of the [Eclipse Contributor Agreement](https://www.eclipse.org/legal/ECA.php) 12 | (for individuals) **or** the [Eclipse Member Committer and Contributor Agreement](https://www.eclipse.org/legal/committer_process/EclipseMemberCommitterAgreement.pdf) 13 | (for employees of Member companies). 14 | The ECA/MCCA provides a legal framework for a Contributor's technical contributions to the OpenHW Group, 15 | including provisions for grant of copyright license and a Developer 16 | Certificate of Origin on contributions merged into OpenHW Group repositories. 17 | -------------------------------------------------------------------------------- /docs/.gitignore: -------------------------------------------------------------------------------- 1 | .~lock* -------------------------------------------------------------------------------- /docs/adv_timer_b_dv_specs.odt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openhwgroup/core-v-mcu-uvm/9319c7ccf4e7eece2b7ecabd24998d7c0657a7b0/docs/adv_timer_b_dv_specs.odt -------------------------------------------------------------------------------- /docs/apb_adv_timer_ss_dv_specs.odt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openhwgroup/core-v-mcu-uvm/9319c7ccf4e7eece2b7ecabd24998d7c0657a7b0/docs/apb_adv_timer_ss_dv_specs.odt -------------------------------------------------------------------------------- /docs/apb_adv_timer_ss_reg_model.odt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openhwgroup/core-v-mcu-uvm/9319c7ccf4e7eece2b7ecabd24998d7c0657a7b0/docs/apb_adv_timer_ss_reg_model.odt -------------------------------------------------------------------------------- /docs/apb_timer_ss_dv_specs.odt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openhwgroup/core-v-mcu-uvm/9319c7ccf4e7eece2b7ecabd24998d7c0657a7b0/docs/apb_timer_ss_dv_specs.odt -------------------------------------------------------------------------------- /docs/apb_timer_ss_reg_model.odt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openhwgroup/core-v-mcu-uvm/9319c7ccf4e7eece2b7ecabd24998d7c0657a7b0/docs/apb_timer_ss_reg_model.odt -------------------------------------------------------------------------------- /docs/core-v-mcu-uvm_interrupts.odt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openhwgroup/core-v-mcu-uvm/9319c7ccf4e7eece2b7ecabd24998d7c0657a7b0/docs/core-v-mcu-uvm_interrupts.odt -------------------------------------------------------------------------------- /docs/cvmcu.uvmx.ods: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openhwgroup/core-v-mcu-uvm/9319c7ccf4e7eece2b7ecabd24998d7c0657a7b0/docs/cvmcu.uvmx.ods -------------------------------------------------------------------------------- /docs/cvmcu_chip_dv_specs.odt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openhwgroup/core-v-mcu-uvm/9319c7ccf4e7eece2b7ecabd24998d7c0657a7b0/docs/cvmcu_chip_dv_specs.odt -------------------------------------------------------------------------------- /docs/cvmcu_chip_reg_model.odt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openhwgroup/core-v-mcu-uvm/9319c7ccf4e7eece2b7ecabd24998d7c0657a7b0/docs/cvmcu_chip_reg_model.odt -------------------------------------------------------------------------------- /docs/cvmcu_cpi_agent_dv_specs.odt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openhwgroup/core-v-mcu-uvm/9319c7ccf4e7eece2b7ecabd24998d7c0657a7b0/docs/cvmcu_cpi_agent_dv_specs.odt -------------------------------------------------------------------------------- /docs/cvmcu_dbg_agent_dv_specs.odt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openhwgroup/core-v-mcu-uvm/9319c7ccf4e7eece2b7ecabd24998d7c0657a7b0/docs/cvmcu_dbg_agent_dv_specs.odt -------------------------------------------------------------------------------- /docs/cvmcu_event_agent_dv_specs.odt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openhwgroup/core-v-mcu-uvm/9319c7ccf4e7eece2b7ecabd24998d7c0657a7b0/docs/cvmcu_event_agent_dv_specs.odt -------------------------------------------------------------------------------- /docs/cvmcu_io_agent_dv_specs.odt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openhwgroup/core-v-mcu-uvm/9319c7ccf4e7eece2b7ecabd24998d7c0657a7b0/docs/cvmcu_io_agent_dv_specs.odt -------------------------------------------------------------------------------- /docs/cvmcu_uvm_block_diagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openhwgroup/core-v-mcu-uvm/9319c7ccf4e7eece2b7ecabd24998d7c0657a7b0/docs/cvmcu_uvm_block_diagram.png -------------------------------------------------------------------------------- /docs/efpga.uvmx.ods: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openhwgroup/core-v-mcu-uvm/9319c7ccf4e7eece2b7ecabd24998d7c0657a7b0/docs/efpga.uvmx.ods -------------------------------------------------------------------------------- /docs/peripherals.uvmx.ods: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openhwgroup/core-v-mcu-uvm/9319c7ccf4e7eece2b7ecabd24998d7c0657a7b0/docs/peripherals.uvmx.ods -------------------------------------------------------------------------------- /docs/tcounter_b_dv_specs.odt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openhwgroup/core-v-mcu-uvm/9319c7ccf4e7eece2b7ecabd24998d7c0657a7b0/docs/tcounter_b_dv_specs.odt -------------------------------------------------------------------------------- /docs/tprescaler_b_dv_specs.odt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openhwgroup/core-v-mcu-uvm/9319c7ccf4e7eece2b7ecabd24998d7c0657a7b0/docs/tprescaler_b_dv_specs.odt -------------------------------------------------------------------------------- /docs/udma.uvmx.ods: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openhwgroup/core-v-mcu-uvm/9319c7ccf4e7eece2b7ecabd24998d7c0657a7b0/docs/udma.uvmx.ods -------------------------------------------------------------------------------- /docs/verif_plan.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openhwgroup/core-v-mcu-uvm/9319c7ccf4e7eece2b7ecabd24998d7c0657a7b0/docs/verif_plan.pdf -------------------------------------------------------------------------------- /dv/agents/uvma_cvmcu_cpi/.gitignore: -------------------------------------------------------------------------------- 1 | docs/dox_out 2 | ip.shrinkwrap.yml -------------------------------------------------------------------------------- /dv/agents/uvma_cvmcu_cpi/README.md: -------------------------------------------------------------------------------- 1 | # Datum Technology Corporation CORE-V-MCU Camera Parallel Interface UVM Agent 2 | 3 | # About 4 | This IP contains the Datum Technology Corporation CORE-V-MCU Camera Parallel Interface UVM Agent. 5 | 6 | # Block Diagram 7 | ![alt text](./docs/agent_block_diagram.png "CORE-V-MCU Camera Parallel Interface UVM Agent Block Diagram") 8 | 9 | # Directory Structure 10 | * `bin` - Scripts, metadata and other miscellaneous files 11 | * `docs` - Documents describing the CORE-V-MCU Camera Parallel Interface UVM Agent 12 | * `examples` - Code samples for using and extending this agent 13 | * `src` - Source code 14 | 15 | > * `comps` - UVM Components 16 | > * `obj` - UVM Objects and Monitor Transactions 17 | > * `seq` - UVM Sequences and Sequence Items 18 | 19 | 20 | # Dependencies 21 | It is dependent on the following IP: 22 | 23 | * `datum/uvmx` -------------------------------------------------------------------------------- /dv/agents/uvma_cvmcu_cpi/docs/agent_block_diagram.vsdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openhwgroup/core-v-mcu-uvm/9319c7ccf4e7eece2b7ecabd24998d7c0657a7b0/dv/agents/uvma_cvmcu_cpi/docs/agent_block_diagram.vsdx -------------------------------------------------------------------------------- /dv/agents/uvma_cvmcu_cpi/docs/dev_guide.md: -------------------------------------------------------------------------------- 1 | @page uvma_cvmcu_cpi_dev_guide Developer Guide 2 | @htmlonly 3 |
4 | @endhtmlonly 5 | 6 | 7 | @tableofcontents 8 | 9 | 10 | @section uvma_cvmcu_cpi_dev_guide_license_agreement License Agreement 11 | © Copyright 2023 Datum Technology Corporation 12 | 13 | All rights reserved. 14 | 15 | 16 | @section uvma_cvmcu_cpi_dev_guide_revision_history Revision History 17 | Revision | Date | Description 18 | --------- | ---- | ----------- 19 | 1.0 | 2023// | Initial Version 20 | 21 | @subsection uvma_cvmcu_cpi_dev_guide_description Description 22 | 23 | 24 | @section uvma_cvmcu_cpi_dev_guide_definitions Definitions 25 | Symbol | Definition 26 | ------ | ---------- 27 | 'SYMBOL' | Definition 28 | 29 | 30 | @section uvma_cvmcu_cpi_dev_guide_contents Contents 31 | 32 | 33 | @htmlonly 34 |
35 | @endhtmlonly -------------------------------------------------------------------------------- /dv/agents/uvma_cvmcu_cpi/docs/user_guide.md: -------------------------------------------------------------------------------- 1 | @page uvma_cvmcu_cpi_user_guide User Guide 2 | @htmlonly 3 |
4 | @endhtmlonly 5 | 6 | 7 | @tableofcontents 8 | 9 | 10 | @section uvma_cvmcu_cpi_user_guide_license_agreement License Agreement 11 | © Copyright 2023 Datum Technology Corporation 12 | 13 | All rights reserved. 14 | 15 | 16 | @section uvma_cvmcu_cpi_user_guide_revision_history Revision History 17 | Revision | Date | Description 18 | --------- | ---- | ----------- 19 | 1.0 | 2023// | Initial Version 20 | 21 | @subsection uvma_cvmcu_cpi_user_guide_description Description 22 | 23 | 24 | @section uvma_cvmcu_cpi_user_guide_definitions Definitions 25 | Symbol | Definition 26 | ------ | ---------- 27 | 'SYMBOL' | Definition 28 | 29 | 30 | @section uvma_cvmcu_cpi_user_guide_contents Contents 31 | 32 | 33 | @htmlonly 34 |
35 | @endhtmlonly -------------------------------------------------------------------------------- /dv/agents/uvma_cvmcu_cpi/ip.yml: -------------------------------------------------------------------------------- 1 | ip: 2 | name: "uvma_cvmcu_cpi" 3 | vendor: "datum" 4 | version: "1.0.0" 5 | full-name: "CORE-V-MCU Camera Parallel Interface UVM Agent" 6 | type: "DV" 7 | sub-type: "UVM Agent" 8 | sub-sub-type: "Advanced; Parallel" 9 | description: "TODO Describe CORE-V-MCU Camera Parallel Interface UVM Agent" 10 | home-page: "" 11 | repo-uri: "" 12 | bugs: "" 13 | aliases: [] 14 | logo: "" 15 | block-diagram: "docs/agent_block_diagram.svg" 16 | languages: ["sv"] 17 | simulators-supported: 18 | viv: "2022.2" 19 | mdc: "20220822.10.0" 20 | tags: [] 21 | copyright-holders: ["Datum Technology Corporation"] 22 | licenses: ["All rights reserved."] 23 | 24 | dependencies: 25 | "datum/uvmx": "~1.0" 26 | 27 | structure: 28 | scripts-path : "bin" 29 | docs-path : "docs" 30 | examples-path: "examples" 31 | src-path : "src" 32 | 33 | hdl-src: 34 | directories: [".", "comps", "obj", "seq"] 35 | top-files: ["uvma_cvmcu_cpi_pkg.sv"] 36 | so-libs: [] -------------------------------------------------------------------------------- /dv/agents/uvma_cvmcu_cpi/src/seq/uvma_cvmcu_cpi_base_seq.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMA_CVMCU_CPI_BASE_SEQ_SV__ 7 | `define __UVMA_CVMCU_CPI_BASE_SEQ_SV__ 8 | 9 | 10 | /** 11 | * Abstract Sequence from which all CORE-V-MCU Camera Parallel Interface Agent Sequences must extend. 12 | * @ingroup uvma_cvmcu_cpi_seq 13 | */ 14 | class uvma_cvmcu_cpi_base_seq_c extends uvmx_agent_seq_c #( 15 | .T_CFG (uvma_cvmcu_cpi_cfg_c ), 16 | .T_CNTXT (uvma_cvmcu_cpi_cntxt_c ), 17 | .T_SQR (uvma_cvmcu_cpi_sqr_c ), 18 | .T_SEQ_ITEM(uvma_cvmcu_cpi_seq_item_c) 19 | ); 20 | `uvm_object_utils(uvma_cvmcu_cpi_base_seq_c) 21 | 22 | /** 23 | * Default constructor. 24 | */ 25 | function new(string name="uvma_cvmcu_cpi_base_seq"); 26 | super.new(name); 27 | endfunction 28 | 29 | endclass 30 | 31 | 32 | `endif // __UVMA_CVMCU_CPI_BASE_SEQ_SV__ -------------------------------------------------------------------------------- /dv/agents/uvma_cvmcu_cpi/src/uvma_cvmcu_cpi_constants.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMA_CVMCU_CPI_CONSTANTS_SV__ 7 | `define __UVMA_CVMCU_CPI_CONSTANTS_SV__ 8 | 9 | 10 | `endif // __UVMA_CVMCU_CPI_CONSTANTS_SV__ -------------------------------------------------------------------------------- /dv/agents/uvma_cvmcu_cpi/src/uvma_cvmcu_cpi_if_chkr.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMA_CVMCU_CPI_IF_CHKR_SV__ 7 | `define __UVMA_CVMCU_CPI_IF_CHKR_SV__ 8 | 9 | 10 | /** 11 | * Encapsulates assertions targeting uvma_cvmcu_cpi_if. 12 | * @ingroup uvma_cvmcu_cpi_misc 13 | */ 14 | module uvma_cvmcu_cpi_if_chkr( 15 | uvma_cvmcu_cpi_if cvmcu_cpi_if ///< Target interface handle 16 | ); 17 | 18 | // TODO Add assertions and/or functional coverage to uvma_cvmcu_cpi_if_chkr 19 | 20 | endmodule 21 | 22 | 23 | `endif // __UVMA_CVMCU_CPI_IF_CHKR_SV__ -------------------------------------------------------------------------------- /dv/agents/uvma_cvmcu_cpi/src/uvma_cvmcu_cpi_macros.svh: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMA_CVMCU_CPI_MACROS_SV__ 7 | `define __UVMA_CVMCU_CPI_MACROS_SV__ 8 | 9 | 10 | `define UVMA_CVMCU_CPI_DATA_MIN_SIZE 1 11 | `define UVMA_CVMCU_CPI_DATA_MAX_SIZE `UVM_PACKER_MAX_BYTES 12 | `define UVMA_CVMCU_CPI_DATA_MIN_WIDTH 12 13 | `define UVMA_CVMCU_CPI_DATA_MAX_WIDTH 20 14 | 15 | 16 | `endif // __UVMA_CVMCU_CPI_MACROS_SV__ -------------------------------------------------------------------------------- /dv/agents/uvma_cvmcu_cpi/src/uvma_cvmcu_cpi_tdefs.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMA_CVMCU_CPI_TDEFS_SV__ 7 | `define __UVMA_CVMCU_CPI_TDEFS_SV__ 8 | 9 | 10 | /** 11 | * Driving modes for uvma_cvmcu_cpi_agent_c when active. 12 | */ 13 | typedef enum { 14 | UVMA_CVMCU_CPI_DRV_MODE_TX, ///< Drives TX 15 | UVMA_CVMCU_CPI_DRV_MODE_RX ///< Drives RX 16 | } uvma_cvmcu_cpi_mode_enum; 17 | 18 | 19 | /// @name Logic vectors 20 | /// @{ 21 | typedef logic [(`UVMA_CVMCU_CPI_DATA_MAX_WIDTH-1):0] uvma_cvmcu_cpi_data_l_t; ///< Data logic vector 22 | /// @} 23 | 24 | /// @name Bit vectors 25 | /// @{ 26 | typedef bit [(`UVMA_CVMCU_CPI_DATA_MAX_WIDTH-1):0] uvma_cvmcu_cpi_data_b_t; ///< Data bit vector 27 | /// @} 28 | 29 | 30 | `endif // __UVMA_CVMCU_CPI_TDEFS_SV__ -------------------------------------------------------------------------------- /dv/agents/uvma_cvmcu_dbg/.gitignore: -------------------------------------------------------------------------------- 1 | docs/dox_out 2 | ip.shrinkwrap.yml -------------------------------------------------------------------------------- /dv/agents/uvma_cvmcu_dbg/README.md: -------------------------------------------------------------------------------- 1 | # Datum Technology Corporation CORE-V-MCU Debug Interface UVM Agent 2 | 3 | # About 4 | This IP contains the Datum Technology Corporation CORE-V-MCU Debug Interface UVM Agent. 5 | 6 | # Block Diagram 7 | ![alt text](./docs/agent_block_diagram.png "CORE-V-MCU Debug Interface UVM Agent Block Diagram") 8 | 9 | # Directory Structure 10 | * `bin` - Scripts, metadata and other miscellaneous files 11 | * `docs` - Documents describing the CORE-V-MCU Debug Interface UVM Agent 12 | * `examples` - Code samples for using and extending this agent 13 | * `src` - Source code 14 | 15 | > * `comps` - UVM Components 16 | > * `obj` - UVM Objects and Monitor Transactions 17 | > * `seq` - UVM Sequences and Sequence Items 18 | 19 | 20 | # Dependencies 21 | It is dependent on the following IP: 22 | 23 | * `datum/uvmx` -------------------------------------------------------------------------------- /dv/agents/uvma_cvmcu_dbg/docs/agent_block_diagram.vsdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openhwgroup/core-v-mcu-uvm/9319c7ccf4e7eece2b7ecabd24998d7c0657a7b0/dv/agents/uvma_cvmcu_dbg/docs/agent_block_diagram.vsdx -------------------------------------------------------------------------------- /dv/agents/uvma_cvmcu_dbg/docs/dev_guide.md: -------------------------------------------------------------------------------- 1 | @page uvma_cvmcu_dbg_dev_guide Developer Guide 2 | @htmlonly 3 |
4 | @endhtmlonly 5 | 6 | 7 | @tableofcontents 8 | 9 | 10 | @section uvma_cvmcu_dbg_dev_guide_license_agreement License Agreement 11 | © Copyright 2023 Datum Technology Corporation 12 | 13 | All rights reserved. 14 | 15 | 16 | @section uvma_cvmcu_dbg_dev_guide_revision_history Revision History 17 | Revision | Date | Description 18 | --------- | ---- | ----------- 19 | 1.0 | 2023// | Initial Version 20 | 21 | @subsection uvma_cvmcu_dbg_dev_guide_description Description 22 | 23 | 24 | @section uvma_cvmcu_dbg_dev_guide_definitions Definitions 25 | Symbol | Definition 26 | ------ | ---------- 27 | 'SYMBOL' | Definition 28 | 29 | 30 | @section uvma_cvmcu_dbg_dev_guide_contents Contents 31 | 32 | 33 | @htmlonly 34 |
35 | @endhtmlonly -------------------------------------------------------------------------------- /dv/agents/uvma_cvmcu_dbg/docs/user_guide.md: -------------------------------------------------------------------------------- 1 | @page uvma_cvmcu_dbg_user_guide User Guide 2 | @htmlonly 3 |
4 | @endhtmlonly 5 | 6 | 7 | @tableofcontents 8 | 9 | 10 | @section uvma_cvmcu_dbg_user_guide_license_agreement License Agreement 11 | © Copyright 2023 Datum Technology Corporation 12 | 13 | All rights reserved. 14 | 15 | 16 | @section uvma_cvmcu_dbg_user_guide_revision_history Revision History 17 | Revision | Date | Description 18 | --------- | ---- | ----------- 19 | 1.0 | 2023// | Initial Version 20 | 21 | @subsection uvma_cvmcu_dbg_user_guide_description Description 22 | 23 | 24 | @section uvma_cvmcu_dbg_user_guide_definitions Definitions 25 | Symbol | Definition 26 | ------ | ---------- 27 | 'SYMBOL' | Definition 28 | 29 | 30 | @section uvma_cvmcu_dbg_user_guide_contents Contents 31 | 32 | 33 | @htmlonly 34 |
35 | @endhtmlonly -------------------------------------------------------------------------------- /dv/agents/uvma_cvmcu_dbg/ip.yml: -------------------------------------------------------------------------------- 1 | ip: 2 | name: "uvma_cvmcu_dbg" 3 | vendor: "datum" 4 | version: "1.0.0" 5 | full-name: "CORE-V-MCU Debug Interface UVM Agent" 6 | type: "DV" 7 | sub-type: "UVM Agent" 8 | sub-sub-type: "Advanced; Parallel" 9 | description: "TODO Describe CORE-V-MCU Debug Interface UVM Agent" 10 | home-page: "" 11 | repo-uri: "" 12 | bugs: "" 13 | aliases: [] 14 | logo: "" 15 | block-diagram: "docs/agent_block_diagram.svg" 16 | languages: ["sv"] 17 | simulators-supported: 18 | viv: "2022.2" 19 | mdc: "20220822.10.0" 20 | tags: [] 21 | copyright-holders: ["Datum Technology Corporation"] 22 | licenses: ["All rights reserved."] 23 | 24 | dependencies: 25 | "datum/uvmx": "~1.0" 26 | 27 | structure: 28 | scripts-path : "bin" 29 | docs-path : "docs" 30 | examples-path: "examples" 31 | src-path : "src" 32 | 33 | hdl-src: 34 | directories: [".", "comps", "obj", "seq"] 35 | top-files: ["uvma_cvmcu_dbg_pkg.sv"] 36 | so-libs: [] -------------------------------------------------------------------------------- /dv/agents/uvma_cvmcu_dbg/src/seq/uvma_cvmcu_dbg_base_seq.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMA_CVMCU_DBG_BASE_SEQ_SV__ 7 | `define __UVMA_CVMCU_DBG_BASE_SEQ_SV__ 8 | 9 | 10 | /** 11 | * Abstract Sequence from which all CORE-V-MCU Debug Interface Agent Sequences must extend. 12 | * @ingroup uvma_cvmcu_dbg_seq 13 | */ 14 | class uvma_cvmcu_dbg_base_seq_c extends uvmx_agent_seq_c #( 15 | .T_CFG (uvma_cvmcu_dbg_cfg_c ), 16 | .T_CNTXT (uvma_cvmcu_dbg_cntxt_c ), 17 | .T_SQR (uvma_cvmcu_dbg_sqr_c ), 18 | .T_SEQ_ITEM(uvma_cvmcu_dbg_seq_item_c) 19 | ); 20 | `uvm_object_utils(uvma_cvmcu_dbg_base_seq_c) 21 | 22 | /** 23 | * Default constructor. 24 | */ 25 | function new(string name="uvma_cvmcu_dbg_base_seq"); 26 | super.new(name); 27 | endfunction 28 | 29 | endclass 30 | 31 | 32 | `endif // __UVMA_CVMCU_DBG_BASE_SEQ_SV__ -------------------------------------------------------------------------------- /dv/agents/uvma_cvmcu_dbg/src/uvma_cvmcu_dbg_constants.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMA_CVMCU_DBG_CONSTANTS_SV__ 7 | `define __UVMA_CVMCU_DBG_CONSTANTS_SV__ 8 | 9 | 10 | `endif // __UVMA_CVMCU_DBG_CONSTANTS_SV__ -------------------------------------------------------------------------------- /dv/agents/uvma_cvmcu_dbg/src/uvma_cvmcu_dbg_if_chkr.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMA_CVMCU_DBG_IF_CHKR_SV__ 7 | `define __UVMA_CVMCU_DBG_IF_CHKR_SV__ 8 | 9 | 10 | /** 11 | * Encapsulates assertions targeting uvma_cvmcu_dbg_if. 12 | * @ingroup uvma_cvmcu_dbg_misc 13 | */ 14 | module uvma_cvmcu_dbg_if_chkr( 15 | uvma_cvmcu_dbg_if cvmcu_dbg_if ///< Target interface handle 16 | ); 17 | 18 | // TODO Add assertions and/or functional coverage to uvma_cvmcu_dbg_if_chkr 19 | 20 | endmodule 21 | 22 | 23 | `endif // __UVMA_CVMCU_DBG_IF_CHKR_SV__ -------------------------------------------------------------------------------- /dv/agents/uvma_cvmcu_dbg/src/uvma_cvmcu_dbg_macros.svh: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMA_CVMCU_DBG_MACROS_SV__ 7 | `define __UVMA_CVMCU_DBG_MACROS_SV__ 8 | 9 | 10 | `define UVMA_CVMCU_DBG_DATA_MIN_SIZE 1 11 | `define UVMA_CVMCU_DBG_DATA_MAX_SIZE `UVM_PACKER_MAX_BYTES 12 | 13 | 14 | `endif // __UVMA_CVMCU_DBG_MACROS_SV__ -------------------------------------------------------------------------------- /dv/agents/uvma_cvmcu_dbg/src/uvma_cvmcu_dbg_tdefs.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMA_CVMCU_DBG_TDEFS_SV__ 7 | `define __UVMA_CVMCU_DBG_TDEFS_SV__ 8 | 9 | 10 | /** 11 | * Driving modes for uvma_cvmcu_dbg_agent_c when active. 12 | */ 13 | typedef enum { 14 | UVMA_CVMCU_DBG_DRV_MODE_CORE, ///< Drives CORE 15 | UVMA_CVMCU_DBG_DRV_MODE_SYS ///< Drives SYS 16 | } uvma_cvmcu_dbg_mode_enum; 17 | 18 | 19 | /** 20 | * Event types 21 | */ 22 | typedef enum { 23 | UVMA_CVMCU_DBG_DEBUG_REQ, 24 | UVMA_CVMCU_DBG_STOP_TIMER 25 | } uvma_cvmcu_dbg_event_type_enum; 26 | 27 | 28 | /// @name Logic vectors 29 | /// @{ 30 | /// @} 31 | 32 | /// @name Bit vectors 33 | /// @{ 34 | /// @} 35 | 36 | 37 | `endif // __UVMA_CVMCU_DBG_TDEFS_SV__ -------------------------------------------------------------------------------- /dv/agents/uvma_cvmcu_event/.gitignore: -------------------------------------------------------------------------------- 1 | docs/dox_out 2 | ip.shrinkwrap.yml -------------------------------------------------------------------------------- /dv/agents/uvma_cvmcu_event/README.md: -------------------------------------------------------------------------------- 1 | # Datum Technology Corporation CORE-V-MCU Event Interface UVM Agent 2 | 3 | # About 4 | This IP contains the Datum Technology Corporation CORE-V-MCU Event Interface UVM Agent. 5 | 6 | # Block Diagram 7 | ![alt text](./docs/agent_block_diagram.png "CORE-V-MCU Event Interface UVM Agent Block Diagram") 8 | 9 | # Directory Structure 10 | * `bin` - Scripts, metadata and other miscellaneous files 11 | * `docs` - Documents describing the CORE-V-MCU Event Interface UVM Agent 12 | * `examples` - Code samples for using and extending this agent 13 | * `src` - Source code 14 | 15 | > * `comps` - UVM Components 16 | > * `obj` - UVM Objects and Monitor Transactions 17 | > * `seq` - UVM Sequences and Sequence Items 18 | 19 | 20 | # Dependencies 21 | It is dependent on the following IP: 22 | 23 | * `datum/uvmx` -------------------------------------------------------------------------------- /dv/agents/uvma_cvmcu_event/docs/agent_block_diagram.vsdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openhwgroup/core-v-mcu-uvm/9319c7ccf4e7eece2b7ecabd24998d7c0657a7b0/dv/agents/uvma_cvmcu_event/docs/agent_block_diagram.vsdx -------------------------------------------------------------------------------- /dv/agents/uvma_cvmcu_event/docs/dev_guide.md: -------------------------------------------------------------------------------- 1 | @page uvma_cvmcu_event_dev_guide Developer Guide 2 | @htmlonly 3 |
4 | @endhtmlonly 5 | 6 | 7 | @tableofcontents 8 | 9 | 10 | @section uvma_cvmcu_event_dev_guide_license_agreement License Agreement 11 | © Copyright 2023 Datum Technology Corporation 12 | 13 | All rights reserved. 14 | 15 | 16 | @section uvma_cvmcu_event_dev_guide_revision_history Revision History 17 | Revision | Date | Description 18 | --------- | ---- | ----------- 19 | 1.0 | 2023// | Initial Version 20 | 21 | @subsection uvma_cvmcu_event_dev_guide_description Description 22 | 23 | 24 | @section uvma_cvmcu_event_dev_guide_definitions Definitions 25 | Symbol | Definition 26 | ------ | ---------- 27 | 'SYMBOL' | Definition 28 | 29 | 30 | @section uvma_cvmcu_event_dev_guide_contents Contents 31 | 32 | 33 | @htmlonly 34 |
35 | @endhtmlonly -------------------------------------------------------------------------------- /dv/agents/uvma_cvmcu_event/docs/user_guide.md: -------------------------------------------------------------------------------- 1 | @page uvma_cvmcu_event_user_guide User Guide 2 | @htmlonly 3 |
4 | @endhtmlonly 5 | 6 | 7 | @tableofcontents 8 | 9 | 10 | @section uvma_cvmcu_event_user_guide_license_agreement License Agreement 11 | © Copyright 2023 Datum Technology Corporation 12 | 13 | All rights reserved. 14 | 15 | 16 | @section uvma_cvmcu_event_user_guide_revision_history Revision History 17 | Revision | Date | Description 18 | --------- | ---- | ----------- 19 | 1.0 | 2023// | Initial Version 20 | 21 | @subsection uvma_cvmcu_event_user_guide_description Description 22 | 23 | 24 | @section uvma_cvmcu_event_user_guide_definitions Definitions 25 | Symbol | Definition 26 | ------ | ---------- 27 | 'SYMBOL' | Definition 28 | 29 | 30 | @section uvma_cvmcu_event_user_guide_contents Contents 31 | 32 | 33 | @htmlonly 34 |
35 | @endhtmlonly -------------------------------------------------------------------------------- /dv/agents/uvma_cvmcu_event/ip.yml: -------------------------------------------------------------------------------- 1 | ip: 2 | name: "uvma_cvmcu_event" 3 | vendor: "datum" 4 | version: "1.0.0" 5 | full-name: "CORE-V-MCU Event Interface UVM Agent" 6 | type: "DV" 7 | sub-type: "UVM Agent" 8 | sub-sub-type: "Advanced; Parallel" 9 | description: "TODO Describe CORE-V-MCU Event Interface UVM Agent" 10 | home-page: "" 11 | repo-uri: "" 12 | bugs: "" 13 | aliases: [] 14 | logo: "" 15 | block-diagram: "docs/agent_block_diagram.svg" 16 | languages: ["sv"] 17 | simulators-supported: 18 | viv: "2022.2" 19 | mdc: "20220822.10.0" 20 | tags: [] 21 | copyright-holders: ["Datum Technology Corporation"] 22 | licenses: ["All rights reserved."] 23 | 24 | dependencies: 25 | "datum/uvmx": "~1.0" 26 | 27 | structure: 28 | scripts-path : "bin" 29 | docs-path : "docs" 30 | examples-path: "examples" 31 | src-path : "src" 32 | 33 | hdl-src: 34 | directories: [".", "comps", "obj", "seq"] 35 | top-files: ["uvma_cvmcu_event_pkg.sv"] 36 | so-libs: [] -------------------------------------------------------------------------------- /dv/agents/uvma_cvmcu_event/src/seq/uvma_cvmcu_event_base_seq.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMA_CVMCU_EVENT_BASE_SEQ_SV__ 7 | `define __UVMA_CVMCU_EVENT_BASE_SEQ_SV__ 8 | 9 | 10 | /** 11 | * Abstract Sequence from which all CORE-V-MCU Event Interface Agent Sequences must extend. 12 | * @ingroup uvma_cvmcu_event_seq 13 | */ 14 | class uvma_cvmcu_event_base_seq_c extends uvmx_agent_seq_c #( 15 | .T_CFG (uvma_cvmcu_event_cfg_c ), 16 | .T_CNTXT (uvma_cvmcu_event_cntxt_c ), 17 | .T_SQR (uvma_cvmcu_event_sqr_c ), 18 | .T_SEQ_ITEM(uvma_cvmcu_event_seq_item_c) 19 | ); 20 | `uvm_object_utils(uvma_cvmcu_event_base_seq_c) 21 | 22 | /** 23 | * Default constructor. 24 | */ 25 | function new(string name="uvma_cvmcu_event_base_seq"); 26 | super.new(name); 27 | endfunction 28 | 29 | endclass 30 | 31 | 32 | `endif // __UVMA_CVMCU_EVENT_BASE_SEQ_SV__ -------------------------------------------------------------------------------- /dv/agents/uvma_cvmcu_event/src/uvma_cvmcu_event_constants.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMA_CVMCU_EVENT_CONSTANTS_SV__ 7 | `define __UVMA_CVMCU_EVENT_CONSTANTS_SV__ 8 | 9 | 10 | `endif // __UVMA_CVMCU_EVENT_CONSTANTS_SV__ -------------------------------------------------------------------------------- /dv/agents/uvma_cvmcu_event/src/uvma_cvmcu_event_if_chkr.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMA_CVMCU_EVENT_IF_CHKR_SV__ 7 | `define __UVMA_CVMCU_EVENT_IF_CHKR_SV__ 8 | 9 | 10 | /** 11 | * Encapsulates assertions targeting uvma_cvmcu_event_if. 12 | * @ingroup uvma_cvmcu_event_misc 13 | */ 14 | module uvma_cvmcu_event_if_chkr( 15 | uvma_cvmcu_event_if cvmcu_event_if ///< Target interface handle 16 | ); 17 | 18 | // TODO Add assertions and/or functional coverage to uvma_cvmcu_event_if_chkr 19 | 20 | endmodule 21 | 22 | 23 | `endif // __UVMA_CVMCU_EVENT_IF_CHKR_SV__ -------------------------------------------------------------------------------- /dv/agents/uvma_cvmcu_event/src/uvma_cvmcu_event_macros.svh: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMA_CVMCU_EVENT_MACROS_SV__ 7 | `define __UVMA_CVMCU_EVENT_MACROS_SV__ 8 | 9 | 10 | `define UVMA_CVMCU_EVENT_DATA_MIN_SIZE 1 11 | `define UVMA_CVMCU_EVENT_DATA_MAX_SIZE `UVM_PACKER_MAX_BYTES 12 | 13 | 14 | `endif // __UVMA_CVMCU_EVENT_MACROS_SV__ -------------------------------------------------------------------------------- /dv/agents/uvme_cvmcu_cpi_st/.gitignore: -------------------------------------------------------------------------------- 1 | docs/dox_out 2 | ip.shrinkwrap.yml -------------------------------------------------------------------------------- /dv/agents/uvme_cvmcu_cpi_st/README.md: -------------------------------------------------------------------------------- 1 | # Datum Technology Corporation CORE-V-MCU Camera Parallel Interface UVM Agent Self-Test Environment 2 | 3 | # About 4 | This IP contains the Datum Technology Corporation CORE-V-MCU Camera Parallel Interface UVM Agent Self-Test Environment. 5 | 6 | # Block Diagram 7 | ![alt text](./docs/env_block_diagram.svg "CORE-V-MCU Camera Parallel Interface UVM Agent Self-Test Environment") 8 | 9 | # Directory Structure 10 | * `bin` - Scripts, metadata and other miscellaneous files 11 | * `docs` - Documents describing the CORE-V-MCU Camera Parallel Interface UVM Agent Self-Test Environment 12 | * `examples` - Code samples for using and extending this environment 13 | * `src` - Source code 14 | 15 | 16 | # Dependencies 17 | It is dependent on the following IP: 18 | 19 | * `datum/uvmx` 20 | * `datum/uvma_cvmcu_cpi` -------------------------------------------------------------------------------- /dv/agents/uvme_cvmcu_cpi_st/TODOS.azure.csv: -------------------------------------------------------------------------------- 1 | Work Item Type,Title,Priority 2 | Issue,Describe CORE-V-MCU Camera Parallel Interface UVM Agent Self-Test Environment",1 3 | Issue,Implement or remove uvme_cvmcu_cpi_st_cfg_c::rules_cons,1 4 | Issue,Complete uvme_cvmcu_cpi_st_cfg_c scoreboard logging configuration,1 5 | Issue,Implement uvme_cvmcu_cpi_st_cfg_c::post_randomize() or remove altogether,1 6 | Issue,Describe uvme_cvmcu_cpi_st_prd_c::predict_agent(),1 7 | Issue,Describe uvme_cvmcu_cpi_st_prd_c::predict_e2e(),1 8 | Issue,Implement cvmcu_cpi_st_seq_item_cg,1 9 | Issue,Implement cvmcu_cpi_st_mon_trn_cg,1 10 | Issue,Implement cvmcu_cpi_st_tx_phy_seq_item_cg,1 11 | Issue,Implement cvmcu_cpi_st_rx_phy_seq_item_cg,1 12 | Issue,Implement cvmcu_cpi_st_phy_mon_trn_cg,1 13 | -------------------------------------------------------------------------------- /dv/agents/uvme_cvmcu_cpi_st/TODOS.github.csv: -------------------------------------------------------------------------------- 1 | title,description,assignee,state,milestone,labels 2 | Describe CORE-V-MCU Camera Parallel Interface UVM Agent Self-Test Environment",ip.yml,,open,, 3 | Implement or remove uvme_cvmcu_cpi_st_cfg_c::rules_cons,uvme_cvmcu_cpi_st_cfg.sv,,open,, 4 | Complete uvme_cvmcu_cpi_st_cfg_c scoreboard logging configuration,uvme_cvmcu_cpi_st_cfg.sv,,open,, 5 | Implement uvme_cvmcu_cpi_st_cfg_c::post_randomize() or remove altogether,uvme_cvmcu_cpi_st_cfg.sv,,open,, 6 | Describe uvme_cvmcu_cpi_st_prd_c::predict_agent(),uvme_cvmcu_cpi_st_prd.sv,,open,, 7 | Describe uvme_cvmcu_cpi_st_prd_c::predict_e2e(),uvme_cvmcu_cpi_st_prd.sv,,open,, 8 | Implement cvmcu_cpi_st_seq_item_cg,uvme_cvmcu_cpi_st_cov_model.sv,,open,, 9 | Implement cvmcu_cpi_st_mon_trn_cg,uvme_cvmcu_cpi_st_cov_model.sv,,open,, 10 | Implement cvmcu_cpi_st_tx_phy_seq_item_cg,uvme_cvmcu_cpi_st_cov_model.sv,,open,, 11 | Implement cvmcu_cpi_st_rx_phy_seq_item_cg,uvme_cvmcu_cpi_st_cov_model.sv,,open,, 12 | Implement cvmcu_cpi_st_phy_mon_trn_cg,uvme_cvmcu_cpi_st_cov_model.sv,,open,, 13 | -------------------------------------------------------------------------------- /dv/agents/uvme_cvmcu_cpi_st/TODOS.gitlab.csv: -------------------------------------------------------------------------------- 1 | title,description,due_date 2 | Describe CORE-V-MCU Camera Parallel Interface UVM Agent Self-Test Environment",ip.yml, 3 | Implement or remove uvme_cvmcu_cpi_st_cfg_c::rules_cons,uvme_cvmcu_cpi_st_cfg.sv, 4 | Complete uvme_cvmcu_cpi_st_cfg_c scoreboard logging configuration,uvme_cvmcu_cpi_st_cfg.sv, 5 | Implement uvme_cvmcu_cpi_st_cfg_c::post_randomize() or remove altogether,uvme_cvmcu_cpi_st_cfg.sv, 6 | Describe uvme_cvmcu_cpi_st_prd_c::predict_agent(),uvme_cvmcu_cpi_st_prd.sv, 7 | Describe uvme_cvmcu_cpi_st_prd_c::predict_e2e(),uvme_cvmcu_cpi_st_prd.sv, 8 | Implement cvmcu_cpi_st_seq_item_cg,uvme_cvmcu_cpi_st_cov_model.sv, 9 | Implement cvmcu_cpi_st_mon_trn_cg,uvme_cvmcu_cpi_st_cov_model.sv, 10 | Implement cvmcu_cpi_st_tx_phy_seq_item_cg,uvme_cvmcu_cpi_st_cov_model.sv, 11 | Implement cvmcu_cpi_st_rx_phy_seq_item_cg,uvme_cvmcu_cpi_st_cov_model.sv, 12 | Implement cvmcu_cpi_st_phy_mon_trn_cg,uvme_cvmcu_cpi_st_cov_model.sv, 13 | -------------------------------------------------------------------------------- /dv/agents/uvme_cvmcu_cpi_st/docs/dev_guide.md: -------------------------------------------------------------------------------- 1 | @page uvme_cvmcu_cpi_st_dev_guide Developer Guide 2 | @htmlonly 3 |
4 | @endhtmlonly 5 | 6 | 7 | @tableofcontents 8 | 9 | 10 | @section uvme_cvmcu_cpi_st_dev_guide_license_agreement License Agreement 11 | © Copyright 2023 Datum Technology Corporation 12 | 13 | All rights reserved. 14 | 15 | 16 | @section uvme_cvmcu_cpi_st_dev_guide_revision_history Revision History 17 | Revision | Date | Description 18 | --------- | ---- | ----------- 19 | 1.0 | 2023// | Initial Version 20 | 21 | @subsection uvme_cvmcu_cpi_st_dev_guide_description Description 22 | 23 | 24 | @section uvme_cvmcu_cpi_st_dev_guide_definitions Definitions 25 | Symbol | Definition 26 | ------ | ---------- 27 | 'SYMBOL' | Definition 28 | 29 | 30 | @section uvme_cvmcu_cpi_st_dev_guide_contents Contents 31 | 32 | 33 | @htmlonly 34 |
35 | @endhtmlonly -------------------------------------------------------------------------------- /dv/agents/uvme_cvmcu_cpi_st/docs/env_block_diagram.vsdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openhwgroup/core-v-mcu-uvm/9319c7ccf4e7eece2b7ecabd24998d7c0657a7b0/dv/agents/uvme_cvmcu_cpi_st/docs/env_block_diagram.vsdx -------------------------------------------------------------------------------- /dv/agents/uvme_cvmcu_cpi_st/docs/user_guide.md: -------------------------------------------------------------------------------- 1 | @page uvme_cvmcu_cpi_st_user_guide User Guide 2 | @htmlonly 3 |
4 | @endhtmlonly 5 | 6 | 7 | @tableofcontents 8 | 9 | 10 | @section uvme_cvmcu_cpi_st_user_guide_license_agreement License Agreement 11 | © Copyright 2023 Datum Technology Corporation 12 | 13 | All rights reserved. 14 | 15 | 16 | @section uvme_cvmcu_cpi_st_user_guide_revision_history Revision History 17 | Revision | Date | Description 18 | --------- | ---- | ----------- 19 | 1.0 | 2023// | Initial Version 20 | 21 | @subsection uvme_cvmcu_cpi_st_user_guide_description Description 22 | 23 | 24 | @section uvme_cvmcu_cpi_st_user_guide_definitions Definitions 25 | Symbol | Definition 26 | ------ | ---------- 27 | 'SYMBOL' | Definition 28 | 29 | 30 | @section uvme_cvmcu_cpi_st_user_guide_contents Contents 31 | 32 | 33 | @htmlonly 34 |
35 | @endhtmlonly -------------------------------------------------------------------------------- /dv/agents/uvme_cvmcu_cpi_st/ip.yml: -------------------------------------------------------------------------------- 1 | ip: 2 | name: "uvme_cvmcu_cpi_st" 3 | vendor: "datum" 4 | version: "1.0.0" 5 | full-name: "CORE-V-MCU Camera Parallel Interface UVM Agent Self-Test Environment" 6 | type: "DV" 7 | sub-type: "UVM Environment" 8 | sub-sub-type: "Agent Self-Testing" 9 | description: "TODO Describe CORE-V-MCU Camera Parallel Interface UVM Agent Self-Test Environment" 10 | home-page: "" 11 | repo-uri: "" 12 | bugs: "" 13 | aliases: [] 14 | logo: "" 15 | block-diagram: "docs/env_block_diagram.svg" 16 | languages: ["sv"] 17 | simulators-supported: 18 | viv: "2022.2" 19 | mdc: "20220822.10.0" 20 | tags: [] 21 | copyright-holders: ["Datum Technology Corporation"] 22 | licenses: ["All rights reserved."] 23 | 24 | dependencies: 25 | "datum/uvmx": "~1.0" 26 | "datum/uvma_cvmcu_cpi": "^" 27 | 28 | structure: 29 | scripts-path : "bin" 30 | docs-path : "docs" 31 | examples-path: "examples" 32 | src-path : "src" 33 | 34 | hdl-src: 35 | directories: [".", "comps", "obj", "seq"] 36 | top-files: ["uvme_cvmcu_cpi_st_pkg.sv"] 37 | so-libs: [] -------------------------------------------------------------------------------- /dv/agents/uvme_cvmcu_cpi_st/src/seq/uvme_cvmcu_cpi_st_base_seq.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVME_CVMCU_CPI_ST_BASE_SEQ_SV__ 7 | `define __UVME_CVMCU_CPI_ST_BASE_SEQ_SV__ 8 | 9 | 10 | /** 11 | * Abstract Sequence from which all CORE-V-MCU Camera Parallel Interface UVM Agent Self-Test Environment Virtual Sequences extend. 12 | * @ingroup uvme_cvmcu_cpi_st_seq 13 | */ 14 | class uvme_cvmcu_cpi_st_base_seq_c extends uvmx_agent_env_seq_c #( 15 | .T_CFG (uvme_cvmcu_cpi_st_cfg_c ), 16 | .T_CNTXT(uvme_cvmcu_cpi_st_cntxt_c), 17 | .T_SQR (uvme_cvmcu_cpi_st_sqr_c ) 18 | ); 19 | 20 | `uvm_object_utils(uvme_cvmcu_cpi_st_base_seq_c) 21 | 22 | /** 23 | * Default constructor. 24 | */ 25 | function new(string name="uvme_cvmcu_cpi_st_base_seq"); 26 | super.new(name); 27 | endfunction 28 | 29 | endclass 30 | 31 | 32 | `endif // __UVME_CVMCU_CPI_ST_BASE_SEQ_SV__ -------------------------------------------------------------------------------- /dv/agents/uvme_cvmcu_cpi_st/src/uvme_cvmcu_cpi_st_constants.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVME_CVMCU_CPI_ST_CONSTANTS_SV__ 7 | `define __UVME_CVMCU_CPI_ST_CONSTANTS_SV__ 8 | 9 | 10 | `endif // __UVME_CVMCU_CPI_ST_CONSTANTS_SV__ -------------------------------------------------------------------------------- /dv/agents/uvme_cvmcu_cpi_st/src/uvme_cvmcu_cpi_st_ftdecs.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVME_CVMCU_CPI_ST_FTDECS_SV__ 7 | `define __UVME_CVMCU_CPI_ST_FTDECS_SV__ 8 | 9 | 10 | typedef class uvme_cvmcu_cpi_st_cfg_c ; 11 | typedef class uvme_cvmcu_cpi_st_cntxt_c; 12 | 13 | 14 | `endif // __UVME_CVMCU_CPI_ST_FTDECS_SV__ -------------------------------------------------------------------------------- /dv/agents/uvme_cvmcu_cpi_st/src/uvme_cvmcu_cpi_st_macros.svh: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVME_CVMCU_CPI_ST_MACROS_SV__ 7 | `define __UVME_CVMCU_CPI_ST_MACROS_SV__ 8 | 9 | 10 | // Add preprocessor macros here 11 | // Ex: `ifndef UVME__ST_ABC 12 | // `define UVME__ST_ABC 32 13 | // `endif 14 | 15 | 16 | `endif // __UVME_CVMCU_CPI_ST_MACROS_SV__ -------------------------------------------------------------------------------- /dv/agents/uvme_cvmcu_cpi_st/src/uvme_cvmcu_cpi_st_tdefs.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVME_CVMCU_CPI_ST_TDEFS_SV__ 7 | `define __UVME_CVMCU_CPI_ST_TDEFS_SV__ 8 | 9 | 10 | 11 | 12 | /** 13 | * Scoreboard specialization. 14 | */ 15 | typedef uvmx_sb_simplex_c #( 16 | .T_ACT_TRN(uvma_cvmcu_cpi_mon_trn_c) 17 | ) uvme_cvmcu_cpi_st_sb_simplex_c; 18 | 19 | /** 20 | * Empty coverage model. 21 | */ 22 | typedef uvmx_env_cov_model_c #( 23 | .T_CFG (uvme_cvmcu_cpi_st_cfg_c ), 24 | .T_CNTXT(uvme_cvmcu_cpi_st_cntxt_c) 25 | ) uvme_cvmcu_cpi_st_mock_cov_model_c; 26 | 27 | 28 | `endif // __UVME_CVMCU_CPI_ST_TDEFS_SV__ -------------------------------------------------------------------------------- /dv/agents/uvme_cvmcu_dbg_st/.gitignore: -------------------------------------------------------------------------------- 1 | docs/dox_out 2 | ip.shrinkwrap.yml -------------------------------------------------------------------------------- /dv/agents/uvme_cvmcu_dbg_st/README.md: -------------------------------------------------------------------------------- 1 | # Datum Technology Corporation CORE-V-MCU Debug Interface UVM Agent Self-Test Environment 2 | 3 | # About 4 | This IP contains the Datum Technology Corporation CORE-V-MCU Debug Interface UVM Agent Self-Test Environment. 5 | 6 | # Block Diagram 7 | ![alt text](./docs/env_block_diagram.svg "CORE-V-MCU Debug Interface UVM Agent Self-Test Environment") 8 | 9 | # Directory Structure 10 | * `bin` - Scripts, metadata and other miscellaneous files 11 | * `docs` - Documents describing the CORE-V-MCU Debug Interface UVM Agent Self-Test Environment 12 | * `examples` - Code samples for using and extending this environment 13 | * `src` - Source code 14 | 15 | 16 | # Dependencies 17 | It is dependent on the following IP: 18 | 19 | * `datum/uvmx` 20 | * `datum/uvma_cvmcu_dbg` -------------------------------------------------------------------------------- /dv/agents/uvme_cvmcu_dbg_st/TODOS.azure.csv: -------------------------------------------------------------------------------- 1 | Work Item Type,Title,Priority 2 | Issue,Describe CORE-V-MCU Debug Interface UVM Agent Self-Test Environment",1 3 | Issue,Implement or remove uvme_cvmcu_dbg_st_cfg_c::rules_cons,1 4 | Issue,Complete uvme_cvmcu_dbg_st_cfg_c scoreboard logging configuration,1 5 | Issue,Implement uvme_cvmcu_dbg_st_cfg_c::post_randomize() or remove altogether,1 6 | Issue,Implement cvmcu_dbg_st_seq_item_cg,1 7 | Issue,Implement cvmcu_dbg_st_mon_trn_cg,1 8 | Issue,Implement cvmcu_dbg_st_core_phy_seq_item_cg,1 9 | Issue,Implement cvmcu_dbg_st_sys_phy_seq_item_cg,1 10 | Issue,Implement cvmcu_dbg_st_phy_mon_trn_cg,1 11 | Issue,Describe uvme_cvmcu_dbg_st_prd_c::predict_agent(),1 12 | Issue,Describe uvme_cvmcu_dbg_st_prd_c::predict_e2e(),1 13 | -------------------------------------------------------------------------------- /dv/agents/uvme_cvmcu_dbg_st/TODOS.github.csv: -------------------------------------------------------------------------------- 1 | title,description,assignee,state,milestone,labels 2 | Describe CORE-V-MCU Debug Interface UVM Agent Self-Test Environment",ip.yml,,open,, 3 | Implement or remove uvme_cvmcu_dbg_st_cfg_c::rules_cons,uvme_cvmcu_dbg_st_cfg.sv,,open,, 4 | Complete uvme_cvmcu_dbg_st_cfg_c scoreboard logging configuration,uvme_cvmcu_dbg_st_cfg.sv,,open,, 5 | Implement uvme_cvmcu_dbg_st_cfg_c::post_randomize() or remove altogether,uvme_cvmcu_dbg_st_cfg.sv,,open,, 6 | Implement cvmcu_dbg_st_seq_item_cg,uvme_cvmcu_dbg_st_cov_model.sv,,open,, 7 | Implement cvmcu_dbg_st_mon_trn_cg,uvme_cvmcu_dbg_st_cov_model.sv,,open,, 8 | Implement cvmcu_dbg_st_core_phy_seq_item_cg,uvme_cvmcu_dbg_st_cov_model.sv,,open,, 9 | Implement cvmcu_dbg_st_sys_phy_seq_item_cg,uvme_cvmcu_dbg_st_cov_model.sv,,open,, 10 | Implement cvmcu_dbg_st_phy_mon_trn_cg,uvme_cvmcu_dbg_st_cov_model.sv,,open,, 11 | Describe uvme_cvmcu_dbg_st_prd_c::predict_agent(),uvme_cvmcu_dbg_st_prd.sv,,open,, 12 | Describe uvme_cvmcu_dbg_st_prd_c::predict_e2e(),uvme_cvmcu_dbg_st_prd.sv,,open,, 13 | -------------------------------------------------------------------------------- /dv/agents/uvme_cvmcu_dbg_st/TODOS.gitlab.csv: -------------------------------------------------------------------------------- 1 | title,description,due_date 2 | Describe CORE-V-MCU Debug Interface UVM Agent Self-Test Environment",ip.yml, 3 | Implement or remove uvme_cvmcu_dbg_st_cfg_c::rules_cons,uvme_cvmcu_dbg_st_cfg.sv, 4 | Complete uvme_cvmcu_dbg_st_cfg_c scoreboard logging configuration,uvme_cvmcu_dbg_st_cfg.sv, 5 | Implement uvme_cvmcu_dbg_st_cfg_c::post_randomize() or remove altogether,uvme_cvmcu_dbg_st_cfg.sv, 6 | Implement cvmcu_dbg_st_seq_item_cg,uvme_cvmcu_dbg_st_cov_model.sv, 7 | Implement cvmcu_dbg_st_mon_trn_cg,uvme_cvmcu_dbg_st_cov_model.sv, 8 | Implement cvmcu_dbg_st_core_phy_seq_item_cg,uvme_cvmcu_dbg_st_cov_model.sv, 9 | Implement cvmcu_dbg_st_sys_phy_seq_item_cg,uvme_cvmcu_dbg_st_cov_model.sv, 10 | Implement cvmcu_dbg_st_phy_mon_trn_cg,uvme_cvmcu_dbg_st_cov_model.sv, 11 | Describe uvme_cvmcu_dbg_st_prd_c::predict_agent(),uvme_cvmcu_dbg_st_prd.sv, 12 | Describe uvme_cvmcu_dbg_st_prd_c::predict_e2e(),uvme_cvmcu_dbg_st_prd.sv, 13 | -------------------------------------------------------------------------------- /dv/agents/uvme_cvmcu_dbg_st/docs/dev_guide.md: -------------------------------------------------------------------------------- 1 | @page uvme_cvmcu_dbg_st_dev_guide Developer Guide 2 | @htmlonly 3 |
4 | @endhtmlonly 5 | 6 | 7 | @tableofcontents 8 | 9 | 10 | @section uvme_cvmcu_dbg_st_dev_guide_license_agreement License Agreement 11 | © Copyright 2023 Datum Technology Corporation 12 | 13 | All rights reserved. 14 | 15 | 16 | @section uvme_cvmcu_dbg_st_dev_guide_revision_history Revision History 17 | Revision | Date | Description 18 | --------- | ---- | ----------- 19 | 1.0 | 2023// | Initial Version 20 | 21 | @subsection uvme_cvmcu_dbg_st_dev_guide_description Description 22 | 23 | 24 | @section uvme_cvmcu_dbg_st_dev_guide_definitions Definitions 25 | Symbol | Definition 26 | ------ | ---------- 27 | 'SYMBOL' | Definition 28 | 29 | 30 | @section uvme_cvmcu_dbg_st_dev_guide_contents Contents 31 | 32 | 33 | @htmlonly 34 |
35 | @endhtmlonly -------------------------------------------------------------------------------- /dv/agents/uvme_cvmcu_dbg_st/docs/env_block_diagram.vsdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openhwgroup/core-v-mcu-uvm/9319c7ccf4e7eece2b7ecabd24998d7c0657a7b0/dv/agents/uvme_cvmcu_dbg_st/docs/env_block_diagram.vsdx -------------------------------------------------------------------------------- /dv/agents/uvme_cvmcu_dbg_st/docs/user_guide.md: -------------------------------------------------------------------------------- 1 | @page uvme_cvmcu_dbg_st_user_guide User Guide 2 | @htmlonly 3 |
4 | @endhtmlonly 5 | 6 | 7 | @tableofcontents 8 | 9 | 10 | @section uvme_cvmcu_dbg_st_user_guide_license_agreement License Agreement 11 | © Copyright 2023 Datum Technology Corporation 12 | 13 | All rights reserved. 14 | 15 | 16 | @section uvme_cvmcu_dbg_st_user_guide_revision_history Revision History 17 | Revision | Date | Description 18 | --------- | ---- | ----------- 19 | 1.0 | 2023// | Initial Version 20 | 21 | @subsection uvme_cvmcu_dbg_st_user_guide_description Description 22 | 23 | 24 | @section uvme_cvmcu_dbg_st_user_guide_definitions Definitions 25 | Symbol | Definition 26 | ------ | ---------- 27 | 'SYMBOL' | Definition 28 | 29 | 30 | @section uvme_cvmcu_dbg_st_user_guide_contents Contents 31 | 32 | 33 | @htmlonly 34 |
35 | @endhtmlonly -------------------------------------------------------------------------------- /dv/agents/uvme_cvmcu_dbg_st/ip.yml: -------------------------------------------------------------------------------- 1 | ip: 2 | name: "uvme_cvmcu_dbg_st" 3 | vendor: "datum" 4 | version: "1.0.0" 5 | full-name: "CORE-V-MCU Debug Interface UVM Agent Self-Test Environment" 6 | type: "DV" 7 | sub-type: "UVM Environment" 8 | sub-sub-type: "Agent Self-Testing" 9 | description: "TODO Describe CORE-V-MCU Debug Interface UVM Agent Self-Test Environment" 10 | home-page: "" 11 | repo-uri: "" 12 | bugs: "" 13 | aliases: [] 14 | logo: "" 15 | block-diagram: "docs/env_block_diagram.svg" 16 | languages: ["sv"] 17 | simulators-supported: 18 | viv: "2022.2" 19 | mdc: "20220822.10.0" 20 | tags: [] 21 | copyright-holders: ["Datum Technology Corporation"] 22 | licenses: ["All rights reserved."] 23 | 24 | dependencies: 25 | "datum/uvmx": "~1.0" 26 | "datum/uvma_cvmcu_dbg": "^" 27 | 28 | structure: 29 | scripts-path : "bin" 30 | docs-path : "docs" 31 | examples-path: "examples" 32 | src-path : "src" 33 | 34 | hdl-src: 35 | directories: [".", "comps", "obj", "seq"] 36 | top-files: ["uvme_cvmcu_dbg_st_pkg.sv"] 37 | so-libs: [] -------------------------------------------------------------------------------- /dv/agents/uvme_cvmcu_dbg_st/src/seq/uvme_cvmcu_dbg_st_base_seq.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVME_CVMCU_DBG_ST_BASE_SEQ_SV__ 7 | `define __UVME_CVMCU_DBG_ST_BASE_SEQ_SV__ 8 | 9 | 10 | /** 11 | * Abstract Sequence from which all CORE-V-MCU Debug Interface UVM Agent Self-Test Environment Virtual Sequences extend. 12 | * @ingroup uvme_cvmcu_dbg_st_seq 13 | */ 14 | class uvme_cvmcu_dbg_st_base_seq_c extends uvmx_agent_env_seq_c #( 15 | .T_CFG (uvme_cvmcu_dbg_st_cfg_c ), 16 | .T_CNTXT(uvme_cvmcu_dbg_st_cntxt_c), 17 | .T_SQR (uvme_cvmcu_dbg_st_sqr_c ) 18 | ); 19 | 20 | `uvm_object_utils(uvme_cvmcu_dbg_st_base_seq_c) 21 | 22 | /** 23 | * Default constructor. 24 | */ 25 | function new(string name="uvme_cvmcu_dbg_st_base_seq"); 26 | super.new(name); 27 | endfunction 28 | 29 | endclass 30 | 31 | 32 | `endif // __UVME_CVMCU_DBG_ST_BASE_SEQ_SV__ -------------------------------------------------------------------------------- /dv/agents/uvme_cvmcu_dbg_st/src/uvme_cvmcu_dbg_st_constants.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVME_CVMCU_DBG_ST_CONSTANTS_SV__ 7 | `define __UVME_CVMCU_DBG_ST_CONSTANTS_SV__ 8 | 9 | 10 | `endif // __UVME_CVMCU_DBG_ST_CONSTANTS_SV__ -------------------------------------------------------------------------------- /dv/agents/uvme_cvmcu_dbg_st/src/uvme_cvmcu_dbg_st_ftdecs.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVME_CVMCU_DBG_ST_FTDECS_SV__ 7 | `define __UVME_CVMCU_DBG_ST_FTDECS_SV__ 8 | 9 | 10 | typedef class uvme_cvmcu_dbg_st_cfg_c ; 11 | typedef class uvme_cvmcu_dbg_st_cntxt_c; 12 | 13 | 14 | `endif // __UVME_CVMCU_DBG_ST_FTDECS_SV__ -------------------------------------------------------------------------------- /dv/agents/uvme_cvmcu_dbg_st/src/uvme_cvmcu_dbg_st_macros.svh: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVME_CVMCU_DBG_ST_MACROS_SV__ 7 | `define __UVME_CVMCU_DBG_ST_MACROS_SV__ 8 | 9 | 10 | // Add preprocessor macros here 11 | // Ex: `ifndef UVME__ST_ABC 12 | // `define UVME__ST_ABC 32 13 | // `endif 14 | 15 | 16 | `endif // __UVME_CVMCU_DBG_ST_MACROS_SV__ -------------------------------------------------------------------------------- /dv/agents/uvme_cvmcu_dbg_st/src/uvme_cvmcu_dbg_st_tdefs.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVME_CVMCU_DBG_ST_TDEFS_SV__ 7 | `define __UVME_CVMCU_DBG_ST_TDEFS_SV__ 8 | 9 | 10 | 11 | 12 | /** 13 | * Scoreboard specialization. 14 | */ 15 | typedef uvmx_sb_simplex_c #( 16 | .T_ACT_TRN(uvma_cvmcu_dbg_mon_trn_c) 17 | ) uvme_cvmcu_dbg_st_sb_simplex_c; 18 | 19 | /** 20 | * Empty coverage model. 21 | */ 22 | typedef uvmx_env_cov_model_c #( 23 | .T_CFG (uvme_cvmcu_dbg_st_cfg_c ), 24 | .T_CNTXT(uvme_cvmcu_dbg_st_cntxt_c) 25 | ) uvme_cvmcu_dbg_st_mock_cov_model_c; 26 | 27 | 28 | `endif // __UVME_CVMCU_DBG_ST_TDEFS_SV__ -------------------------------------------------------------------------------- /dv/agents/uvme_cvmcu_event_st/.gitignore: -------------------------------------------------------------------------------- 1 | docs/dox_out 2 | ip.shrinkwrap.yml -------------------------------------------------------------------------------- /dv/agents/uvme_cvmcu_event_st/README.md: -------------------------------------------------------------------------------- 1 | # Datum Technology Corporation CORE-V-MCU Event Interface UVM Agent Self-Test Environment 2 | 3 | # About 4 | This IP contains the Datum Technology Corporation CORE-V-MCU Event Interface UVM Agent Self-Test Environment. 5 | 6 | # Block Diagram 7 | ![alt text](./docs/env_block_diagram.svg "CORE-V-MCU Event Interface UVM Agent Self-Test Environment") 8 | 9 | # Directory Structure 10 | * `bin` - Scripts, metadata and other miscellaneous files 11 | * `docs` - Documents describing the CORE-V-MCU Event Interface UVM Agent Self-Test Environment 12 | * `examples` - Code samples for using and extending this environment 13 | * `src` - Source code 14 | 15 | 16 | # Dependencies 17 | It is dependent on the following IP: 18 | 19 | * `datum/uvmx` 20 | * `datum/uvma_cvmcu_event` -------------------------------------------------------------------------------- /dv/agents/uvme_cvmcu_event_st/TODOS.azure.csv: -------------------------------------------------------------------------------- 1 | Work Item Type,Title,Priority 2 | Issue,Describe CORE-V-MCU Event Interface UVM Agent Self-Test Environment",1 3 | Issue,Implement or remove uvme_cvmcu_event_st_cfg_c::rules_cons,1 4 | Issue,Complete uvme_cvmcu_event_st_cfg_c scoreboard logging configuration,1 5 | Issue,Implement uvme_cvmcu_event_st_cfg_c::post_randomize() or remove altogether,1 6 | Issue,Describe uvme_cvmcu_event_st_prd_c::predict_core(),1 7 | Issue,Describe uvme_cvmcu_event_st_prd_c::predict_sys(),1 8 | Issue,Describe uvme_cvmcu_event_st_prd_c::predict_c2s(),1 9 | Issue,Describe uvme_cvmcu_event_st_prd_c::predict_s2c(),1 10 | Issue,Implement cvmcu_event_st_seq_item_cg,1 11 | Issue,Implement cvmcu_event_st_c2s_mon_trn_cg,1 12 | Issue,Implement cvmcu_event_st_s2c_mon_trn_cg,1 13 | Issue,Implement cvmcu_event_st_core_phy_seq_item_cg,1 14 | Issue,Implement cvmcu_event_st_sys_phy_seq_item_cg,1 15 | Issue,Implement cvmcu_event_st_phy_mon_trn_cg,1 16 | -------------------------------------------------------------------------------- /dv/agents/uvme_cvmcu_event_st/docs/dev_guide.md: -------------------------------------------------------------------------------- 1 | @page uvme_cvmcu_event_st_dev_guide Developer Guide 2 | @htmlonly 3 |
4 | @endhtmlonly 5 | 6 | 7 | @tableofcontents 8 | 9 | 10 | @section uvme_cvmcu_event_st_dev_guide_license_agreement License Agreement 11 | © Copyright 2023 Datum Technology Corporation 12 | 13 | All rights reserved. 14 | 15 | 16 | @section uvme_cvmcu_event_st_dev_guide_revision_history Revision History 17 | Revision | Date | Description 18 | --------- | ---- | ----------- 19 | 1.0 | 2023// | Initial Version 20 | 21 | @subsection uvme_cvmcu_event_st_dev_guide_description Description 22 | 23 | 24 | @section uvme_cvmcu_event_st_dev_guide_definitions Definitions 25 | Symbol | Definition 26 | ------ | ---------- 27 | 'SYMBOL' | Definition 28 | 29 | 30 | @section uvme_cvmcu_event_st_dev_guide_contents Contents 31 | 32 | 33 | @htmlonly 34 |
35 | @endhtmlonly -------------------------------------------------------------------------------- /dv/agents/uvme_cvmcu_event_st/docs/env_block_diagram.vsdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openhwgroup/core-v-mcu-uvm/9319c7ccf4e7eece2b7ecabd24998d7c0657a7b0/dv/agents/uvme_cvmcu_event_st/docs/env_block_diagram.vsdx -------------------------------------------------------------------------------- /dv/agents/uvme_cvmcu_event_st/docs/user_guide.md: -------------------------------------------------------------------------------- 1 | @page uvme_cvmcu_event_st_user_guide User Guide 2 | @htmlonly 3 |
4 | @endhtmlonly 5 | 6 | 7 | @tableofcontents 8 | 9 | 10 | @section uvme_cvmcu_event_st_user_guide_license_agreement License Agreement 11 | © Copyright 2023 Datum Technology Corporation 12 | 13 | All rights reserved. 14 | 15 | 16 | @section uvme_cvmcu_event_st_user_guide_revision_history Revision History 17 | Revision | Date | Description 18 | --------- | ---- | ----------- 19 | 1.0 | 2023// | Initial Version 20 | 21 | @subsection uvme_cvmcu_event_st_user_guide_description Description 22 | 23 | 24 | @section uvme_cvmcu_event_st_user_guide_definitions Definitions 25 | Symbol | Definition 26 | ------ | ---------- 27 | 'SYMBOL' | Definition 28 | 29 | 30 | @section uvme_cvmcu_event_st_user_guide_contents Contents 31 | 32 | 33 | @htmlonly 34 |
35 | @endhtmlonly -------------------------------------------------------------------------------- /dv/agents/uvme_cvmcu_event_st/ip.yml: -------------------------------------------------------------------------------- 1 | ip: 2 | name: "uvme_cvmcu_event_st" 3 | vendor: "datum" 4 | version: "1.0.0" 5 | full-name: "CORE-V-MCU Event Interface UVM Agent Self-Test Environment" 6 | type: "DV" 7 | sub-type: "UVM Environment" 8 | sub-sub-type: "Agent Self-Testing" 9 | description: "TODO Describe CORE-V-MCU Event Interface UVM Agent Self-Test Environment" 10 | home-page: "" 11 | repo-uri: "" 12 | bugs: "" 13 | aliases: [] 14 | logo: "" 15 | block-diagram: "docs/env_block_diagram.svg" 16 | languages: ["sv"] 17 | simulators-supported: 18 | viv: "2022.2" 19 | mdc: "20220822.10.0" 20 | tags: [] 21 | copyright-holders: ["Datum Technology Corporation"] 22 | licenses: ["All rights reserved."] 23 | 24 | dependencies: 25 | "datum/uvmx": "~1.0" 26 | "datum/uvma_cvmcu_event": "^" 27 | 28 | structure: 29 | scripts-path : "bin" 30 | docs-path : "docs" 31 | examples-path: "examples" 32 | src-path : "src" 33 | 34 | hdl-src: 35 | directories: [".", "comps", "obj", "seq"] 36 | top-files: ["uvme_cvmcu_event_st_pkg.sv"] 37 | so-libs: [] -------------------------------------------------------------------------------- /dv/agents/uvme_cvmcu_event_st/src/seq/uvme_cvmcu_event_st_base_seq.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVME_CVMCU_EVENT_ST_BASE_SEQ_SV__ 7 | `define __UVME_CVMCU_EVENT_ST_BASE_SEQ_SV__ 8 | 9 | 10 | /** 11 | * Abstract Sequence from which all CORE-V-MCU Event Interface UVM Agent Self-Test Environment Virtual Sequences extend. 12 | * @ingroup uvme_cvmcu_event_st_seq 13 | */ 14 | class uvme_cvmcu_event_st_base_seq_c extends uvmx_agent_env_seq_c #( 15 | .T_CFG (uvme_cvmcu_event_st_cfg_c ), 16 | .T_CNTXT(uvme_cvmcu_event_st_cntxt_c), 17 | .T_SQR (uvme_cvmcu_event_st_sqr_c ) 18 | ); 19 | 20 | `uvm_object_utils(uvme_cvmcu_event_st_base_seq_c) 21 | 22 | /** 23 | * Default constructor. 24 | */ 25 | function new(string name="uvme_cvmcu_event_st_base_seq"); 26 | super.new(name); 27 | endfunction 28 | 29 | endclass 30 | 31 | 32 | `endif // __UVME_CVMCU_EVENT_ST_BASE_SEQ_SV__ -------------------------------------------------------------------------------- /dv/agents/uvme_cvmcu_event_st/src/uvme_cvmcu_event_st_constants.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVME_CVMCU_EVENT_ST_CONSTANTS_SV__ 7 | `define __UVME_CVMCU_EVENT_ST_CONSTANTS_SV__ 8 | 9 | 10 | `endif // __UVME_CVMCU_EVENT_ST_CONSTANTS_SV__ -------------------------------------------------------------------------------- /dv/agents/uvme_cvmcu_event_st/src/uvme_cvmcu_event_st_ftdecs.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVME_CVMCU_EVENT_ST_FTDECS_SV__ 7 | `define __UVME_CVMCU_EVENT_ST_FTDECS_SV__ 8 | 9 | 10 | typedef class uvme_cvmcu_event_st_cfg_c ; 11 | typedef class uvme_cvmcu_event_st_cntxt_c; 12 | 13 | 14 | `endif // __UVME_CVMCU_EVENT_ST_FTDECS_SV__ -------------------------------------------------------------------------------- /dv/agents/uvme_cvmcu_event_st/src/uvme_cvmcu_event_st_macros.svh: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVME_CVMCU_EVENT_ST_MACROS_SV__ 7 | `define __UVME_CVMCU_EVENT_ST_MACROS_SV__ 8 | 9 | 10 | // Add preprocessor macros here 11 | // Ex: `ifndef UVME__ST_ABC 12 | // `define UVME__ST_ABC 32 13 | // `endif 14 | 15 | 16 | `endif // __UVME_CVMCU_EVENT_ST_MACROS_SV__ -------------------------------------------------------------------------------- /dv/agents/uvme_cvmcu_event_st/src/uvme_cvmcu_event_st_tdefs.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVME_CVMCU_EVENT_ST_TDEFS_SV__ 7 | `define __UVME_CVMCU_EVENT_ST_TDEFS_SV__ 8 | 9 | 10 | 11 | 12 | /** 13 | * Scoreboard specialization. 14 | */ 15 | typedef uvmx_sb_simplex_c #( 16 | .T_ACT_TRN(uvma_cvmcu_event_mon_trn_c) 17 | ) uvme_cvmcu_event_st_sb_simplex_c; 18 | 19 | /** 20 | * Empty coverage model. 21 | */ 22 | typedef uvmx_env_cov_model_c #( 23 | .T_CFG (uvme_cvmcu_event_st_cfg_c ), 24 | .T_CNTXT(uvme_cvmcu_event_st_cntxt_c) 25 | ) uvme_cvmcu_event_st_mock_cov_model_c; 26 | 27 | 28 | `endif // __UVME_CVMCU_EVENT_ST_TDEFS_SV__ -------------------------------------------------------------------------------- /dv/agents/uvmt_cvmcu_cpi_st/.gitignore: -------------------------------------------------------------------------------- 1 | docs/dox_out 2 | ip.shrinkwrap.yml -------------------------------------------------------------------------------- /dv/agents/uvmt_cvmcu_cpi_st/README.md: -------------------------------------------------------------------------------- 1 | # Datum Technology Corporation CORE-V-MCU Camera Parallel Interface UVM Agent Self-Test Bench 2 | 3 | # About 4 | This IP contains the Datum Technology Corporation CORE-V-MCU Camera Parallel Interface UVM Agent Self-Test Bench. 5 | 6 | # Block Diagram 7 | ![alt text](./docs/tb_block_diagram.svg "CORE-V-MCU Camera Parallel Interface UVM Agent Self-Test Bench") 8 | 9 | # Directory Structure 10 | * `bin` - Scripts, metadata and other miscellaneous files 11 | * `docs` - Documents describing the CORE-V-MCU Camera Parallel Interface UVM Agent Self-Test Bench 12 | * `examples` - Code samples for extending this Test Bench 13 | * `src` - Source code 14 | 15 | 16 | # Dependencies 17 | It is dependent on the following IP: 18 | 19 | * `datum/uvmx` 20 | * `datum/uvme_cvmcu_cpi_st` -------------------------------------------------------------------------------- /dv/agents/uvmt_cvmcu_cpi_st/TODOS.azure.csv: -------------------------------------------------------------------------------- 1 | Work Item Type,Title,Priority 2 | Issue,Describe CORE-V-MCU Camera Parallel Interface UVM Agent Self-Test Bench",1 3 | Issue,Implement or remove uvmt_cvmcu_cpi_st_test_cfg_c::post_randomize_work(),1 4 | -------------------------------------------------------------------------------- /dv/agents/uvmt_cvmcu_cpi_st/TODOS.github.csv: -------------------------------------------------------------------------------- 1 | title,description,assignee,state,milestone,labels 2 | Describe CORE-V-MCU Camera Parallel Interface UVM Agent Self-Test Bench",ip.yml,,open,, 3 | Implement or remove uvmt_cvmcu_cpi_st_test_cfg_c::post_randomize_work(),uvmt_cvmcu_cpi_st_test_cfg.sv,,open,, 4 | -------------------------------------------------------------------------------- /dv/agents/uvmt_cvmcu_cpi_st/TODOS.gitlab.csv: -------------------------------------------------------------------------------- 1 | title,description,due_date 2 | Describe CORE-V-MCU Camera Parallel Interface UVM Agent Self-Test Bench",ip.yml, 3 | Implement or remove uvmt_cvmcu_cpi_st_test_cfg_c::post_randomize_work(),uvmt_cvmcu_cpi_st_test_cfg.sv, 4 | -------------------------------------------------------------------------------- /dv/agents/uvmt_cvmcu_cpi_st/TODOS.jira.csv: -------------------------------------------------------------------------------- 1 | IssueType,Issue ID,Parent ID,Status,Summary,Component,Description 2 | task,0,,To Do,Describe CORE-V-MCU Camera Parallel Interface UVM Agent Self-Test Bench",uvmt_cvmcu_cpi_st,ip.yml, 3 | task,1,,To Do,Implement or remove uvmt_cvmcu_cpi_st_test_cfg_c::post_randomize_work(),uvmt_cvmcu_cpi_st,uvmt_cvmcu_cpi_st_test_cfg.sv, 4 | -------------------------------------------------------------------------------- /dv/agents/uvmt_cvmcu_cpi_st/docs/dev_guide.md: -------------------------------------------------------------------------------- 1 | @page uvmt_cvmcu_cpi_st_dev_guide Developer Guide 2 | @htmlonly 3 |
4 | @endhtmlonly 5 | 6 | 7 | @tableofcontents 8 | 9 | 10 | @section uvmt_cvmcu_cpi_st_dev_guide_license_agreement License Agreement 11 | © Copyright 2023 Datum Technology Corporation 12 | 13 | All rights reserved. 14 | 15 | 16 | @section uvmt_cvmcu_cpi_st_dev_guide_revision_history Revision History 17 | Revision | Date | Description 18 | --------- | ---- | ----------- 19 | 1.0 | 2023// | Initial Version 20 | 21 | @subsection uvmt_cvmcu_cpi_st_dev_guide_description Description 22 | 23 | 24 | @section uvmt_cvmcu_cpi_st_dev_guide_definitions Definitions 25 | Symbol | Definition 26 | ------ | ---------- 27 | 'SYMBOL' | Definition 28 | 29 | 30 | @section uvmt_cvmcu_cpi_st_dev_guide_contents Contents 31 | 32 | 33 | @htmlonly 34 |
35 | @endhtmlonly -------------------------------------------------------------------------------- /dv/agents/uvmt_cvmcu_cpi_st/docs/tb_block_diagram.vsdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openhwgroup/core-v-mcu-uvm/9319c7ccf4e7eece2b7ecabd24998d7c0657a7b0/dv/agents/uvmt_cvmcu_cpi_st/docs/tb_block_diagram.vsdx -------------------------------------------------------------------------------- /dv/agents/uvmt_cvmcu_cpi_st/docs/user_guide.md: -------------------------------------------------------------------------------- 1 | @page uvmt_cvmcu_cpi_st_user_guide User Guide 2 | @htmlonly 3 |
4 | @endhtmlonly 5 | 6 | 7 | @tableofcontents 8 | 9 | 10 | @section uvmt_cvmcu_cpi_st_user_guide_license_agreement License Agreement 11 | © Copyright 2023 Datum Technology Corporation 12 | 13 | All rights reserved. 14 | 15 | 16 | @section uvmt_cvmcu_cpi_st_user_guide_revision_history Revision History 17 | Revision | Date | Description 18 | --------- | ---- | ----------- 19 | 1.0 | 2023// | Initial Version 20 | 21 | @subsection uvmt_cvmcu_cpi_st_user_guide_description Description 22 | 23 | 24 | @section uvmt_cvmcu_cpi_st_user_guide_definitions Definitions 25 | Symbol | Definition 26 | ------ | ---------- 27 | 'SYMBOL' | Definition 28 | 29 | 30 | @section uvmt_cvmcu_cpi_st_user_guide_contents Contents 31 | 32 | 33 | @htmlonly 34 |
35 | @endhtmlonly -------------------------------------------------------------------------------- /dv/agents/uvmt_cvmcu_cpi_st/src/uvmt_cvmcu_cpi_st_base_test_workarounds.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMT_CVMCU_CPI_ST_BASE_TEST_WORKAROUNDS_SV__ 7 | `define __UVMT_CVMCU_CPI_ST_BASE_TEST_WORKAROUNDS_SV__ 8 | 9 | 10 | // Temporary configuration constraints belong here (this file should be empty by the end of the project). 11 | 12 | 13 | `endif // __UVMT_CVMCU_CPI_ST_BASE_TEST_WORKAROUNDS_SV__ -------------------------------------------------------------------------------- /dv/agents/uvmt_cvmcu_cpi_st/src/uvmt_cvmcu_cpi_st_constants.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMT_CVMCU_CPI_ST_CONSTANTS_SV__ 7 | `define __UVMT_CVMCU_CPI_ST_CONSTANTS_SV__ 8 | 9 | 10 | const int unsigned uvmt_cvmcu_cpi_st_default_clk_i_frequency = 100_000_000; ///< Default Clock frequency (100.0Mhz) 11 | const int unsigned uvmt_cvmcu_cpi_st_default_startup_timeout = 10_000; ///< Default Heartbeat Monitor startup timeout in ns 12 | const int unsigned uvmt_cvmcu_cpi_st_default_heartbeat_period = 1_000; ///< Default Heartbeat Monitor period in ns 13 | const int unsigned uvmt_cvmcu_cpi_st_default_heartbeat_refresh_period = 5_000; ///< Default Heartbeat Monitor refresh period in ns 14 | const int unsigned uvmt_cvmcu_cpi_st_default_simulation_timeout = 1_000_000; ///< Default Watchdog Timer simulation timeout in ns 15 | 16 | 17 | `endif // __UVMT_CVMCU_CPI_ST_CONSTANTS_SV__ -------------------------------------------------------------------------------- /dv/agents/uvmt_cvmcu_cpi_st/src/uvmt_cvmcu_cpi_st_ftdecs.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMT_CVMCU_CPI_ST_FTDECS_SV__ 7 | `define __UVMT_CVMCU_CPI_ST_FTDECS_SV__ 8 | 9 | 10 | `endif // __UVMT_CVMCU_CPI_ST_FTDECS_SV__ -------------------------------------------------------------------------------- /dv/agents/uvmt_cvmcu_cpi_st/src/uvmt_cvmcu_cpi_st_macros.svh: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMT_CVMCU_CPI_ST_MACROS_SV__ 7 | `define __UVMT_CVMCU_CPI_ST_MACROS_SV__ 8 | 9 | 10 | `ifndef UVMT_CVMCU_CPI_ST_DATA_WIDTH 11 | `define UVMT_CVMCU_CPI_ST_DATA_WIDTH 12 12 | `endif 13 | 14 | 15 | 16 | `endif // __UVMT_CVMCU_CPI_ST_MACROS_SV__ -------------------------------------------------------------------------------- /dv/agents/uvmt_cvmcu_cpi_st/src/uvmt_cvmcu_cpi_st_tdefs.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMT_CVMCU_CPI_ST_TDEFS_SV__ 7 | `define __UVMT_CVMCU_CPI_ST_TDEFS_SV__ 8 | 9 | 10 | // Add enums and structs here 11 | // Ex: typedef bit [(`UVMT__ST_ABC_MAX_WIDTH-1):0] uvmt_cvmcu_cpi_st_abc_b_t; ///< Describe me! 12 | // Ex: /* 13 | // * Describe me! 14 | // */ 15 | // typedef enum { 16 | // UVMT__ST_EX_ABC 17 | // } uvmt_cvmcu_cpi_st_ex_enum; 18 | // Ex: /* 19 | // * Describe me! 20 | // */ 21 | // typedef struct { 22 | // bit [2:0] abc; 23 | // logic xyz; 24 | // } uvmt_cvmcu_cpi_st_ex_struct; 25 | 26 | 27 | `endif // __UVMT_CVMCU_CPI_ST_TDEFS_SV__ -------------------------------------------------------------------------------- /dv/agents/uvmt_cvmcu_dbg_st/.gitignore: -------------------------------------------------------------------------------- 1 | docs/dox_out 2 | ip.shrinkwrap.yml -------------------------------------------------------------------------------- /dv/agents/uvmt_cvmcu_dbg_st/README.md: -------------------------------------------------------------------------------- 1 | # Datum Technology Corporation CORE-V-MCU Debug Interface UVM Agent Self-Test Bench 2 | 3 | # About 4 | This IP contains the Datum Technology Corporation CORE-V-MCU Debug Interface UVM Agent Self-Test Bench. 5 | 6 | # Block Diagram 7 | ![alt text](./docs/tb_block_diagram.svg "CORE-V-MCU Debug Interface UVM Agent Self-Test Bench") 8 | 9 | # Directory Structure 10 | * `bin` - Scripts, metadata and other miscellaneous files 11 | * `docs` - Documents describing the CORE-V-MCU Debug Interface UVM Agent Self-Test Bench 12 | * `examples` - Code samples for extending this Test Bench 13 | * `src` - Source code 14 | 15 | 16 | # Dependencies 17 | It is dependent on the following IP: 18 | 19 | * `datum/uvmx` 20 | * `datum/uvme_cvmcu_dbg_st` -------------------------------------------------------------------------------- /dv/agents/uvmt_cvmcu_dbg_st/TODOS.azure.csv: -------------------------------------------------------------------------------- 1 | Work Item Type,Title,Priority 2 | Issue,Describe CORE-V-MCU Debug Interface UVM Agent Self-Test Bench",1 3 | Issue,Implement or remove uvmt_cvmcu_dbg_st_test_cfg_c::post_randomize_work(),1 4 | -------------------------------------------------------------------------------- /dv/agents/uvmt_cvmcu_dbg_st/TODOS.github.csv: -------------------------------------------------------------------------------- 1 | title,description,assignee,state,milestone,labels 2 | Describe CORE-V-MCU Debug Interface UVM Agent Self-Test Bench",ip.yml,,open,, 3 | Implement or remove uvmt_cvmcu_dbg_st_test_cfg_c::post_randomize_work(),uvmt_cvmcu_dbg_st_test_cfg.sv,,open,, 4 | -------------------------------------------------------------------------------- /dv/agents/uvmt_cvmcu_dbg_st/TODOS.gitlab.csv: -------------------------------------------------------------------------------- 1 | title,description,due_date 2 | Describe CORE-V-MCU Debug Interface UVM Agent Self-Test Bench",ip.yml, 3 | Implement or remove uvmt_cvmcu_dbg_st_test_cfg_c::post_randomize_work(),uvmt_cvmcu_dbg_st_test_cfg.sv, 4 | -------------------------------------------------------------------------------- /dv/agents/uvmt_cvmcu_dbg_st/TODOS.jira.csv: -------------------------------------------------------------------------------- 1 | IssueType,Issue ID,Parent ID,Status,Summary,Component,Description 2 | task,0,,To Do,Describe CORE-V-MCU Debug Interface UVM Agent Self-Test Bench",uvmt_cvmcu_dbg_st,ip.yml, 3 | task,1,,To Do,Implement or remove uvmt_cvmcu_dbg_st_test_cfg_c::post_randomize_work(),uvmt_cvmcu_dbg_st,uvmt_cvmcu_dbg_st_test_cfg.sv, 4 | -------------------------------------------------------------------------------- /dv/agents/uvmt_cvmcu_dbg_st/docs/dev_guide.md: -------------------------------------------------------------------------------- 1 | @page uvmt_cvmcu_dbg_st_dev_guide Developer Guide 2 | @htmlonly 3 |
4 | @endhtmlonly 5 | 6 | 7 | @tableofcontents 8 | 9 | 10 | @section uvmt_cvmcu_dbg_st_dev_guide_license_agreement License Agreement 11 | © Copyright 2023 Datum Technology Corporation 12 | 13 | All rights reserved. 14 | 15 | 16 | @section uvmt_cvmcu_dbg_st_dev_guide_revision_history Revision History 17 | Revision | Date | Description 18 | --------- | ---- | ----------- 19 | 1.0 | 2023// | Initial Version 20 | 21 | @subsection uvmt_cvmcu_dbg_st_dev_guide_description Description 22 | 23 | 24 | @section uvmt_cvmcu_dbg_st_dev_guide_definitions Definitions 25 | Symbol | Definition 26 | ------ | ---------- 27 | 'SYMBOL' | Definition 28 | 29 | 30 | @section uvmt_cvmcu_dbg_st_dev_guide_contents Contents 31 | 32 | 33 | @htmlonly 34 |
35 | @endhtmlonly -------------------------------------------------------------------------------- /dv/agents/uvmt_cvmcu_dbg_st/docs/index.md: -------------------------------------------------------------------------------- 1 | @mainpage IP Information 2 | @htmlonly 3 |
4 | @endhtmlonly 5 | 6 | 7 | @tableofcontents 8 | 9 | 10 | @section license_agreement License Agreement 11 | © Copyright 2023 Datum Technology Corporation 12 | 13 | All rights reserved. 14 | 15 | 16 | @section ip_desc IP Description 17 | This IP contains the datum CORE-V-MCU Debug Interface UVM Agent Self-Test Bench. 18 | 19 | ![CORE-V-MCU Debug Interface UVM Agent Self-Test Bench Block Diagram](tb_block_diagram.svg) 20 | 21 | 22 | @section ip_documents Documents 23 | ID | Name | Version 24 | -- | ---- | ------- 25 | 001 | @subpage user_guide "User Guide" | 1.0 26 | 002 | @subpage dev_guide "Developer Guide" | 1.0 27 | 28 | 29 | @section ip_ref Reference 30 | * @ref uvmt_cvmcu_dbg_st_pkg 31 | * @ref uvmt_cvmcu_dbg_st_tests 32 | * @ref uvmt_cvmcu_dbg_st_tb 33 | * @ref uvmt_cvmcu_dbg_st_misc 34 | 35 | 36 | @section release_history Release History 37 | @subsection v1_0_0 2023// - 1.0.0 38 | - Initial release 39 | 40 | 41 | @htmlonly 42 |
43 | @endhtmlonly -------------------------------------------------------------------------------- /dv/agents/uvmt_cvmcu_dbg_st/docs/tb_block_diagram.vsdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openhwgroup/core-v-mcu-uvm/9319c7ccf4e7eece2b7ecabd24998d7c0657a7b0/dv/agents/uvmt_cvmcu_dbg_st/docs/tb_block_diagram.vsdx -------------------------------------------------------------------------------- /dv/agents/uvmt_cvmcu_dbg_st/docs/user_guide.md: -------------------------------------------------------------------------------- 1 | @page uvmt_cvmcu_dbg_st_user_guide User Guide 2 | @htmlonly 3 |
4 | @endhtmlonly 5 | 6 | 7 | @tableofcontents 8 | 9 | 10 | @section uvmt_cvmcu_dbg_st_user_guide_license_agreement License Agreement 11 | © Copyright 2023 Datum Technology Corporation 12 | 13 | All rights reserved. 14 | 15 | 16 | @section uvmt_cvmcu_dbg_st_user_guide_revision_history Revision History 17 | Revision | Date | Description 18 | --------- | ---- | ----------- 19 | 1.0 | 2023// | Initial Version 20 | 21 | @subsection uvmt_cvmcu_dbg_st_user_guide_description Description 22 | 23 | 24 | @section uvmt_cvmcu_dbg_st_user_guide_definitions Definitions 25 | Symbol | Definition 26 | ------ | ---------- 27 | 'SYMBOL' | Definition 28 | 29 | 30 | @section uvmt_cvmcu_dbg_st_user_guide_contents Contents 31 | 32 | 33 | @htmlonly 34 |
35 | @endhtmlonly -------------------------------------------------------------------------------- /dv/agents/uvmt_cvmcu_dbg_st/src/uvmt_cvmcu_dbg_st_base_test_workarounds.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMT_CVMCU_DBG_ST_BASE_TEST_WORKAROUNDS_SV__ 7 | `define __UVMT_CVMCU_DBG_ST_BASE_TEST_WORKAROUNDS_SV__ 8 | 9 | 10 | // Temporary configuration constraints belong here (this file should be empty by the end of the project). 11 | 12 | 13 | `endif // __UVMT_CVMCU_DBG_ST_BASE_TEST_WORKAROUNDS_SV__ -------------------------------------------------------------------------------- /dv/agents/uvmt_cvmcu_dbg_st/src/uvmt_cvmcu_dbg_st_constants.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMT_CVMCU_DBG_ST_CONSTANTS_SV__ 7 | `define __UVMT_CVMCU_DBG_ST_CONSTANTS_SV__ 8 | 9 | 10 | const int unsigned uvmt_cvmcu_dbg_st_default_clk_frequency = 100_000_000; ///< Default Slow frequency (100.0Mhz) 11 | const int unsigned uvmt_cvmcu_dbg_st_default_startup_timeout = 10_000; ///< Default Heartbeat Monitor startup timeout in ns 12 | const int unsigned uvmt_cvmcu_dbg_st_default_heartbeat_period = 1_000; ///< Default Heartbeat Monitor period in ns 13 | const int unsigned uvmt_cvmcu_dbg_st_default_heartbeat_refresh_period = 5_000; ///< Default Heartbeat Monitor refresh period in ns 14 | const int unsigned uvmt_cvmcu_dbg_st_default_simulation_timeout = 1_000_000; ///< Default Watchdog Timer simulation timeout in ns 15 | 16 | 17 | `endif // __UVMT_CVMCU_DBG_ST_CONSTANTS_SV__ -------------------------------------------------------------------------------- /dv/agents/uvmt_cvmcu_dbg_st/src/uvmt_cvmcu_dbg_st_ftdecs.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMT_CVMCU_DBG_ST_FTDECS_SV__ 7 | `define __UVMT_CVMCU_DBG_ST_FTDECS_SV__ 8 | 9 | 10 | `endif // __UVMT_CVMCU_DBG_ST_FTDECS_SV__ -------------------------------------------------------------------------------- /dv/agents/uvmt_cvmcu_dbg_st/src/uvmt_cvmcu_dbg_st_macros.svh: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMT_CVMCU_DBG_ST_MACROS_SV__ 7 | `define __UVMT_CVMCU_DBG_ST_MACROS_SV__ 8 | 9 | 10 | // Add preprocessor macros here 11 | // Ex: `ifndef UVMT_CVMCU_DBG_ST_ABC_WIDTH 12 | // `define UVMT_CVMCU_DBG_ST_ABC_WIDTH 32 13 | // `endif 14 | 15 | 16 | 17 | `endif // __UVMT_CVMCU_DBG_ST_MACROS_SV__ -------------------------------------------------------------------------------- /dv/agents/uvmt_cvmcu_dbg_st/src/uvmt_cvmcu_dbg_st_tdefs.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMT_CVMCU_DBG_ST_TDEFS_SV__ 7 | `define __UVMT_CVMCU_DBG_ST_TDEFS_SV__ 8 | 9 | 10 | // Add enums and structs here 11 | // Ex: typedef bit [(`UVMT__ST_ABC_MAX_WIDTH-1):0] uvmt_cvmcu_dbg_st_abc_b_t; ///< Describe me! 12 | // Ex: /* 13 | // * Describe me! 14 | // */ 15 | // typedef enum { 16 | // UVMT__ST_EX_ABC 17 | // } uvmt_cvmcu_dbg_st_ex_enum; 18 | // Ex: /* 19 | // * Describe me! 20 | // */ 21 | // typedef struct { 22 | // bit [2:0] abc; 23 | // logic xyz; 24 | // } uvmt_cvmcu_dbg_st_ex_struct; 25 | 26 | 27 | `endif // __UVMT_CVMCU_DBG_ST_TDEFS_SV__ -------------------------------------------------------------------------------- /dv/agents/uvmt_cvmcu_event_st/.gitignore: -------------------------------------------------------------------------------- 1 | docs/dox_out 2 | ip.shrinkwrap.yml -------------------------------------------------------------------------------- /dv/agents/uvmt_cvmcu_event_st/README.md: -------------------------------------------------------------------------------- 1 | # Datum Technology Corporation CORE-V-MCU Event Interface UVM Agent Self-Test Bench 2 | 3 | # About 4 | This IP contains the Datum Technology Corporation CORE-V-MCU Event Interface UVM Agent Self-Test Bench. 5 | 6 | # Block Diagram 7 | ![alt text](./docs/tb_block_diagram.svg "CORE-V-MCU Event Interface UVM Agent Self-Test Bench") 8 | 9 | # Directory Structure 10 | * `bin` - Scripts, metadata and other miscellaneous files 11 | * `docs` - Documents describing the CORE-V-MCU Event Interface UVM Agent Self-Test Bench 12 | * `examples` - Code samples for extending this Test Bench 13 | * `src` - Source code 14 | 15 | 16 | # Dependencies 17 | It is dependent on the following IP: 18 | 19 | * `datum/uvmx` 20 | * `datum/uvme_cvmcu_event_st` -------------------------------------------------------------------------------- /dv/agents/uvmt_cvmcu_event_st/TODOS.azure.csv: -------------------------------------------------------------------------------- 1 | Work Item Type,Title,Priority 2 | Issue,Describe CORE-V-MCU Event Interface UVM Agent Self-Test Bench",1 3 | Issue,Implement or remove uvmt_cvmcu_event_st_test_cfg_c::post_randomize_work(),1 4 | -------------------------------------------------------------------------------- /dv/agents/uvmt_cvmcu_event_st/TODOS.github.csv: -------------------------------------------------------------------------------- 1 | title,description,assignee,state,milestone,labels 2 | Describe CORE-V-MCU Event Interface UVM Agent Self-Test Bench",ip.yml,,open,, 3 | Implement or remove uvmt_cvmcu_event_st_test_cfg_c::post_randomize_work(),uvmt_cvmcu_event_st_test_cfg.sv,,open,, 4 | -------------------------------------------------------------------------------- /dv/agents/uvmt_cvmcu_event_st/TODOS.gitlab.csv: -------------------------------------------------------------------------------- 1 | title,description,due_date 2 | Describe CORE-V-MCU Event Interface UVM Agent Self-Test Bench",ip.yml, 3 | Implement or remove uvmt_cvmcu_event_st_test_cfg_c::post_randomize_work(),uvmt_cvmcu_event_st_test_cfg.sv, 4 | -------------------------------------------------------------------------------- /dv/agents/uvmt_cvmcu_event_st/TODOS.jira.csv: -------------------------------------------------------------------------------- 1 | IssueType,Issue ID,Parent ID,Status,Summary,Component,Description 2 | task,0,,To Do,Describe CORE-V-MCU Event Interface UVM Agent Self-Test Bench",uvmt_cvmcu_event_st,ip.yml, 3 | task,1,,To Do,Implement or remove uvmt_cvmcu_event_st_test_cfg_c::post_randomize_work(),uvmt_cvmcu_event_st,uvmt_cvmcu_event_st_test_cfg.sv, 4 | -------------------------------------------------------------------------------- /dv/agents/uvmt_cvmcu_event_st/docs/dev_guide.md: -------------------------------------------------------------------------------- 1 | @page uvmt_cvmcu_event_st_dev_guide Developer Guide 2 | @htmlonly 3 |
4 | @endhtmlonly 5 | 6 | 7 | @tableofcontents 8 | 9 | 10 | @section uvmt_cvmcu_event_st_dev_guide_license_agreement License Agreement 11 | © Copyright 2023 Datum Technology Corporation 12 | 13 | All rights reserved. 14 | 15 | 16 | @section uvmt_cvmcu_event_st_dev_guide_revision_history Revision History 17 | Revision | Date | Description 18 | --------- | ---- | ----------- 19 | 1.0 | 2023// | Initial Version 20 | 21 | @subsection uvmt_cvmcu_event_st_dev_guide_description Description 22 | 23 | 24 | @section uvmt_cvmcu_event_st_dev_guide_definitions Definitions 25 | Symbol | Definition 26 | ------ | ---------- 27 | 'SYMBOL' | Definition 28 | 29 | 30 | @section uvmt_cvmcu_event_st_dev_guide_contents Contents 31 | 32 | 33 | @htmlonly 34 |
35 | @endhtmlonly -------------------------------------------------------------------------------- /dv/agents/uvmt_cvmcu_event_st/docs/index.md: -------------------------------------------------------------------------------- 1 | @mainpage IP Information 2 | @htmlonly 3 |
4 | @endhtmlonly 5 | 6 | 7 | @tableofcontents 8 | 9 | 10 | @section license_agreement License Agreement 11 | © Copyright 2023 Datum Technology Corporation 12 | 13 | All rights reserved. 14 | 15 | 16 | @section ip_desc IP Description 17 | This IP contains the datum CORE-V-MCU Event Interface UVM Agent Self-Test Bench. 18 | 19 | ![CORE-V-MCU Event Interface UVM Agent Self-Test Bench Block Diagram](tb_block_diagram.svg) 20 | 21 | 22 | @section ip_documents Documents 23 | ID | Name | Version 24 | -- | ---- | ------- 25 | 001 | @subpage user_guide "User Guide" | 1.0 26 | 002 | @subpage dev_guide "Developer Guide" | 1.0 27 | 28 | 29 | @section ip_ref Reference 30 | * @ref uvmt_cvmcu_event_st_pkg 31 | * @ref uvmt_cvmcu_event_st_tests 32 | * @ref uvmt_cvmcu_event_st_tb 33 | * @ref uvmt_cvmcu_event_st_misc 34 | 35 | 36 | @section release_history Release History 37 | @subsection v1_0_0 2023// - 1.0.0 38 | - Initial release 39 | 40 | 41 | @htmlonly 42 |
43 | @endhtmlonly -------------------------------------------------------------------------------- /dv/agents/uvmt_cvmcu_event_st/docs/tb_block_diagram.vsdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openhwgroup/core-v-mcu-uvm/9319c7ccf4e7eece2b7ecabd24998d7c0657a7b0/dv/agents/uvmt_cvmcu_event_st/docs/tb_block_diagram.vsdx -------------------------------------------------------------------------------- /dv/agents/uvmt_cvmcu_event_st/docs/user_guide.md: -------------------------------------------------------------------------------- 1 | @page uvmt_cvmcu_event_st_user_guide User Guide 2 | @htmlonly 3 |
4 | @endhtmlonly 5 | 6 | 7 | @tableofcontents 8 | 9 | 10 | @section uvmt_cvmcu_event_st_user_guide_license_agreement License Agreement 11 | © Copyright 2023 Datum Technology Corporation 12 | 13 | All rights reserved. 14 | 15 | 16 | @section uvmt_cvmcu_event_st_user_guide_revision_history Revision History 17 | Revision | Date | Description 18 | --------- | ---- | ----------- 19 | 1.0 | 2023// | Initial Version 20 | 21 | @subsection uvmt_cvmcu_event_st_user_guide_description Description 22 | 23 | 24 | @section uvmt_cvmcu_event_st_user_guide_definitions Definitions 25 | Symbol | Definition 26 | ------ | ---------- 27 | 'SYMBOL' | Definition 28 | 29 | 30 | @section uvmt_cvmcu_event_st_user_guide_contents Contents 31 | 32 | 33 | @htmlonly 34 |
35 | @endhtmlonly -------------------------------------------------------------------------------- /dv/agents/uvmt_cvmcu_event_st/src/uvmt_cvmcu_event_st_base_test_workarounds.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMT_CVMCU_EVENT_ST_BASE_TEST_WORKAROUNDS_SV__ 7 | `define __UVMT_CVMCU_EVENT_ST_BASE_TEST_WORKAROUNDS_SV__ 8 | 9 | 10 | // Temporary configuration constraints belong here (this file should be empty by the end of the project). 11 | 12 | 13 | `endif // __UVMT_CVMCU_EVENT_ST_BASE_TEST_WORKAROUNDS_SV__ -------------------------------------------------------------------------------- /dv/agents/uvmt_cvmcu_event_st/src/uvmt_cvmcu_event_st_ftdecs.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMT_CVMCU_EVENT_ST_FTDECS_SV__ 7 | `define __UVMT_CVMCU_EVENT_ST_FTDECS_SV__ 8 | 9 | 10 | `endif // __UVMT_CVMCU_EVENT_ST_FTDECS_SV__ -------------------------------------------------------------------------------- /dv/agents/uvmt_cvmcu_event_st/src/uvmt_cvmcu_event_st_macros.svh: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMT_CVMCU_EVENT_ST_MACROS_SV__ 7 | `define __UVMT_CVMCU_EVENT_ST_MACROS_SV__ 8 | 9 | 10 | // Add preprocessor macros here 11 | // Ex: `ifndef UVMT_CVMCU_EVENT_ST_ABC_WIDTH 12 | // `define UVMT_CVMCU_EVENT_ST_ABC_WIDTH 32 13 | // `endif 14 | 15 | 16 | 17 | `endif // __UVMT_CVMCU_EVENT_ST_MACROS_SV__ -------------------------------------------------------------------------------- /dv/agents/uvmt_cvmcu_event_st/src/uvmt_cvmcu_event_st_tdefs.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMT_CVMCU_EVENT_ST_TDEFS_SV__ 7 | `define __UVMT_CVMCU_EVENT_ST_TDEFS_SV__ 8 | 9 | 10 | // Add enums and structs here 11 | // Ex: typedef bit [(`UVMT__ST_ABC_MAX_WIDTH-1):0] uvmt_cvmcu_event_st_abc_b_t; ///< Describe me! 12 | // Ex: /* 13 | // * Describe me! 14 | // */ 15 | // typedef enum { 16 | // UVMT__ST_EX_ABC 17 | // } uvmt_cvmcu_event_st_ex_enum; 18 | // Ex: /* 19 | // * Describe me! 20 | // */ 21 | // typedef struct { 22 | // bit [2:0] abc; 23 | // logic xyz; 24 | // } uvmt_cvmcu_event_st_ex_struct; 25 | 26 | 27 | `endif // __UVMT_CVMCU_EVENT_ST_TDEFS_SV__ -------------------------------------------------------------------------------- /dv/blocks/uvma_adv_timer_b/.gitignore: -------------------------------------------------------------------------------- 1 | docs/dox_out 2 | ip.shrinkwrap.yml -------------------------------------------------------------------------------- /dv/blocks/uvma_adv_timer_b/README.md: -------------------------------------------------------------------------------- 1 | # datum Advanced timer counter Block UVM Agent 2 | 3 | 4 | ## About 5 | This IP contains the datum Advanced timer counter Block UVM Agent. 6 | 7 | 8 | ## Block Diagram 9 | ![alt text](./docs/agent_block_diagram.svg "Advanced timer counter Block UVM Agent Block Diagram") 10 | 11 | ## Directory Structure 12 | * `bin` - Scripts, metadata and other miscellaneous files 13 | * `docs` - Reference documentation 14 | * `examples` - Code samples for using and adding to this agent 15 | * `src` - Source code root 16 | 17 | > * `comps` - UVM Components 18 | > * `obj` - UVM Objects and Monitor Transactions 19 | > * `seq` - UVM Sequences and Sequence Items 20 | 21 | 22 | ## Dependencies 23 | It is dependent on the following IP: 24 | 25 | * `datum/uvmx` -------------------------------------------------------------------------------- /dv/blocks/uvma_adv_timer_b/TODOS.azure.csv: -------------------------------------------------------------------------------- 1 | Work Item Type,Title,Priority 2 | Issue,Describe Advanced timer counter UVM Agent",1 3 | Issue,Add assertions and/or functional coverage to uvme_adv_timer_b_chkr,1 4 | Issue,Describe uvma_adv_timer_b_in_drv_seq_c::drive_item(),1 5 | Issue,Implement uvma_adv_timer_b_in_drv_seq_c::drive(),1 6 | Issue,Implement or remove uvma_adv_timer_b_seq_item_c::rules_cons,1 7 | Issue,Implement or remove uvma_adv_timer_b_seq_item_c::post_randomize(),1 8 | Issue,Implement or remove uvma_adv_timer_b_seq_item_c::do_print(),1 9 | Issue,Implement uvma_adv_timer_b_mon_seq_c::monitor(),1 10 | Issue,Describe uvma_adv_timer_b_out_drv_seq_c::drive(),1 11 | Issue,Remove this line after implementing uvma_adv_timer_b_out_drv_seq_c::drive(),1 12 | Issue,Implement uvma_adv_timer_b_out_drv_seq_c::drive(),1 13 | Issue,Implement or remove uvma_adv_timer_b_cfg_c::post_randomize(),1 14 | Issue,Implement or remove uvma_adv_timer_b_mon_trn_c::do_compare(),1 15 | Issue,Implement or remove uvma_adv_timer_b_mon_trn_c::do_print(),1 16 | -------------------------------------------------------------------------------- /dv/blocks/uvma_adv_timer_b/docs/agent_block_diagram.vsdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openhwgroup/core-v-mcu-uvm/9319c7ccf4e7eece2b7ecabd24998d7c0657a7b0/dv/blocks/uvma_adv_timer_b/docs/agent_block_diagram.vsdx -------------------------------------------------------------------------------- /dv/blocks/uvma_adv_timer_b/docs/dev_guide.md: -------------------------------------------------------------------------------- 1 | @page uvma_adv_timer_b_dev_guide Developer Guide 2 | @htmlonly 3 |
4 | @endhtmlonly 5 | 6 | 7 | @tableofcontents 8 | 9 | 10 | @section uvma_adv_timer_b_dev_guide_license_agreement License Agreement 11 | © Copyright 2023 Datum Technology Corporation 12 | 13 | All rights reserved. 14 | 15 | 16 | @section uvma_adv_timer_b_dev_guide_revision_history Revision History 17 | Revision | Date | Description 18 | --------- | ---- | ----------- 19 | 1.0 | 2023/12/12 | Initial Version 20 | 21 | @subsection uvma_adv_timer_b_dev_guide_description Description 22 | 23 | 24 | @section uvma_adv_timer_b_dev_guide_definitions Definitions 25 | Symbol | Definition 26 | ------ | ---------- 27 | 'SYMBOL' | Definition 28 | 29 | 30 | @section uvma_adv_timer_b_dev_guide_contents Contents 31 | 32 | 33 | @htmlonly 34 |
35 | @endhtmlonly -------------------------------------------------------------------------------- /dv/blocks/uvma_adv_timer_b/docs/user_guide.md: -------------------------------------------------------------------------------- 1 | @page uvma_adv_timer_b_user_guide User Guide 2 | @htmlonly 3 |
4 | @endhtmlonly 5 | 6 | 7 | @tableofcontents 8 | 9 | 10 | @section uvma_adv_timer_b_user_guide_license_agreement License Agreement 11 | © Copyright 2023 Datum Technology Corporation 12 | 13 | All rights reserved. 14 | 15 | 16 | @section uvma_adv_timer_b_user_guide_revision_history Revision History 17 | Revision | Date | Description 18 | --------- | ---- | ----------- 19 | 1.0 | 2023/12/12 | Initial Version 20 | 21 | @subsection uvma_adv_timer_b_user_guide_description Description 22 | 23 | 24 | @section uvma_adv_timer_b_user_guide_definitions Definitions 25 | Symbol | Definition 26 | ------ | ---------- 27 | 'SYMBOL' | Definition 28 | 29 | 30 | @section uvma_adv_timer_b_user_guide_contents Contents 31 | 32 | 33 | @htmlonly 34 |
35 | @endhtmlonly -------------------------------------------------------------------------------- /dv/blocks/uvma_adv_timer_b/ip.yml: -------------------------------------------------------------------------------- 1 | ip: 2 | name: "uvma_adv_timer_b" 3 | vendor: "datum" 4 | version: "1.0.0" 5 | full-name: "Advanced timer counter UVM Agent" 6 | type: "DV" 7 | sub-type: "UVM Agent" 8 | sub-sub-type: "Simplex; Non-Layered" 9 | description: "TODO Describe Advanced timer counter UVM Agent" 10 | home-page: "" 11 | repo-uri: "" 12 | bugs: "" 13 | aliases: [] 14 | logo: "" 15 | block-diagram: "docs/agent_block_diagram.svg" 16 | languages: ["sv"] 17 | simulators-supported: 18 | mdc: "20230116.4.0" 19 | viv: "2022.2" 20 | tags: [] 21 | copyright-holders: ["Datum Technology Corporation"] 22 | licenses: ["All rights reserved."] 23 | 24 | dependencies: 25 | "datum/uvmx": "~1.0" 26 | 27 | structure: 28 | scripts-path : "bin" 29 | docs-path : "docs" 30 | examples-path: "examples" 31 | src-path : "src" 32 | 33 | hdl-src: 34 | directories: [".", "comps", "obj", "seq"] 35 | top-files: ["uvma_adv_timer_b_pkg.sv"] 36 | so-libs: [] 37 | -------------------------------------------------------------------------------- /dv/blocks/uvma_adv_timer_b/src/seq/uvma_adv_timer_b_base_seq.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMA_ADV_TIMER_B_BASE_SEQ_SV__ 7 | `define __UVMA_ADV_TIMER_B_BASE_SEQ_SV__ 8 | 9 | 10 | /** 11 | * Abstract Sequence from which all Advanced timer counter Agent Sequences must extend. 12 | * @ingroup uvma_adv_timer_b_seq 13 | */ 14 | class uvma_adv_timer_b_base_seq_c extends uvmx_agent_seq_c #( 15 | .T_CFG (uvma_adv_timer_b_cfg_c ), 16 | .T_CNTXT (uvma_adv_timer_b_cntxt_c ), 17 | .T_SQR (uvma_adv_timer_b_sqr_c ), 18 | .T_SEQ_ITEM(uvma_adv_timer_b_seq_item_c) 19 | ); 20 | 21 | `uvm_object_utils(uvma_adv_timer_b_base_seq_c) 22 | 23 | /** 24 | * Default constructor. 25 | */ 26 | function new(string name="uvma_adv_timer_b_base_seq"); 27 | super.new(name); 28 | endfunction 29 | 30 | endclass 31 | 32 | 33 | `endif // __UVMA_ADV_TIMER_B_BASE_SEQ_SV__ -------------------------------------------------------------------------------- /dv/blocks/uvma_adv_timer_b/src/uvma_adv_timer_b_constants.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMA_ADV_TIMER_B_CONSTANTS_SV__ 7 | `define __UVMA_ADV_TIMER_B_CONSTANTS_SV__ 8 | 9 | 10 | const int unsigned uvma_adv_timer_b_default_num_bits = 16; ///< Default width. Measured in bits (b). 11 | const int unsigned uvma_adv_timer_b_default_n_extsig = 32; ///< Default width. Measured in bits (b). 12 | 13 | 14 | `endif // __UVMA_ADV_TIMER_B_CONSTANTS_SV__ -------------------------------------------------------------------------------- /dv/blocks/uvma_adv_timer_b/src/uvma_adv_timer_b_ftdecs.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMA_ADV_TIMER_B_FTDECS_SV__ 7 | `define __UVMA_ADV_TIMER_B_FTDECS_SV__ 8 | 9 | 10 | typedef class uvma_adv_timer_b_cfg_c ; 11 | typedef class uvma_adv_timer_b_cntxt_c ; 12 | typedef class uvma_adv_timer_b_seq_item_c ; 13 | typedef class uvma_adv_timer_b_cp_seq_item_c ; 14 | typedef class uvma_adv_timer_b_dpi_seq_item_c; 15 | typedef class uvma_adv_timer_b_dpo_seq_item_c; 16 | typedef class uvma_adv_timer_b_mon_seq_c ; 17 | typedef class uvma_adv_timer_b_idle_seq_c ; 18 | typedef class uvma_adv_timer_b_in_drv_seq_c ; 19 | typedef class uvma_adv_timer_b_out_drv_seq_c ; 20 | 21 | 22 | `endif // __UVMA_ADV_TIMER_B_FTDECS_SV__ -------------------------------------------------------------------------------- /dv/blocks/uvma_adv_timer_b/src/uvma_adv_timer_b_if_chkr.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMA_ADV_TIMER_B_IF_CHKR_SV__ 7 | `define __UVMA_ADV_TIMER_B_IF_CHKR_SV__ 8 | 9 | 10 | /** 11 | * Module encapsulating assertions targeting Advanced timer counter Block Agent interface. 12 | * @ingroup uvma_adv_timer_b_pkg 13 | */ 14 | module uvma_adv_timer_b_if_chkr ( 15 | uvma_adv_timer_b_if agent_if ///< Target interface 16 | ); 17 | 18 | // TODO Add assertions and/or functional coverage to uvme_adv_timer_b_chkr 19 | 20 | endmodule 21 | 22 | 23 | `endif // __UVMA_ADV_TIMER_B_IF_CHKR_SV__ -------------------------------------------------------------------------------- /dv/blocks/uvma_adv_timer_b/src/uvma_adv_timer_b_macros.svh: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMA_ADV_TIMER_B_MACROS_SVH__ 7 | `define __UVMA_ADV_TIMER_B_MACROS_SVH__ 8 | 9 | 10 | `define UVMA_ADV_TIMER_B_NUM_BITS_MIN 16 11 | `define UVMA_ADV_TIMER_B_NUM_BITS_MAX 64 12 | `define UVMA_ADV_TIMER_B_N_EXTSIG_MIN 32 13 | `define UVMA_ADV_TIMER_B_N_EXTSIG_MAX 64 14 | 15 | 16 | `endif // __UVMA_ADV_TIMER_B_MACROS_SVH__ -------------------------------------------------------------------------------- /dv/blocks/uvma_tcounter_b/.gitignore: -------------------------------------------------------------------------------- 1 | docs/dox_out 2 | ip.shrinkwrap.yml -------------------------------------------------------------------------------- /dv/blocks/uvma_tcounter_b/README.md: -------------------------------------------------------------------------------- 1 | # datum Timer unit counter Block UVM Agent 2 | 3 | 4 | ## About 5 | This IP contains the datum Timer unit counter Block UVM Agent. 6 | 7 | 8 | ## Block Diagram 9 | ![alt text](./docs/agent_block_diagram.svg "Timer unit counter Block UVM Agent Block Diagram") 10 | 11 | ## Directory Structure 12 | * `bin` - Scripts, metadata and other miscellaneous files 13 | * `docs` - Reference documentation 14 | * `examples` - Code samples for using and adding to this agent 15 | * `src` - Source code root 16 | 17 | > * `comps` - UVM Components 18 | > * `obj` - UVM Objects and Monitor Transactions 19 | > * `seq` - UVM Sequences and Sequence Items 20 | 21 | 22 | ## Dependencies 23 | It is dependent on the following IP: 24 | 25 | * `datum/uvmx` -------------------------------------------------------------------------------- /dv/blocks/uvma_tcounter_b/TODOS.azure.csv: -------------------------------------------------------------------------------- 1 | Work Item Type,Title,Priority 2 | Issue,Describe Timer unit counter UVM Agent",1 3 | Issue,Add assertions and/or functional coverage to uvme_tcounter_b_chkr,1 4 | Issue,Implement uvma_tcounter_b_mon_seq_c::monitor(),1 5 | Issue,Implement or remove uvma_tcounter_b_seq_item_c::rules_cons,1 6 | Issue,Implement or remove uvma_tcounter_b_seq_item_c::post_randomize(),1 7 | Issue,Implement or remove uvma_tcounter_b_seq_item_c::do_print(),1 8 | Issue,Describe uvma_tcounter_b_in_drv_seq_c::drive_item(),1 9 | Issue,Implement uvma_tcounter_b_in_drv_seq_c::drive(),1 10 | Issue,Describe uvma_tcounter_b_out_drv_seq_c::drive(),1 11 | Issue,Remove this line after implementing uvma_tcounter_b_out_drv_seq_c::drive(),1 12 | Issue,Implement uvma_tcounter_b_out_drv_seq_c::drive(),1 13 | Issue,Implement or remove uvma_tcounter_b_mon_trn_c::do_compare(),1 14 | Issue,Implement or remove uvma_tcounter_b_mon_trn_c::do_print(),1 15 | Issue,Implement or remove uvma_tcounter_b_cfg_c::post_randomize(),1 16 | -------------------------------------------------------------------------------- /dv/blocks/uvma_tcounter_b/docs/agent_block_diagram.vsdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openhwgroup/core-v-mcu-uvm/9319c7ccf4e7eece2b7ecabd24998d7c0657a7b0/dv/blocks/uvma_tcounter_b/docs/agent_block_diagram.vsdx -------------------------------------------------------------------------------- /dv/blocks/uvma_tcounter_b/docs/dev_guide.md: -------------------------------------------------------------------------------- 1 | @page uvma_tcounter_b_dev_guide Developer Guide 2 | @htmlonly 3 |
4 | @endhtmlonly 5 | 6 | 7 | @tableofcontents 8 | 9 | 10 | @section uvma_tcounter_b_dev_guide_license_agreement License Agreement 11 | © Copyright 2023 Datum Technology Corporation 12 | 13 | All rights reserved. 14 | 15 | 16 | @section uvma_tcounter_b_dev_guide_revision_history Revision History 17 | Revision | Date | Description 18 | --------- | ---- | ----------- 19 | 1.0 | 2023/12/12 | Initial Version 20 | 21 | @subsection uvma_tcounter_b_dev_guide_description Description 22 | 23 | 24 | @section uvma_tcounter_b_dev_guide_definitions Definitions 25 | Symbol | Definition 26 | ------ | ---------- 27 | 'SYMBOL' | Definition 28 | 29 | 30 | @section uvma_tcounter_b_dev_guide_contents Contents 31 | 32 | 33 | @htmlonly 34 |
35 | @endhtmlonly -------------------------------------------------------------------------------- /dv/blocks/uvma_tcounter_b/docs/user_guide.md: -------------------------------------------------------------------------------- 1 | @page uvma_tcounter_b_user_guide User Guide 2 | @htmlonly 3 |
4 | @endhtmlonly 5 | 6 | 7 | @tableofcontents 8 | 9 | 10 | @section uvma_tcounter_b_user_guide_license_agreement License Agreement 11 | © Copyright 2023 Datum Technology Corporation 12 | 13 | All rights reserved. 14 | 15 | 16 | @section uvma_tcounter_b_user_guide_revision_history Revision History 17 | Revision | Date | Description 18 | --------- | ---- | ----------- 19 | 1.0 | 2023/12/12 | Initial Version 20 | 21 | @subsection uvma_tcounter_b_user_guide_description Description 22 | 23 | 24 | @section uvma_tcounter_b_user_guide_definitions Definitions 25 | Symbol | Definition 26 | ------ | ---------- 27 | 'SYMBOL' | Definition 28 | 29 | 30 | @section uvma_tcounter_b_user_guide_contents Contents 31 | 32 | 33 | @htmlonly 34 |
35 | @endhtmlonly -------------------------------------------------------------------------------- /dv/blocks/uvma_tcounter_b/ip.yml: -------------------------------------------------------------------------------- 1 | ip: 2 | name: "uvma_tcounter_b" 3 | vendor: "datum" 4 | version: "1.0.0" 5 | full-name: "Timer unit counter UVM Agent" 6 | type: "DV" 7 | sub-type: "UVM Agent" 8 | sub-sub-type: "Simplex; Non-Layered" 9 | description: "TODO Describe Timer unit counter UVM Agent" 10 | home-page: "" 11 | repo-uri: "" 12 | bugs: "" 13 | aliases: [] 14 | logo: "" 15 | block-diagram: "docs/agent_block_diagram.svg" 16 | languages: ["sv"] 17 | simulators-supported: 18 | mdc: "20230116.4.0" 19 | viv: "2022.2" 20 | tags: [] 21 | copyright-holders: ["Datum Technology Corporation"] 22 | licenses: ["All rights reserved."] 23 | 24 | dependencies: 25 | "datum/uvmx": "~1.0" 26 | 27 | structure: 28 | scripts-path : "bin" 29 | docs-path : "docs" 30 | examples-path: "examples" 31 | src-path : "src" 32 | 33 | hdl-src: 34 | directories: [".", "comps", "obj", "seq"] 35 | top-files: ["uvma_tcounter_b_pkg.sv"] 36 | so-libs: [] 37 | -------------------------------------------------------------------------------- /dv/blocks/uvma_tcounter_b/src/seq/uvma_tcounter_b_base_seq.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMA_TCOUNTER_B_BASE_SEQ_SV__ 7 | `define __UVMA_TCOUNTER_B_BASE_SEQ_SV__ 8 | 9 | 10 | /** 11 | * Abstract Sequence from which all Timer unit counter Agent Sequences must extend. 12 | * @ingroup uvma_tcounter_b_seq 13 | */ 14 | class uvma_tcounter_b_base_seq_c extends uvmx_agent_seq_c #( 15 | .T_CFG (uvma_tcounter_b_cfg_c ), 16 | .T_CNTXT (uvma_tcounter_b_cntxt_c ), 17 | .T_SQR (uvma_tcounter_b_sqr_c ), 18 | .T_SEQ_ITEM(uvma_tcounter_b_seq_item_c) 19 | ); 20 | 21 | `uvm_object_utils(uvma_tcounter_b_base_seq_c) 22 | 23 | /** 24 | * Default constructor. 25 | */ 26 | function new(string name="uvma_tcounter_b_base_seq"); 27 | super.new(name); 28 | endfunction 29 | 30 | endclass 31 | 32 | 33 | `endif // __UVMA_TCOUNTER_B_BASE_SEQ_SV__ -------------------------------------------------------------------------------- /dv/blocks/uvma_tcounter_b/src/uvma_tcounter_b_constants.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMA_TCOUNTER_B_CONSTANTS_SV__ 7 | `define __UVMA_TCOUNTER_B_CONSTANTS_SV__ 8 | 9 | 10 | 11 | 12 | `endif // __UVMA_TCOUNTER_B_CONSTANTS_SV__ -------------------------------------------------------------------------------- /dv/blocks/uvma_tcounter_b/src/uvma_tcounter_b_ftdecs.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMA_TCOUNTER_B_FTDECS_SV__ 7 | `define __UVMA_TCOUNTER_B_FTDECS_SV__ 8 | 9 | 10 | typedef class uvma_tcounter_b_cfg_c ; 11 | typedef class uvma_tcounter_b_cntxt_c ; 12 | typedef class uvma_tcounter_b_seq_item_c ; 13 | typedef class uvma_tcounter_b_cp_seq_item_c ; 14 | typedef class uvma_tcounter_b_dpi_seq_item_c; 15 | typedef class uvma_tcounter_b_dpo_seq_item_c; 16 | typedef class uvma_tcounter_b_mon_seq_c ; 17 | typedef class uvma_tcounter_b_idle_seq_c ; 18 | typedef class uvma_tcounter_b_in_drv_seq_c ; 19 | typedef class uvma_tcounter_b_out_drv_seq_c ; 20 | 21 | 22 | `endif // __UVMA_TCOUNTER_B_FTDECS_SV__ -------------------------------------------------------------------------------- /dv/blocks/uvma_tcounter_b/src/uvma_tcounter_b_if_chkr.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMA_TCOUNTER_B_IF_CHKR_SV__ 7 | `define __UVMA_TCOUNTER_B_IF_CHKR_SV__ 8 | 9 | 10 | /** 11 | * Module encapsulating assertions targeting Timer unit counter Block Agent interface. 12 | * @ingroup uvma_tcounter_b_pkg 13 | */ 14 | module uvma_tcounter_b_if_chkr ( 15 | uvma_tcounter_b_if agent_if ///< Target interface 16 | ); 17 | 18 | // TODO Add assertions and/or functional coverage to uvme_tcounter_b_chkr 19 | 20 | endmodule 21 | 22 | 23 | `endif // __UVMA_TCOUNTER_B_IF_CHKR_SV__ -------------------------------------------------------------------------------- /dv/blocks/uvma_tcounter_b/src/uvma_tcounter_b_macros.svh: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMA_TCOUNTER_B_MACROS_SVH__ 7 | `define __UVMA_TCOUNTER_B_MACROS_SVH__ 8 | 9 | 10 | 11 | 12 | `endif // __UVMA_TCOUNTER_B_MACROS_SVH__ -------------------------------------------------------------------------------- /dv/blocks/uvma_tprescaler_b/.gitignore: -------------------------------------------------------------------------------- 1 | docs/dox_out 2 | ip.shrinkwrap.yml -------------------------------------------------------------------------------- /dv/blocks/uvma_tprescaler_b/README.md: -------------------------------------------------------------------------------- 1 | # datum Timer unit prescaler Block UVM Agent 2 | 3 | 4 | ## About 5 | This IP contains the datum Timer unit prescaler Block UVM Agent. 6 | 7 | 8 | ## Block Diagram 9 | ![alt text](./docs/agent_block_diagram.svg "Timer unit prescaler Block UVM Agent Block Diagram") 10 | 11 | ## Directory Structure 12 | * `bin` - Scripts, metadata and other miscellaneous files 13 | * `docs` - Reference documentation 14 | * `examples` - Code samples for using and adding to this agent 15 | * `src` - Source code root 16 | 17 | > * `comps` - UVM Components 18 | > * `obj` - UVM Objects and Monitor Transactions 19 | > * `seq` - UVM Sequences and Sequence Items 20 | 21 | 22 | ## Dependencies 23 | It is dependent on the following IP: 24 | 25 | * `datum/uvmx` -------------------------------------------------------------------------------- /dv/blocks/uvma_tprescaler_b/TODOS.azure.csv: -------------------------------------------------------------------------------- 1 | Work Item Type,Title,Priority 2 | Issue,Describe Timer unit prescaler UVM Agent",1 3 | Issue,Add assertions and/or functional coverage to uvme_tprescaler_b_chkr,1 4 | Issue,Implement uvma_tprescaler_b_mon_seq_c::monitor(),1 5 | Issue,Describe uvma_tprescaler_b_in_drv_seq_c::drive_item(),1 6 | Issue,Implement uvma_tprescaler_b_in_drv_seq_c::drive(),1 7 | Issue,Implement or remove uvma_tprescaler_b_seq_item_c::rules_cons,1 8 | Issue,Implement or remove uvma_tprescaler_b_seq_item_c::post_randomize(),1 9 | Issue,Implement or remove uvma_tprescaler_b_seq_item_c::do_print(),1 10 | Issue,Describe uvma_tprescaler_b_out_drv_seq_c::drive(),1 11 | Issue,Remove this line after implementing uvma_tprescaler_b_out_drv_seq_c::drive(),1 12 | Issue,Implement uvma_tprescaler_b_out_drv_seq_c::drive(),1 13 | Issue,Implement or remove uvma_tprescaler_b_mon_trn_c::do_compare(),1 14 | Issue,Implement or remove uvma_tprescaler_b_mon_trn_c::do_print(),1 15 | Issue,Implement or remove uvma_tprescaler_b_cfg_c::post_randomize(),1 16 | -------------------------------------------------------------------------------- /dv/blocks/uvma_tprescaler_b/docs/agent_block_diagram.vsdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openhwgroup/core-v-mcu-uvm/9319c7ccf4e7eece2b7ecabd24998d7c0657a7b0/dv/blocks/uvma_tprescaler_b/docs/agent_block_diagram.vsdx -------------------------------------------------------------------------------- /dv/blocks/uvma_tprescaler_b/docs/dev_guide.md: -------------------------------------------------------------------------------- 1 | @page uvma_tprescaler_b_dev_guide Developer Guide 2 | @htmlonly 3 |
4 | @endhtmlonly 5 | 6 | 7 | @tableofcontents 8 | 9 | 10 | @section uvma_tprescaler_b_dev_guide_license_agreement License Agreement 11 | © Copyright 2023 Datum Technology Corporation 12 | 13 | All rights reserved. 14 | 15 | 16 | @section uvma_tprescaler_b_dev_guide_revision_history Revision History 17 | Revision | Date | Description 18 | --------- | ---- | ----------- 19 | 1.0 | 2023/12/12 | Initial Version 20 | 21 | @subsection uvma_tprescaler_b_dev_guide_description Description 22 | 23 | 24 | @section uvma_tprescaler_b_dev_guide_definitions Definitions 25 | Symbol | Definition 26 | ------ | ---------- 27 | 'SYMBOL' | Definition 28 | 29 | 30 | @section uvma_tprescaler_b_dev_guide_contents Contents 31 | 32 | 33 | @htmlonly 34 |
35 | @endhtmlonly -------------------------------------------------------------------------------- /dv/blocks/uvma_tprescaler_b/docs/user_guide.md: -------------------------------------------------------------------------------- 1 | @page uvma_tprescaler_b_user_guide User Guide 2 | @htmlonly 3 |
4 | @endhtmlonly 5 | 6 | 7 | @tableofcontents 8 | 9 | 10 | @section uvma_tprescaler_b_user_guide_license_agreement License Agreement 11 | © Copyright 2023 Datum Technology Corporation 12 | 13 | All rights reserved. 14 | 15 | 16 | @section uvma_tprescaler_b_user_guide_revision_history Revision History 17 | Revision | Date | Description 18 | --------- | ---- | ----------- 19 | 1.0 | 2023/12/12 | Initial Version 20 | 21 | @subsection uvma_tprescaler_b_user_guide_description Description 22 | 23 | 24 | @section uvma_tprescaler_b_user_guide_definitions Definitions 25 | Symbol | Definition 26 | ------ | ---------- 27 | 'SYMBOL' | Definition 28 | 29 | 30 | @section uvma_tprescaler_b_user_guide_contents Contents 31 | 32 | 33 | @htmlonly 34 |
35 | @endhtmlonly -------------------------------------------------------------------------------- /dv/blocks/uvma_tprescaler_b/ip.yml: -------------------------------------------------------------------------------- 1 | ip: 2 | name: "uvma_tprescaler_b" 3 | vendor: "datum" 4 | version: "1.0.0" 5 | full-name: "Timer unit prescaler UVM Agent" 6 | type: "DV" 7 | sub-type: "UVM Agent" 8 | sub-sub-type: "Simplex; Non-Layered" 9 | description: "TODO Describe Timer unit prescaler UVM Agent" 10 | home-page: "" 11 | repo-uri: "" 12 | bugs: "" 13 | aliases: [] 14 | logo: "" 15 | block-diagram: "docs/agent_block_diagram.svg" 16 | languages: ["sv"] 17 | simulators-supported: 18 | mdc: "20230116.4.0" 19 | viv: "2022.2" 20 | tags: [] 21 | copyright-holders: ["Datum Technology Corporation"] 22 | licenses: ["All rights reserved."] 23 | 24 | dependencies: 25 | "datum/uvmx": "~1.0" 26 | 27 | structure: 28 | scripts-path : "bin" 29 | docs-path : "docs" 30 | examples-path: "examples" 31 | src-path : "src" 32 | 33 | hdl-src: 34 | directories: [".", "comps", "obj", "seq"] 35 | top-files: ["uvma_tprescaler_b_pkg.sv"] 36 | so-libs: [] 37 | -------------------------------------------------------------------------------- /dv/blocks/uvma_tprescaler_b/src/seq/uvma_tprescaler_b_base_seq.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMA_TPRESCALER_B_BASE_SEQ_SV__ 7 | `define __UVMA_TPRESCALER_B_BASE_SEQ_SV__ 8 | 9 | 10 | /** 11 | * Abstract Sequence from which all Timer unit prescaler Agent Sequences must extend. 12 | * @ingroup uvma_tprescaler_b_seq 13 | */ 14 | class uvma_tprescaler_b_base_seq_c extends uvmx_agent_seq_c #( 15 | .T_CFG (uvma_tprescaler_b_cfg_c ), 16 | .T_CNTXT (uvma_tprescaler_b_cntxt_c ), 17 | .T_SQR (uvma_tprescaler_b_sqr_c ), 18 | .T_SEQ_ITEM(uvma_tprescaler_b_seq_item_c) 19 | ); 20 | 21 | `uvm_object_utils(uvma_tprescaler_b_base_seq_c) 22 | 23 | /** 24 | * Default constructor. 25 | */ 26 | function new(string name="uvma_tprescaler_b_base_seq"); 27 | super.new(name); 28 | endfunction 29 | 30 | endclass 31 | 32 | 33 | `endif // __UVMA_TPRESCALER_B_BASE_SEQ_SV__ -------------------------------------------------------------------------------- /dv/blocks/uvma_tprescaler_b/src/uvma_tprescaler_b_constants.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMA_TPRESCALER_B_CONSTANTS_SV__ 7 | `define __UVMA_TPRESCALER_B_CONSTANTS_SV__ 8 | 9 | 10 | 11 | 12 | `endif // __UVMA_TPRESCALER_B_CONSTANTS_SV__ -------------------------------------------------------------------------------- /dv/blocks/uvma_tprescaler_b/src/uvma_tprescaler_b_ftdecs.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMA_TPRESCALER_B_FTDECS_SV__ 7 | `define __UVMA_TPRESCALER_B_FTDECS_SV__ 8 | 9 | 10 | typedef class uvma_tprescaler_b_cfg_c ; 11 | typedef class uvma_tprescaler_b_cntxt_c ; 12 | typedef class uvma_tprescaler_b_seq_item_c ; 13 | typedef class uvma_tprescaler_b_cp_seq_item_c ; 14 | typedef class uvma_tprescaler_b_dpi_seq_item_c; 15 | typedef class uvma_tprescaler_b_dpo_seq_item_c; 16 | typedef class uvma_tprescaler_b_mon_seq_c ; 17 | typedef class uvma_tprescaler_b_idle_seq_c ; 18 | typedef class uvma_tprescaler_b_in_drv_seq_c ; 19 | typedef class uvma_tprescaler_b_out_drv_seq_c ; 20 | 21 | 22 | `endif // __UVMA_TPRESCALER_B_FTDECS_SV__ -------------------------------------------------------------------------------- /dv/blocks/uvma_tprescaler_b/src/uvma_tprescaler_b_if_chkr.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMA_TPRESCALER_B_IF_CHKR_SV__ 7 | `define __UVMA_TPRESCALER_B_IF_CHKR_SV__ 8 | 9 | 10 | /** 11 | * Module encapsulating assertions targeting Timer unit prescaler Block Agent interface. 12 | * @ingroup uvma_tprescaler_b_pkg 13 | */ 14 | module uvma_tprescaler_b_if_chkr ( 15 | uvma_tprescaler_b_if agent_if ///< Target interface 16 | ); 17 | 18 | // TODO Add assertions and/or functional coverage to uvme_tprescaler_b_chkr 19 | 20 | endmodule 21 | 22 | 23 | `endif // __UVMA_TPRESCALER_B_IF_CHKR_SV__ -------------------------------------------------------------------------------- /dv/blocks/uvma_tprescaler_b/src/uvma_tprescaler_b_macros.svh: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMA_TPRESCALER_B_MACROS_SVH__ 7 | `define __UVMA_TPRESCALER_B_MACROS_SVH__ 8 | 9 | 10 | 11 | 12 | `endif // __UVMA_TPRESCALER_B_MACROS_SVH__ -------------------------------------------------------------------------------- /dv/blocks/uvma_tprescaler_b/src/uvma_tprescaler_b_tdefs.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMA_TPRESCALER_B_TDEFS_SV__ 7 | `define __UVMA_TPRESCALER_B_TDEFS_SV__ 8 | 9 | 10 | 11 | /// @name Logic vectors 12 | /// @{ 13 | typedef logic [31:0] uvma_tprescaler_b_compare_value_i_l_t; ///< logic vector 14 | typedef logic [31:0] uvma_tprescaler_b_counter_value_i_l_t; ///< logic vector 15 | typedef logic [31:0] uvma_tprescaler_b_counter_value_o_l_t; ///< logic vector 16 | /// @} 17 | 18 | /// @name Bit vectors 19 | /// @{ 20 | typedef bit [31:0] uvma_tprescaler_b_compare_value_i_b_t; ///< bit vector 21 | typedef bit [31:0] uvma_tprescaler_b_counter_value_i_b_t; ///< bit vector 22 | typedef bit [31:0] uvma_tprescaler_b_counter_value_o_b_t; ///< bit vector 23 | /// @} 24 | 25 | 26 | `endif // __UVMA_TPRESCALER_B_TDEFS_SV__ -------------------------------------------------------------------------------- /dv/blocks/uvme_adv_timer_b/.gitignore: -------------------------------------------------------------------------------- 1 | docs/dox_out 2 | ip.shrinkwrap.yml -------------------------------------------------------------------------------- /dv/blocks/uvme_adv_timer_b/README.md: -------------------------------------------------------------------------------- 1 | # datum Advanced timer counter Block UVM Environment 2 | 3 | 4 | ## About 5 | This IP contains the datum Advanced timer counter Block UVM Environment. 6 | 7 | 8 | ## Block Diagram 9 | ![alt text](./docs/env_block_diagram.svg "Advanced timer counter Block UVM Environment Block Diagram") 10 | 11 | ## Directory Structure 12 | * `bin` - Scripts, metadata and other miscellaneous files 13 | * `docs` - Reference documentation 14 | * `examples` - Code samples for using and adding to this environment 15 | * `src` - Source code root 16 | 17 | > * `comps` - UVM Components 18 | > * `obj` - UVM Objects and Monitor Transactions 19 | > * `seq` - UVM Sequences and Sequence Items 20 | 21 | 22 | ## Dependencies 23 | It is dependent on the following IP: 24 | 25 | * `datum/uvmx` 26 | * `datum/uvma_adv_timer_b` -------------------------------------------------------------------------------- /dv/blocks/uvme_adv_timer_b/docs/dev_guide.md: -------------------------------------------------------------------------------- 1 | @page uvme_adv_timer_b_dev_guide Developer Guide 2 | @htmlonly 3 |
4 | @endhtmlonly 5 | 6 | 7 | @tableofcontents 8 | 9 | 10 | @section uvme_adv_timer_b_dev_guide_license_agreement License Agreement 11 | © Copyright 2023 Datum Technology Corporation 12 | 13 | All rights reserved. 14 | 15 | 16 | @section uvme_adv_timer_b_dev_guide_revision_history Revision History 17 | Revision | Date | Description 18 | --------- | ---- | ----------- 19 | 1.0 | 2023/12/12 | Initial Version 20 | 21 | @subsection uvme_adv_timer_b_dev_guide_description Description 22 | 23 | 24 | @section uvme_adv_timer_b_dev_guide_definitions Definitions 25 | Symbol | Definition 26 | ------ | ---------- 27 | 'SYMBOL' | Definition 28 | 29 | 30 | @section uvme_adv_timer_b_dev_guide_contents Contents 31 | 32 | 33 | @htmlonly 34 |
35 | @endhtmlonly -------------------------------------------------------------------------------- /dv/blocks/uvme_adv_timer_b/docs/env_block_diagram.vsdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openhwgroup/core-v-mcu-uvm/9319c7ccf4e7eece2b7ecabd24998d7c0657a7b0/dv/blocks/uvme_adv_timer_b/docs/env_block_diagram.vsdx -------------------------------------------------------------------------------- /dv/blocks/uvme_adv_timer_b/docs/user_guide.md: -------------------------------------------------------------------------------- 1 | @page uvme_adv_timer_b_user_guide User Guide 2 | @htmlonly 3 |
4 | @endhtmlonly 5 | 6 | 7 | @tableofcontents 8 | 9 | 10 | @section uvme_adv_timer_b_user_guide_license_agreement License Agreement 11 | © Copyright 2023 Datum Technology Corporation 12 | 13 | All rights reserved. 14 | 15 | 16 | @section uvme_adv_timer_b_user_guide_revision_history Revision History 17 | Revision | Date | Description 18 | --------- | ---- | ----------- 19 | 1.0 | 2023/12/12 | Initial Version 20 | 21 | @subsection uvme_adv_timer_b_user_guide_description Description 22 | 23 | 24 | @section uvme_adv_timer_b_user_guide_definitions Definitions 25 | Symbol | Definition 26 | ------ | ---------- 27 | 'SYMBOL' | Definition 28 | 29 | 30 | @section uvme_adv_timer_b_user_guide_contents Contents 31 | 32 | 33 | @htmlonly 34 |
35 | @endhtmlonly -------------------------------------------------------------------------------- /dv/blocks/uvme_adv_timer_b/ip.yml: -------------------------------------------------------------------------------- 1 | ip: 2 | name: "uvme_adv_timer_b" 3 | vendor: "datum" 4 | version: "1.0.0" 5 | full-name: "Advanced timer counter Block UVM Environment" 6 | type: "DV" 7 | sub-type: "UVM Environment" 8 | sub-sub-type: "Block" 9 | description: "TODO Describe Advanced timer counter Block UVM Environment" 10 | home-page: "" 11 | repo-uri: "" 12 | bugs: "" 13 | aliases: [] 14 | logo: "" 15 | block-diagram: "docs/env_block_diagram.svg" 16 | languages: ["sv"] 17 | simulators-supported: 18 | mdc: "20230116.4.0" 19 | viv: "2022.2" 20 | tags: [] 21 | copyright-holders: ["Datum Technology Corporation"] 22 | licenses: ["All rights reserved."] 23 | 24 | dependencies: 25 | "datum/uvmx": "~1.0" 26 | "datum/uvma_adv_timer_b": "^" 27 | 28 | structure: 29 | scripts-path : "bin" 30 | docs-path : "docs" 31 | examples-path: "examples" 32 | src-path : "src" 33 | 34 | hdl-src: 35 | directories: [".", "comps", "obj", "reg", "seq"] 36 | top-files: ["uvme_adv_timer_b_pkg.sv"] 37 | so-libs: [] -------------------------------------------------------------------------------- /dv/blocks/uvme_adv_timer_b/src/seq/uvme_adv_timer_b_base_seq.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVME_ADV_TIMER_B_BASE_SEQ_SV__ 7 | `define __UVME_ADV_TIMER_B_BASE_SEQ_SV__ 8 | 9 | 10 | /** 11 | * Abstract Sequence from which all Advanced timer counter Block Self-Test Environment Virtual Sequences extend. 12 | * @ingroup uvme_adv_timer_b_seq 13 | */ 14 | class uvme_adv_timer_b_base_seq_c extends uvmx_block_env_seq_c #( 15 | .T_CFG (uvme_adv_timer_b_cfg_c ), 16 | .T_CNTXT(uvme_adv_timer_b_cntxt_c), 17 | .T_SQR (uvme_adv_timer_b_sqr_c ) 18 | ); 19 | 20 | `uvm_object_utils(uvme_adv_timer_b_base_seq_c) 21 | 22 | /** 23 | * Default constructor. 24 | */ 25 | function new(string name="uvme_adv_timer_b_base_seq"); 26 | super.new(name); 27 | endfunction 28 | 29 | endclass : uvme_adv_timer_b_base_seq_c 30 | 31 | 32 | `endif // __UVME_ADV_TIMER_B_BASE_SEQ_SV__ -------------------------------------------------------------------------------- /dv/blocks/uvme_adv_timer_b/src/uvme_adv_timer_b_constants.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVME_ADV_TIMER_B_CONSTANTS_SV__ 7 | `define __UVME_ADV_TIMER_B_CONSTANTS_SV__ 8 | 9 | 10 | `endif // __UVME_ADV_TIMER_B_CONSTANTS_SV__ -------------------------------------------------------------------------------- /dv/blocks/uvme_adv_timer_b/src/uvme_adv_timer_b_ftdecs.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVME_ADV_TIMER_B_FTDECS_SV__ 7 | `define __UVME_ADV_TIMER_B_FTDECS_SV__ 8 | 9 | 10 | `endif // __UVME_ADV_TIMER_B_FTDECS_SV__ -------------------------------------------------------------------------------- /dv/blocks/uvme_adv_timer_b/src/uvme_adv_timer_b_macros.svh: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVME_ADV_TIMER_B_MACROS_SVH__ 7 | `define __UVME_ADV_TIMER_B_MACROS_SVH__ 8 | 9 | 10 | // Add preprocessor macros here 11 | // Ex: `ifndef UVME_ADV_TIMER_B_ABC 12 | // `define UVME_ADV_TIMER_B_ABC 32 13 | // `endif 14 | 15 | 16 | `endif // __UVME_ADV_TIMER_B_MACROS_SVH__ -------------------------------------------------------------------------------- /dv/blocks/uvme_adv_timer_b/src/uvme_adv_timer_b_tdefs.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVME_ADV_TIMER_B_TDEFS_SV__ 7 | `define __UVME_ADV_TIMER_B_TDEFS_SV__ 8 | 9 | 10 | /** 11 | * FSM state space for DUT. 12 | */ 13 | typedef enum { 14 | UVME_ADV_TIMER_B_FSM_INIT ///< State out of reset 15 | } uvme_adv_timer_b_fsm_enum; 16 | 17 | 18 | 19 | /** 20 | * Scoreboard specialization for Data Plane Output Monitor Transactions. 21 | */ 22 | typedef uvmx_sb_simplex_c #( 23 | .T_ACT_TRN(uvma_adv_timer_b_mon_trn_c) 24 | ) uvme_adv_timer_b_sb_c; 25 | 26 | 27 | `endif // __UVME_ADV_TIMER_B_TDEFS_SV__ -------------------------------------------------------------------------------- /dv/blocks/uvme_tcounter_b/.gitignore: -------------------------------------------------------------------------------- 1 | docs/dox_out 2 | ip.shrinkwrap.yml -------------------------------------------------------------------------------- /dv/blocks/uvme_tcounter_b/README.md: -------------------------------------------------------------------------------- 1 | # datum Timer unit counter Block UVM Environment 2 | 3 | 4 | ## About 5 | This IP contains the datum Timer unit counter Block UVM Environment. 6 | 7 | 8 | ## Block Diagram 9 | ![alt text](./docs/env_block_diagram.svg "Timer unit counter Block UVM Environment Block Diagram") 10 | 11 | ## Directory Structure 12 | * `bin` - Scripts, metadata and other miscellaneous files 13 | * `docs` - Reference documentation 14 | * `examples` - Code samples for using and adding to this environment 15 | * `src` - Source code root 16 | 17 | > * `comps` - UVM Components 18 | > * `obj` - UVM Objects and Monitor Transactions 19 | > * `seq` - UVM Sequences and Sequence Items 20 | 21 | 22 | ## Dependencies 23 | It is dependent on the following IP: 24 | 25 | * `datum/uvmx` 26 | * `datum/uvma_tcounter_b` -------------------------------------------------------------------------------- /dv/blocks/uvme_tcounter_b/docs/dev_guide.md: -------------------------------------------------------------------------------- 1 | @page uvme_tcounter_b_dev_guide Developer Guide 2 | @htmlonly 3 |
4 | @endhtmlonly 5 | 6 | 7 | @tableofcontents 8 | 9 | 10 | @section uvme_tcounter_b_dev_guide_license_agreement License Agreement 11 | © Copyright 2023 Datum Technology Corporation 12 | 13 | All rights reserved. 14 | 15 | 16 | @section uvme_tcounter_b_dev_guide_revision_history Revision History 17 | Revision | Date | Description 18 | --------- | ---- | ----------- 19 | 1.0 | 2023/12/12 | Initial Version 20 | 21 | @subsection uvme_tcounter_b_dev_guide_description Description 22 | 23 | 24 | @section uvme_tcounter_b_dev_guide_definitions Definitions 25 | Symbol | Definition 26 | ------ | ---------- 27 | 'SYMBOL' | Definition 28 | 29 | 30 | @section uvme_tcounter_b_dev_guide_contents Contents 31 | 32 | 33 | @htmlonly 34 |
35 | @endhtmlonly -------------------------------------------------------------------------------- /dv/blocks/uvme_tcounter_b/docs/env_block_diagram.vsdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openhwgroup/core-v-mcu-uvm/9319c7ccf4e7eece2b7ecabd24998d7c0657a7b0/dv/blocks/uvme_tcounter_b/docs/env_block_diagram.vsdx -------------------------------------------------------------------------------- /dv/blocks/uvme_tcounter_b/docs/user_guide.md: -------------------------------------------------------------------------------- 1 | @page uvme_tcounter_b_user_guide User Guide 2 | @htmlonly 3 |
4 | @endhtmlonly 5 | 6 | 7 | @tableofcontents 8 | 9 | 10 | @section uvme_tcounter_b_user_guide_license_agreement License Agreement 11 | © Copyright 2023 Datum Technology Corporation 12 | 13 | All rights reserved. 14 | 15 | 16 | @section uvme_tcounter_b_user_guide_revision_history Revision History 17 | Revision | Date | Description 18 | --------- | ---- | ----------- 19 | 1.0 | 2023/12/12 | Initial Version 20 | 21 | @subsection uvme_tcounter_b_user_guide_description Description 22 | 23 | 24 | @section uvme_tcounter_b_user_guide_definitions Definitions 25 | Symbol | Definition 26 | ------ | ---------- 27 | 'SYMBOL' | Definition 28 | 29 | 30 | @section uvme_tcounter_b_user_guide_contents Contents 31 | 32 | 33 | @htmlonly 34 |
35 | @endhtmlonly -------------------------------------------------------------------------------- /dv/blocks/uvme_tcounter_b/ip.yml: -------------------------------------------------------------------------------- 1 | ip: 2 | name: "uvme_tcounter_b" 3 | vendor: "datum" 4 | version: "1.0.0" 5 | full-name: "Timer unit counter Block UVM Environment" 6 | type: "DV" 7 | sub-type: "UVM Environment" 8 | sub-sub-type: "Block" 9 | description: "TODO Describe Timer unit counter Block UVM Environment" 10 | home-page: "" 11 | repo-uri: "" 12 | bugs: "" 13 | aliases: [] 14 | logo: "" 15 | block-diagram: "docs/env_block_diagram.svg" 16 | languages: ["sv"] 17 | simulators-supported: 18 | mdc: "20230116.4.0" 19 | viv: "2022.2" 20 | tags: [] 21 | copyright-holders: ["Datum Technology Corporation"] 22 | licenses: ["All rights reserved."] 23 | 24 | dependencies: 25 | "datum/uvmx": "~1.0" 26 | "datum/uvma_tcounter_b": "^" 27 | 28 | structure: 29 | scripts-path : "bin" 30 | docs-path : "docs" 31 | examples-path: "examples" 32 | src-path : "src" 33 | 34 | hdl-src: 35 | directories: [".", "comps", "obj", "reg", "seq"] 36 | top-files: ["uvme_tcounter_b_pkg.sv"] 37 | so-libs: [] -------------------------------------------------------------------------------- /dv/blocks/uvme_tcounter_b/src/seq/uvme_tcounter_b_base_seq.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVME_TCOUNTER_B_BASE_SEQ_SV__ 7 | `define __UVME_TCOUNTER_B_BASE_SEQ_SV__ 8 | 9 | 10 | /** 11 | * Abstract Sequence from which all Timer unit counter Block Self-Test Environment Virtual Sequences extend. 12 | * @ingroup uvme_tcounter_b_seq 13 | */ 14 | class uvme_tcounter_b_base_seq_c extends uvmx_block_env_seq_c #( 15 | .T_CFG (uvme_tcounter_b_cfg_c ), 16 | .T_CNTXT(uvme_tcounter_b_cntxt_c), 17 | .T_SQR (uvme_tcounter_b_sqr_c ) 18 | ); 19 | 20 | `uvm_object_utils(uvme_tcounter_b_base_seq_c) 21 | 22 | /** 23 | * Default constructor. 24 | */ 25 | function new(string name="uvme_tcounter_b_base_seq"); 26 | super.new(name); 27 | endfunction 28 | 29 | endclass : uvme_tcounter_b_base_seq_c 30 | 31 | 32 | `endif // __UVME_TCOUNTER_B_BASE_SEQ_SV__ -------------------------------------------------------------------------------- /dv/blocks/uvme_tcounter_b/src/uvme_tcounter_b_constants.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVME_TCOUNTER_B_CONSTANTS_SV__ 7 | `define __UVME_TCOUNTER_B_CONSTANTS_SV__ 8 | 9 | 10 | `endif // __UVME_TCOUNTER_B_CONSTANTS_SV__ -------------------------------------------------------------------------------- /dv/blocks/uvme_tcounter_b/src/uvme_tcounter_b_ftdecs.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVME_TCOUNTER_B_FTDECS_SV__ 7 | `define __UVME_TCOUNTER_B_FTDECS_SV__ 8 | 9 | 10 | `endif // __UVME_TCOUNTER_B_FTDECS_SV__ -------------------------------------------------------------------------------- /dv/blocks/uvme_tcounter_b/src/uvme_tcounter_b_macros.svh: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVME_TCOUNTER_B_MACROS_SVH__ 7 | `define __UVME_TCOUNTER_B_MACROS_SVH__ 8 | 9 | 10 | // Add preprocessor macros here 11 | // Ex: `ifndef UVME_TCOUNTER_B_ABC 12 | // `define UVME_TCOUNTER_B_ABC 32 13 | // `endif 14 | 15 | 16 | `endif // __UVME_TCOUNTER_B_MACROS_SVH__ -------------------------------------------------------------------------------- /dv/blocks/uvme_tcounter_b/src/uvme_tcounter_b_tdefs.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVME_TCOUNTER_B_TDEFS_SV__ 7 | `define __UVME_TCOUNTER_B_TDEFS_SV__ 8 | 9 | 10 | /** 11 | * FSM state space for DUT. 12 | */ 13 | typedef enum { 14 | UVME_TCOUNTER_B_FSM_INIT ///< State out of reset 15 | } uvme_tcounter_b_fsm_enum; 16 | 17 | 18 | 19 | /** 20 | * Scoreboard specialization for Data Plane Output Monitor Transactions. 21 | */ 22 | typedef uvmx_sb_simplex_c #( 23 | .T_ACT_TRN(uvma_tcounter_b_mon_trn_c) 24 | ) uvme_tcounter_b_sb_c; 25 | 26 | 27 | `endif // __UVME_TCOUNTER_B_TDEFS_SV__ -------------------------------------------------------------------------------- /dv/blocks/uvme_tprescaler_b/.gitignore: -------------------------------------------------------------------------------- 1 | docs/dox_out 2 | ip.shrinkwrap.yml -------------------------------------------------------------------------------- /dv/blocks/uvme_tprescaler_b/README.md: -------------------------------------------------------------------------------- 1 | # datum Timer unit prescaler Block UVM Environment 2 | 3 | 4 | ## About 5 | This IP contains the datum Timer unit prescaler Block UVM Environment. 6 | 7 | 8 | ## Block Diagram 9 | ![alt text](./docs/env_block_diagram.svg "Timer unit prescaler Block UVM Environment Block Diagram") 10 | 11 | ## Directory Structure 12 | * `bin` - Scripts, metadata and other miscellaneous files 13 | * `docs` - Reference documentation 14 | * `examples` - Code samples for using and adding to this environment 15 | * `src` - Source code root 16 | 17 | > * `comps` - UVM Components 18 | > * `obj` - UVM Objects and Monitor Transactions 19 | > * `seq` - UVM Sequences and Sequence Items 20 | 21 | 22 | ## Dependencies 23 | It is dependent on the following IP: 24 | 25 | * `datum/uvmx` 26 | * `datum/uvma_tprescaler_b` -------------------------------------------------------------------------------- /dv/blocks/uvme_tprescaler_b/docs/dev_guide.md: -------------------------------------------------------------------------------- 1 | @page uvme_tprescaler_b_dev_guide Developer Guide 2 | @htmlonly 3 |
4 | @endhtmlonly 5 | 6 | 7 | @tableofcontents 8 | 9 | 10 | @section uvme_tprescaler_b_dev_guide_license_agreement License Agreement 11 | © Copyright 2023 Datum Technology Corporation 12 | 13 | All rights reserved. 14 | 15 | 16 | @section uvme_tprescaler_b_dev_guide_revision_history Revision History 17 | Revision | Date | Description 18 | --------- | ---- | ----------- 19 | 1.0 | 2023/12/12 | Initial Version 20 | 21 | @subsection uvme_tprescaler_b_dev_guide_description Description 22 | 23 | 24 | @section uvme_tprescaler_b_dev_guide_definitions Definitions 25 | Symbol | Definition 26 | ------ | ---------- 27 | 'SYMBOL' | Definition 28 | 29 | 30 | @section uvme_tprescaler_b_dev_guide_contents Contents 31 | 32 | 33 | @htmlonly 34 |
35 | @endhtmlonly -------------------------------------------------------------------------------- /dv/blocks/uvme_tprescaler_b/docs/env_block_diagram.vsdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openhwgroup/core-v-mcu-uvm/9319c7ccf4e7eece2b7ecabd24998d7c0657a7b0/dv/blocks/uvme_tprescaler_b/docs/env_block_diagram.vsdx -------------------------------------------------------------------------------- /dv/blocks/uvme_tprescaler_b/docs/user_guide.md: -------------------------------------------------------------------------------- 1 | @page uvme_tprescaler_b_user_guide User Guide 2 | @htmlonly 3 |
4 | @endhtmlonly 5 | 6 | 7 | @tableofcontents 8 | 9 | 10 | @section uvme_tprescaler_b_user_guide_license_agreement License Agreement 11 | © Copyright 2023 Datum Technology Corporation 12 | 13 | All rights reserved. 14 | 15 | 16 | @section uvme_tprescaler_b_user_guide_revision_history Revision History 17 | Revision | Date | Description 18 | --------- | ---- | ----------- 19 | 1.0 | 2023/12/12 | Initial Version 20 | 21 | @subsection uvme_tprescaler_b_user_guide_description Description 22 | 23 | 24 | @section uvme_tprescaler_b_user_guide_definitions Definitions 25 | Symbol | Definition 26 | ------ | ---------- 27 | 'SYMBOL' | Definition 28 | 29 | 30 | @section uvme_tprescaler_b_user_guide_contents Contents 31 | 32 | 33 | @htmlonly 34 |
35 | @endhtmlonly -------------------------------------------------------------------------------- /dv/blocks/uvme_tprescaler_b/ip.yml: -------------------------------------------------------------------------------- 1 | ip: 2 | name: "uvme_tprescaler_b" 3 | vendor: "datum" 4 | version: "1.0.0" 5 | full-name: "Timer unit prescaler Block UVM Environment" 6 | type: "DV" 7 | sub-type: "UVM Environment" 8 | sub-sub-type: "Block" 9 | description: "TODO Describe Timer unit prescaler Block UVM Environment" 10 | home-page: "" 11 | repo-uri: "" 12 | bugs: "" 13 | aliases: [] 14 | logo: "" 15 | block-diagram: "docs/env_block_diagram.svg" 16 | languages: ["sv"] 17 | simulators-supported: 18 | mdc: "20230116.4.0" 19 | viv: "2022.2" 20 | tags: [] 21 | copyright-holders: ["Datum Technology Corporation"] 22 | licenses: ["All rights reserved."] 23 | 24 | dependencies: 25 | "datum/uvmx": "~1.0" 26 | "datum/uvma_tprescaler_b": "^" 27 | 28 | structure: 29 | scripts-path : "bin" 30 | docs-path : "docs" 31 | examples-path: "examples" 32 | src-path : "src" 33 | 34 | hdl-src: 35 | directories: [".", "comps", "obj", "reg", "seq"] 36 | top-files: ["uvme_tprescaler_b_pkg.sv"] 37 | so-libs: [] -------------------------------------------------------------------------------- /dv/blocks/uvme_tprescaler_b/src/seq/uvme_tprescaler_b_base_seq.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVME_TPRESCALER_B_BASE_SEQ_SV__ 7 | `define __UVME_TPRESCALER_B_BASE_SEQ_SV__ 8 | 9 | 10 | /** 11 | * Abstract Sequence from which all Timer unit prescaler Block Self-Test Environment Virtual Sequences extend. 12 | * @ingroup uvme_tprescaler_b_seq 13 | */ 14 | class uvme_tprescaler_b_base_seq_c extends uvmx_block_env_seq_c #( 15 | .T_CFG (uvme_tprescaler_b_cfg_c ), 16 | .T_CNTXT(uvme_tprescaler_b_cntxt_c), 17 | .T_SQR (uvme_tprescaler_b_sqr_c ) 18 | ); 19 | 20 | `uvm_object_utils(uvme_tprescaler_b_base_seq_c) 21 | 22 | /** 23 | * Default constructor. 24 | */ 25 | function new(string name="uvme_tprescaler_b_base_seq"); 26 | super.new(name); 27 | endfunction 28 | 29 | endclass : uvme_tprescaler_b_base_seq_c 30 | 31 | 32 | `endif // __UVME_TPRESCALER_B_BASE_SEQ_SV__ -------------------------------------------------------------------------------- /dv/blocks/uvme_tprescaler_b/src/uvme_tprescaler_b_constants.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVME_TPRESCALER_B_CONSTANTS_SV__ 7 | `define __UVME_TPRESCALER_B_CONSTANTS_SV__ 8 | 9 | 10 | `endif // __UVME_TPRESCALER_B_CONSTANTS_SV__ -------------------------------------------------------------------------------- /dv/blocks/uvme_tprescaler_b/src/uvme_tprescaler_b_ftdecs.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVME_TPRESCALER_B_FTDECS_SV__ 7 | `define __UVME_TPRESCALER_B_FTDECS_SV__ 8 | 9 | 10 | `endif // __UVME_TPRESCALER_B_FTDECS_SV__ -------------------------------------------------------------------------------- /dv/blocks/uvme_tprescaler_b/src/uvme_tprescaler_b_macros.svh: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVME_TPRESCALER_B_MACROS_SVH__ 7 | `define __UVME_TPRESCALER_B_MACROS_SVH__ 8 | 9 | 10 | // Add preprocessor macros here 11 | // Ex: `ifndef UVME_TPRESCALER_B_ABC 12 | // `define UVME_TPRESCALER_B_ABC 32 13 | // `endif 14 | 15 | 16 | `endif // __UVME_TPRESCALER_B_MACROS_SVH__ -------------------------------------------------------------------------------- /dv/blocks/uvme_tprescaler_b/src/uvme_tprescaler_b_tdefs.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVME_TPRESCALER_B_TDEFS_SV__ 7 | `define __UVME_TPRESCALER_B_TDEFS_SV__ 8 | 9 | 10 | /** 11 | * FSM state space for DUT. 12 | */ 13 | typedef enum { 14 | UVME_TPRESCALER_B_FSM_INIT ///< State out of reset 15 | } uvme_tprescaler_b_fsm_enum; 16 | 17 | 18 | 19 | /** 20 | * Scoreboard specialization for Data Plane Output Monitor Transactions. 21 | */ 22 | typedef uvmx_sb_simplex_c #( 23 | .T_ACT_TRN(uvma_tprescaler_b_mon_trn_c) 24 | ) uvme_tprescaler_b_sb_c; 25 | 26 | 27 | `endif // __UVME_TPRESCALER_B_TDEFS_SV__ -------------------------------------------------------------------------------- /dv/blocks/uvmt_adv_timer_b/.gitignore: -------------------------------------------------------------------------------- 1 | docs/dox_out 2 | ip.shrinkwrap.yml -------------------------------------------------------------------------------- /dv/blocks/uvmt_adv_timer_b/README.md: -------------------------------------------------------------------------------- 1 | # datum Advanced timer counter Block UVM Test Bench 2 | 3 | 4 | ## About 5 | This IP contains the datum Advanced timer counter Block UVM Test Bench. 6 | 7 | 8 | ## Block Diagram 9 | ![alt text](./docs/tb_block_diagram.svg "Advanced timer counter Block UVM Test Bench Block Diagram") 10 | 11 | ## Directory Structure 12 | * `bin` - Scripts, metadata and other miscellaneous files 13 | * `docs` - Reference documentation 14 | * `examples` - Code samples for adding to this test bench 15 | * `src` - Source code root 16 | 17 | > * `tb` - Test Bench 18 | > * `tests` - UVM Tests and Test Suites 19 | 20 | 21 | ## Dependencies 22 | It is dependent on the following IP: 23 | 24 | * `datum/uvmx` 25 | * `datum/uvma_clk` 26 | * `datum/uvma_reset` 27 | * `datum/uvma_adv_timer_b]` 28 | * `datum/uvme_adv_timer_b]` -------------------------------------------------------------------------------- /dv/blocks/uvmt_adv_timer_b/TODOS.azure.csv: -------------------------------------------------------------------------------- 1 | Work Item Type,Title,Priority 2 | Issue,Describe Advanced timer counter Block UVM Test Bench",1 3 | Issue,Implement or remove uvmt_adv_timer_b_test_cfg_c::post_randomize_work(),1 4 | -------------------------------------------------------------------------------- /dv/blocks/uvmt_adv_timer_b/TODOS.github.csv: -------------------------------------------------------------------------------- 1 | title,description,assignee,state,milestone,labels 2 | Describe Advanced timer counter Block UVM Test Bench",ip.yml,,open,, 3 | Implement or remove uvmt_adv_timer_b_test_cfg_c::post_randomize_work(),uvmt_adv_timer_b_test_cfg.sv,,open,, 4 | -------------------------------------------------------------------------------- /dv/blocks/uvmt_adv_timer_b/TODOS.gitlab.csv: -------------------------------------------------------------------------------- 1 | title,description,due_date 2 | Describe Advanced timer counter Block UVM Test Bench",ip.yml, 3 | Implement or remove uvmt_adv_timer_b_test_cfg_c::post_randomize_work(),uvmt_adv_timer_b_test_cfg.sv, 4 | -------------------------------------------------------------------------------- /dv/blocks/uvmt_adv_timer_b/TODOS.jira.csv: -------------------------------------------------------------------------------- 1 | IssueType,Issue ID,Parent ID,Status,Summary,Component,Description 2 | task,0,,To Do,Describe Advanced timer counter Block UVM Test Bench",uvmt_adv_timer_b,ip.yml, 3 | task,1,,To Do,Implement or remove uvmt_adv_timer_b_test_cfg_c::post_randomize_work(),uvmt_adv_timer_b,uvmt_adv_timer_b_test_cfg.sv, 4 | -------------------------------------------------------------------------------- /dv/blocks/uvmt_adv_timer_b/docs/dev_guide.md: -------------------------------------------------------------------------------- 1 | @page uvmt_adv_timer_b_dev_guide Developer Guide 2 | @htmlonly 3 |
4 | @endhtmlonly 5 | 6 | 7 | @tableofcontents 8 | 9 | 10 | @section uvmt_adv_timer_b_dev_guide_license_agreement License Agreement 11 | © Copyright 2023 Datum Technology Corporation 12 | 13 | All rights reserved. 14 | 15 | 16 | @section uvmt_adv_timer_b_dev_guide_revision_history Revision History 17 | Revision | Date | Description 18 | --------- | ---- | ----------- 19 | 1.0 | 2023/12/12 | Initial Version 20 | 21 | @subsection uvmt_adv_timer_b_dev_guide_description Description 22 | 23 | 24 | @section uvmt_adv_timer_b_dev_guide_definitions Definitions 25 | Symbol | Definition 26 | ------ | ---------- 27 | 'SYMBOL' | Definition 28 | 29 | 30 | @section uvmt_adv_timer_b_dev_guide_contents Contents 31 | 32 | 33 | @htmlonly 34 |
35 | @endhtmlonly -------------------------------------------------------------------------------- /dv/blocks/uvmt_adv_timer_b/docs/tb_block_diagram.vsdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openhwgroup/core-v-mcu-uvm/9319c7ccf4e7eece2b7ecabd24998d7c0657a7b0/dv/blocks/uvmt_adv_timer_b/docs/tb_block_diagram.vsdx -------------------------------------------------------------------------------- /dv/blocks/uvmt_adv_timer_b/docs/user_guide.md: -------------------------------------------------------------------------------- 1 | @page uvmt_adv_timer_b_user_guide User Guide 2 | @htmlonly 3 |
4 | @endhtmlonly 5 | 6 | 7 | @tableofcontents 8 | 9 | 10 | @section uvmt_adv_timer_b_user_guide_license_agreement License Agreement 11 | © Copyright 2023 Datum Technology Corporation 12 | 13 | All rights reserved. 14 | 15 | 16 | @section uvmt_adv_timer_b_user_guide_revision_history Revision History 17 | Revision | Date | Description 18 | --------- | ---- | ----------- 19 | 1.0 | 2023/12/12 | Initial Version 20 | 21 | @subsection uvmt_adv_timer_b_user_guide_description Description 22 | 23 | 24 | @section uvmt_adv_timer_b_user_guide_definitions Definitions 25 | Symbol | Definition 26 | ------ | ---------- 27 | 'SYMBOL' | Definition 28 | 29 | 30 | @section uvmt_adv_timer_b_user_guide_contents Contents 31 | 32 | 33 | @htmlonly 34 |
35 | @endhtmlonly -------------------------------------------------------------------------------- /dv/blocks/uvmt_adv_timer_b/src/uvmt_adv_timer_b_base_test_workarounds.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMT_ADV_TIMER_B_BASE_TEST_WORKAROUNDS_SV__ 7 | `define __UVMT_ADV_TIMER_B_BASE_TEST_WORKAROUNDS_SV__ 8 | 9 | 10 | // Temporary configuration constraints belong here (this file should be empty by the end of the project). 11 | 12 | 13 | `endif // __UVMT_ADV_TIMER_B_BASE_TEST_WORKAROUNDS_SV__ -------------------------------------------------------------------------------- /dv/blocks/uvmt_adv_timer_b/src/uvmt_adv_timer_b_ftdecs.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMT_ADV_TIMER_B_FTDECS_SV__ 7 | `define __UVMT_ADV_TIMER_B_FTDECS_SV__ 8 | 9 | 10 | `endif // __UVMT_ADV_TIMER_B_FTDECS_SV__ -------------------------------------------------------------------------------- /dv/blocks/uvmt_adv_timer_b/src/uvmt_adv_timer_b_macros.svh: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMT_ADV_TIMER_B_MACROS_SVH__ 7 | `define __UVMT_ADV_TIMER_B_MACROS_SVH__ 8 | 9 | 10 | `ifndef UVMT_ADV_TIMER_B_NUM_BITS 11 | `define UVMT_ADV_TIMER_B_NUM_BITS 16 12 | `endif 13 | `ifndef UVMT_ADV_TIMER_B_N_EXTSIG 14 | `define UVMT_ADV_TIMER_B_N_EXTSIG 32 15 | `endif 16 | 17 | 18 | `endif // __UVMT_ADV_TIMER_B_MACROS_SVH__ -------------------------------------------------------------------------------- /dv/blocks/uvmt_adv_timer_b/src/uvmt_adv_timer_b_tdefs.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMT_ADV_TIMER_B_TDEFS_SV__ 7 | `define __UVMT_ADV_TIMER_B_TDEFS_SV__ 8 | 9 | 10 | // Add enums and structs here 11 | // Ex: typedef bit [(`UVMT_ADV_TIMER_B_ABC_MAX_WIDTH-1):0] uvmt_adv_timer_b_abc_b_t; ///< Describe me! 12 | // Ex: /* 13 | // * Describe me! 14 | // */ 15 | // typedef enum { 16 | // UVMT_ADV_TIMER_B_EX_ABC 17 | // } uvmt_adv_timer_b_ex_enum; 18 | // Ex: /* 19 | // * Describe me! 20 | // */ 21 | // typedef struct { 22 | // bit [2:0] abc; 23 | // logic xyz; 24 | // } uvmt_adv_timer_b_ex_struct; 25 | 26 | 27 | `endif // __UVMT_ADV_TIMER_B_TDEFS_SV__ -------------------------------------------------------------------------------- /dv/blocks/uvmt_tcounter_b/.gitignore: -------------------------------------------------------------------------------- 1 | docs/dox_out 2 | ip.shrinkwrap.yml -------------------------------------------------------------------------------- /dv/blocks/uvmt_tcounter_b/README.md: -------------------------------------------------------------------------------- 1 | # datum Timer unit counter Block UVM Test Bench 2 | 3 | 4 | ## About 5 | This IP contains the datum Timer unit counter Block UVM Test Bench. 6 | 7 | 8 | ## Block Diagram 9 | ![alt text](./docs/tb_block_diagram.svg "Timer unit counter Block UVM Test Bench Block Diagram") 10 | 11 | ## Directory Structure 12 | * `bin` - Scripts, metadata and other miscellaneous files 13 | * `docs` - Reference documentation 14 | * `examples` - Code samples for adding to this test bench 15 | * `src` - Source code root 16 | 17 | > * `tb` - Test Bench 18 | > * `tests` - UVM Tests and Test Suites 19 | 20 | 21 | ## Dependencies 22 | It is dependent on the following IP: 23 | 24 | * `datum/uvmx` 25 | * `datum/uvma_clk` 26 | * `datum/uvma_reset` 27 | * `datum/uvma_tcounter_b]` 28 | * `datum/uvme_tcounter_b]` -------------------------------------------------------------------------------- /dv/blocks/uvmt_tcounter_b/TODOS.azure.csv: -------------------------------------------------------------------------------- 1 | Work Item Type,Title,Priority 2 | Issue,Describe Timer unit counter Block UVM Test Bench",1 3 | Issue,Implement or remove uvmt_tcounter_b_test_cfg_c::post_randomize_work(),1 4 | -------------------------------------------------------------------------------- /dv/blocks/uvmt_tcounter_b/TODOS.github.csv: -------------------------------------------------------------------------------- 1 | title,description,assignee,state,milestone,labels 2 | Describe Timer unit counter Block UVM Test Bench",ip.yml,,open,, 3 | Implement or remove uvmt_tcounter_b_test_cfg_c::post_randomize_work(),uvmt_tcounter_b_test_cfg.sv,,open,, 4 | -------------------------------------------------------------------------------- /dv/blocks/uvmt_tcounter_b/TODOS.gitlab.csv: -------------------------------------------------------------------------------- 1 | title,description,due_date 2 | Describe Timer unit counter Block UVM Test Bench",ip.yml, 3 | Implement or remove uvmt_tcounter_b_test_cfg_c::post_randomize_work(),uvmt_tcounter_b_test_cfg.sv, 4 | -------------------------------------------------------------------------------- /dv/blocks/uvmt_tcounter_b/TODOS.jira.csv: -------------------------------------------------------------------------------- 1 | IssueType,Issue ID,Parent ID,Status,Summary,Component,Description 2 | task,0,,To Do,Describe Timer unit counter Block UVM Test Bench",uvmt_tcounter_b,ip.yml, 3 | task,1,,To Do,Implement or remove uvmt_tcounter_b_test_cfg_c::post_randomize_work(),uvmt_tcounter_b,uvmt_tcounter_b_test_cfg.sv, 4 | -------------------------------------------------------------------------------- /dv/blocks/uvmt_tcounter_b/docs/dev_guide.md: -------------------------------------------------------------------------------- 1 | @page uvmt_tcounter_b_dev_guide Developer Guide 2 | @htmlonly 3 |
4 | @endhtmlonly 5 | 6 | 7 | @tableofcontents 8 | 9 | 10 | @section uvmt_tcounter_b_dev_guide_license_agreement License Agreement 11 | © Copyright 2023 Datum Technology Corporation 12 | 13 | All rights reserved. 14 | 15 | 16 | @section uvmt_tcounter_b_dev_guide_revision_history Revision History 17 | Revision | Date | Description 18 | --------- | ---- | ----------- 19 | 1.0 | 2023/12/12 | Initial Version 20 | 21 | @subsection uvmt_tcounter_b_dev_guide_description Description 22 | 23 | 24 | @section uvmt_tcounter_b_dev_guide_definitions Definitions 25 | Symbol | Definition 26 | ------ | ---------- 27 | 'SYMBOL' | Definition 28 | 29 | 30 | @section uvmt_tcounter_b_dev_guide_contents Contents 31 | 32 | 33 | @htmlonly 34 |
35 | @endhtmlonly -------------------------------------------------------------------------------- /dv/blocks/uvmt_tcounter_b/docs/tb_block_diagram.vsdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openhwgroup/core-v-mcu-uvm/9319c7ccf4e7eece2b7ecabd24998d7c0657a7b0/dv/blocks/uvmt_tcounter_b/docs/tb_block_diagram.vsdx -------------------------------------------------------------------------------- /dv/blocks/uvmt_tcounter_b/docs/user_guide.md: -------------------------------------------------------------------------------- 1 | @page uvmt_tcounter_b_user_guide User Guide 2 | @htmlonly 3 |
4 | @endhtmlonly 5 | 6 | 7 | @tableofcontents 8 | 9 | 10 | @section uvmt_tcounter_b_user_guide_license_agreement License Agreement 11 | © Copyright 2023 Datum Technology Corporation 12 | 13 | All rights reserved. 14 | 15 | 16 | @section uvmt_tcounter_b_user_guide_revision_history Revision History 17 | Revision | Date | Description 18 | --------- | ---- | ----------- 19 | 1.0 | 2023/12/12 | Initial Version 20 | 21 | @subsection uvmt_tcounter_b_user_guide_description Description 22 | 23 | 24 | @section uvmt_tcounter_b_user_guide_definitions Definitions 25 | Symbol | Definition 26 | ------ | ---------- 27 | 'SYMBOL' | Definition 28 | 29 | 30 | @section uvmt_tcounter_b_user_guide_contents Contents 31 | 32 | 33 | @htmlonly 34 |
35 | @endhtmlonly -------------------------------------------------------------------------------- /dv/blocks/uvmt_tcounter_b/src/uvmt_tcounter_b_base_test_workarounds.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMT_TCOUNTER_B_BASE_TEST_WORKAROUNDS_SV__ 7 | `define __UVMT_TCOUNTER_B_BASE_TEST_WORKAROUNDS_SV__ 8 | 9 | 10 | // Temporary configuration constraints belong here (this file should be empty by the end of the project). 11 | 12 | 13 | `endif // __UVMT_TCOUNTER_B_BASE_TEST_WORKAROUNDS_SV__ -------------------------------------------------------------------------------- /dv/blocks/uvmt_tcounter_b/src/uvmt_tcounter_b_constants.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMT_TCOUNTER_B_CONSTANTS_SV__ 7 | `define __UVMT_TCOUNTER_B_CONSTANTS_SV__ 8 | 9 | 10 | const int unsigned uvmt_tcounter_b_default_clk_i_frequency = 100_000_000; ///< Default Input clock frequency (100.0Mhz) 11 | const int unsigned uvmt_tcounter_b_default_startup_timeout = 10_000; ///< Default Heartbeat Monitor startup timeout in ns 12 | const int unsigned uvmt_tcounter_b_default_heartbeat_period = 1_000; ///< Default Heartbeat Monitor period in ns 13 | const int unsigned uvmt_tcounter_b_default_heartbeat_refresh_period = 5_000; ///< Default Heartbeat Monitor refresh period in ns 14 | const int unsigned uvmt_tcounter_b_default_simulation_timeout = 1_000_000; ///< Default Watchdog Timer simulation timeout in ns 15 | 16 | 17 | `endif // __UVMT_TCOUNTER_B_CONSTANTS_SV__ -------------------------------------------------------------------------------- /dv/blocks/uvmt_tcounter_b/src/uvmt_tcounter_b_ftdecs.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMT_TCOUNTER_B_FTDECS_SV__ 7 | `define __UVMT_TCOUNTER_B_FTDECS_SV__ 8 | 9 | 10 | `endif // __UVMT_TCOUNTER_B_FTDECS_SV__ -------------------------------------------------------------------------------- /dv/blocks/uvmt_tcounter_b/src/uvmt_tcounter_b_macros.svh: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMT_TCOUNTER_B_MACROS_SVH__ 7 | `define __UVMT_TCOUNTER_B_MACROS_SVH__ 8 | 9 | 10 | // Add preprocessor macros here 11 | // Ex: `ifndef UVMT_TCOUNTER_B_ABC_WIDTH 12 | // `define UVMT_TCOUNTER_B_ABC_WIDTH 32 13 | // `endif 14 | 15 | 16 | `endif // __UVMT_TCOUNTER_B_MACROS_SVH__ -------------------------------------------------------------------------------- /dv/blocks/uvmt_tcounter_b/src/uvmt_tcounter_b_tdefs.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMT_TCOUNTER_B_TDEFS_SV__ 7 | `define __UVMT_TCOUNTER_B_TDEFS_SV__ 8 | 9 | 10 | // Add enums and structs here 11 | // Ex: typedef bit [(`UVMT_TCOUNTER_B_ABC_MAX_WIDTH-1):0] uvmt_tcounter_b_abc_b_t; ///< Describe me! 12 | // Ex: /* 13 | // * Describe me! 14 | // */ 15 | // typedef enum { 16 | // UVMT_TCOUNTER_B_EX_ABC 17 | // } uvmt_tcounter_b_ex_enum; 18 | // Ex: /* 19 | // * Describe me! 20 | // */ 21 | // typedef struct { 22 | // bit [2:0] abc; 23 | // logic xyz; 24 | // } uvmt_tcounter_b_ex_struct; 25 | 26 | 27 | `endif // __UVMT_TCOUNTER_B_TDEFS_SV__ -------------------------------------------------------------------------------- /dv/blocks/uvmt_tprescaler_b/.gitignore: -------------------------------------------------------------------------------- 1 | docs/dox_out 2 | ip.shrinkwrap.yml -------------------------------------------------------------------------------- /dv/blocks/uvmt_tprescaler_b/README.md: -------------------------------------------------------------------------------- 1 | # datum Timer unit prescaler Block UVM Test Bench 2 | 3 | 4 | ## About 5 | This IP contains the datum Timer unit prescaler Block UVM Test Bench. 6 | 7 | 8 | ## Block Diagram 9 | ![alt text](./docs/tb_block_diagram.svg "Timer unit prescaler Block UVM Test Bench Block Diagram") 10 | 11 | ## Directory Structure 12 | * `bin` - Scripts, metadata and other miscellaneous files 13 | * `docs` - Reference documentation 14 | * `examples` - Code samples for adding to this test bench 15 | * `src` - Source code root 16 | 17 | > * `tb` - Test Bench 18 | > * `tests` - UVM Tests and Test Suites 19 | 20 | 21 | ## Dependencies 22 | It is dependent on the following IP: 23 | 24 | * `datum/uvmx` 25 | * `datum/uvma_clk` 26 | * `datum/uvma_reset` 27 | * `datum/uvma_tprescaler_b]` 28 | * `datum/uvme_tprescaler_b]` -------------------------------------------------------------------------------- /dv/blocks/uvmt_tprescaler_b/TODOS.azure.csv: -------------------------------------------------------------------------------- 1 | Work Item Type,Title,Priority 2 | Issue,Describe Timer unit prescaler Block UVM Test Bench",1 3 | Issue,Implement or remove uvmt_tprescaler_b_test_cfg_c::post_randomize_work(),1 4 | -------------------------------------------------------------------------------- /dv/blocks/uvmt_tprescaler_b/TODOS.github.csv: -------------------------------------------------------------------------------- 1 | title,description,assignee,state,milestone,labels 2 | Describe Timer unit prescaler Block UVM Test Bench",ip.yml,,open,, 3 | Implement or remove uvmt_tprescaler_b_test_cfg_c::post_randomize_work(),uvmt_tprescaler_b_test_cfg.sv,,open,, 4 | -------------------------------------------------------------------------------- /dv/blocks/uvmt_tprescaler_b/TODOS.gitlab.csv: -------------------------------------------------------------------------------- 1 | title,description,due_date 2 | Describe Timer unit prescaler Block UVM Test Bench",ip.yml, 3 | Implement or remove uvmt_tprescaler_b_test_cfg_c::post_randomize_work(),uvmt_tprescaler_b_test_cfg.sv, 4 | -------------------------------------------------------------------------------- /dv/blocks/uvmt_tprescaler_b/TODOS.jira.csv: -------------------------------------------------------------------------------- 1 | IssueType,Issue ID,Parent ID,Status,Summary,Component,Description 2 | task,0,,To Do,Describe Timer unit prescaler Block UVM Test Bench",uvmt_tprescaler_b,ip.yml, 3 | task,1,,To Do,Implement or remove uvmt_tprescaler_b_test_cfg_c::post_randomize_work(),uvmt_tprescaler_b,uvmt_tprescaler_b_test_cfg.sv, 4 | -------------------------------------------------------------------------------- /dv/blocks/uvmt_tprescaler_b/docs/dev_guide.md: -------------------------------------------------------------------------------- 1 | @page uvmt_tprescaler_b_dev_guide Developer Guide 2 | @htmlonly 3 |
4 | @endhtmlonly 5 | 6 | 7 | @tableofcontents 8 | 9 | 10 | @section uvmt_tprescaler_b_dev_guide_license_agreement License Agreement 11 | © Copyright 2023 Datum Technology Corporation 12 | 13 | All rights reserved. 14 | 15 | 16 | @section uvmt_tprescaler_b_dev_guide_revision_history Revision History 17 | Revision | Date | Description 18 | --------- | ---- | ----------- 19 | 1.0 | 2023/12/12 | Initial Version 20 | 21 | @subsection uvmt_tprescaler_b_dev_guide_description Description 22 | 23 | 24 | @section uvmt_tprescaler_b_dev_guide_definitions Definitions 25 | Symbol | Definition 26 | ------ | ---------- 27 | 'SYMBOL' | Definition 28 | 29 | 30 | @section uvmt_tprescaler_b_dev_guide_contents Contents 31 | 32 | 33 | @htmlonly 34 |
35 | @endhtmlonly -------------------------------------------------------------------------------- /dv/blocks/uvmt_tprescaler_b/docs/tb_block_diagram.vsdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openhwgroup/core-v-mcu-uvm/9319c7ccf4e7eece2b7ecabd24998d7c0657a7b0/dv/blocks/uvmt_tprescaler_b/docs/tb_block_diagram.vsdx -------------------------------------------------------------------------------- /dv/blocks/uvmt_tprescaler_b/docs/user_guide.md: -------------------------------------------------------------------------------- 1 | @page uvmt_tprescaler_b_user_guide User Guide 2 | @htmlonly 3 |
4 | @endhtmlonly 5 | 6 | 7 | @tableofcontents 8 | 9 | 10 | @section uvmt_tprescaler_b_user_guide_license_agreement License Agreement 11 | © Copyright 2023 Datum Technology Corporation 12 | 13 | All rights reserved. 14 | 15 | 16 | @section uvmt_tprescaler_b_user_guide_revision_history Revision History 17 | Revision | Date | Description 18 | --------- | ---- | ----------- 19 | 1.0 | 2023/12/12 | Initial Version 20 | 21 | @subsection uvmt_tprescaler_b_user_guide_description Description 22 | 23 | 24 | @section uvmt_tprescaler_b_user_guide_definitions Definitions 25 | Symbol | Definition 26 | ------ | ---------- 27 | 'SYMBOL' | Definition 28 | 29 | 30 | @section uvmt_tprescaler_b_user_guide_contents Contents 31 | 32 | 33 | @htmlonly 34 |
35 | @endhtmlonly -------------------------------------------------------------------------------- /dv/blocks/uvmt_tprescaler_b/src/uvmt_tprescaler_b_base_test_workarounds.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMT_TPRESCALER_B_BASE_TEST_WORKAROUNDS_SV__ 7 | `define __UVMT_TPRESCALER_B_BASE_TEST_WORKAROUNDS_SV__ 8 | 9 | 10 | // Temporary configuration constraints belong here (this file should be empty by the end of the project). 11 | 12 | 13 | `endif // __UVMT_TPRESCALER_B_BASE_TEST_WORKAROUNDS_SV__ -------------------------------------------------------------------------------- /dv/blocks/uvmt_tprescaler_b/src/uvmt_tprescaler_b_constants.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMT_TPRESCALER_B_CONSTANTS_SV__ 7 | `define __UVMT_TPRESCALER_B_CONSTANTS_SV__ 8 | 9 | 10 | const int unsigned uvmt_tprescaler_b_default_clk_i_frequency = 100_000_000; ///< Default frequency (100.0Mhz) 11 | const int unsigned uvmt_tprescaler_b_default_startup_timeout = 10_000; ///< Default Heartbeat Monitor startup timeout in ns 12 | const int unsigned uvmt_tprescaler_b_default_heartbeat_period = 1_000; ///< Default Heartbeat Monitor period in ns 13 | const int unsigned uvmt_tprescaler_b_default_heartbeat_refresh_period = 5_000; ///< Default Heartbeat Monitor refresh period in ns 14 | const int unsigned uvmt_tprescaler_b_default_simulation_timeout = 1_000_000; ///< Default Watchdog Timer simulation timeout in ns 15 | 16 | 17 | `endif // __UVMT_TPRESCALER_B_CONSTANTS_SV__ -------------------------------------------------------------------------------- /dv/blocks/uvmt_tprescaler_b/src/uvmt_tprescaler_b_ftdecs.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMT_TPRESCALER_B_FTDECS_SV__ 7 | `define __UVMT_TPRESCALER_B_FTDECS_SV__ 8 | 9 | 10 | `endif // __UVMT_TPRESCALER_B_FTDECS_SV__ -------------------------------------------------------------------------------- /dv/blocks/uvmt_tprescaler_b/src/uvmt_tprescaler_b_macros.svh: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMT_TPRESCALER_B_MACROS_SVH__ 7 | `define __UVMT_TPRESCALER_B_MACROS_SVH__ 8 | 9 | 10 | // Add preprocessor macros here 11 | // Ex: `ifndef UVMT_TPRESCALER_B_ABC_WIDTH 12 | // `define UVMT_TPRESCALER_B_ABC_WIDTH 32 13 | // `endif 14 | 15 | 16 | `endif // __UVMT_TPRESCALER_B_MACROS_SVH__ -------------------------------------------------------------------------------- /dv/blocks/uvmt_tprescaler_b/src/uvmt_tprescaler_b_tdefs.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMT_TPRESCALER_B_TDEFS_SV__ 7 | `define __UVMT_TPRESCALER_B_TDEFS_SV__ 8 | 9 | 10 | // Add enums and structs here 11 | // Ex: typedef bit [(`UVMT_TPRESCALER_B_ABC_MAX_WIDTH-1):0] uvmt_tprescaler_b_abc_b_t; ///< Describe me! 12 | // Ex: /* 13 | // * Describe me! 14 | // */ 15 | // typedef enum { 16 | // UVMT_TPRESCALER_B_EX_ABC 17 | // } uvmt_tprescaler_b_ex_enum; 18 | // Ex: /* 19 | // * Describe me! 20 | // */ 21 | // typedef struct { 22 | // bit [2:0] abc; 23 | // logic xyz; 24 | // } uvmt_tprescaler_b_ex_struct; 25 | 26 | 27 | `endif // __UVMT_TPRESCALER_B_TDEFS_SV__ -------------------------------------------------------------------------------- /dv/chip/uvme_cvmcu_chip/.gitignore: -------------------------------------------------------------------------------- 1 | docs/dox_out 2 | ip.shrinkwrap.yml -------------------------------------------------------------------------------- /dv/chip/uvme_cvmcu_chip/README.md: -------------------------------------------------------------------------------- 1 | # Datum CORE-V-MCU Chip UVM Environment 2 | 3 | 4 | # About 5 | This IP contains the Datum CORE-V-MCU Chip UVM Environment. 6 | 7 | # Directory Structure 8 | * `bin` - Scripts, metadata and other miscellaneous files 9 | * `docs` - Reference documentation 10 | * `examples` - Code samples for using and extending this environment 11 | * `src` - Source code 12 | 13 | 14 | # Dependencies 15 | It is dependent on the following IP: 16 | 17 | * `datum/uvmx` 18 | * `datum/uvme_apb_timer_ss` 19 | * `datum/uvme_apb_adv_timer_ss` 20 | * `datum/uvma_jtag` 21 | * `datum/uvma_spi` 22 | * `datum/uvma_cvmcu_cpi` 23 | * `datum/uvma_i2c` 24 | * `datum/uvma_uart` 25 | * `datum/uvma_sdio` 26 | * `datum/uvma_obi` 27 | * `datum/uvma_cvmcu_event` 28 | * `datum/uvma_cvmcu_dbg` 29 | -------------------------------------------------------------------------------- /dv/chip/uvme_cvmcu_chip/docs/dev_guide.md: -------------------------------------------------------------------------------- 1 | @page uvme_cvmcu_chip_dev_guide Developer Guide 2 | @htmlonly 3 |
4 | @endhtmlonly 5 | 6 | 7 | @tableofcontents 8 | 9 | 10 | @section uvme_cvmcu_chip_dev_guide_license_agreement License Agreement 11 | © Copyright 2023 Datum Technology Corporation 12 | 13 | All rights reserved. 14 | 15 | 16 | @section uvme_cvmcu_chip_dev_guide_revision_history Revision History 17 | Revision | Date | Description 18 | --------- | ---- | ----------- 19 | 1.0 | 2023/12/12 | Initial Version 20 | 21 | @subsection uvme_cvmcu_chip_dev_guide_description Description 22 | 23 | 24 | @section uvme_cvmcu_chip_dev_guide_definitions Definitions 25 | Symbol | Definition 26 | ------ | ---------- 27 | 'SYMBOL' | Definition 28 | 29 | 30 | @section uvme_cvmcu_chip_dev_guide_contents Contents 31 | 32 | 33 | @htmlonly 34 |
35 | @endhtmlonly -------------------------------------------------------------------------------- /dv/chip/uvme_cvmcu_chip/docs/user_guide.md: -------------------------------------------------------------------------------- 1 | @page uvme_cvmcu_chip_user_guide User Guide 2 | @htmlonly 3 |
4 | @endhtmlonly 5 | 6 | 7 | @tableofcontents 8 | 9 | 10 | @section uvme_cvmcu_chip_user_guide_license_agreement License Agreement 11 | © Copyright 2023 Datum Technology Corporation 12 | 13 | All rights reserved. 14 | 15 | 16 | @section uvme_cvmcu_chip_user_guide_revision_history Revision History 17 | Revision | Date | Description 18 | --------- | ---- | ----------- 19 | 1.0 | 2023/12/12 | Initial Version 20 | 21 | @subsection uvme_cvmcu_chip_user_guide_description Description 22 | 23 | 24 | @section uvme_cvmcu_chip_user_guide_definitions Definitions 25 | Symbol | Definition 26 | ------ | ---------- 27 | 'SYMBOL' | Definition 28 | 29 | 30 | @section uvme_cvmcu_chip_user_guide_contents Contents 31 | 32 | 33 | @htmlonly 34 |
35 | @endhtmlonly -------------------------------------------------------------------------------- /dv/chip/uvme_cvmcu_chip/src/seq/uvme_cvmcu_chip_base_seq.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVME_CVMCU_CHIP_BASE_SEQ_SV__ 7 | `define __UVME_CVMCU_CHIP_BASE_SEQ_SV__ 8 | 9 | 10 | /** 11 | * Abstract Sequence from which all other CORE-V-MCU Chip environment Sequences extend. 12 | * Subclasses must be run on uvme_cvmcu_chip_sqr_c. 13 | * @ingroup uvme_cvmcu_chip_seq 14 | */ 15 | class uvme_cvmcu_chip_base_seq_c extends uvmx_chip_env_seq_c #( 16 | .T_CFG (uvme_cvmcu_chip_cfg_c ), 17 | .T_CNTXT(uvme_cvmcu_chip_cntxt_c), 18 | .T_SQR (uvme_cvmcu_chip_sqr_c ) 19 | ); 20 | 21 | `uvm_object_utils(uvme_cvmcu_chip_base_seq_c) 22 | 23 | /** 24 | * Default constructor. 25 | */ 26 | function new(string name="uvme_cvmcu_chip_base_seq"); 27 | super.new(name); 28 | endfunction 29 | 30 | endclass 31 | 32 | 33 | `endif // __UVME_CVMCU_CHIP_BASE_SEQ_SV__ 34 | -------------------------------------------------------------------------------- /dv/chip/uvme_cvmcu_chip/src/seq/uvme_cvmcu_chip_init_seq.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVME_CVMCU_CHIP_INIT_SEQ_SV__ 7 | `define __UVME_CVMCU_CHIP_INIT_SEQ_SV__ 8 | 9 | 10 | /** 11 | * Initializes any and all probe signals at start of simulation. 12 | * @ingroup uvme_cvmcu_chip_seq 13 | */ 14 | class uvme_cvmcu_chip_init_seq_c extends uvme_cvmcu_chip_base_seq_c; 15 | 16 | `uvm_object_utils(uvme_cvmcu_chip_init_seq_c) 17 | 18 | /** 19 | * Default constructor. 20 | */ 21 | function new(string name="uvme_cvmcu_chip_init_seq"); 22 | super.new(name); 23 | endfunction 24 | 25 | /** 26 | * Drives signals to default values. 27 | */ 28 | virtual task body(); 29 | `uvmx_probe_drv_signal(bootsel_i, 1) 30 | `uvmx_probe_drv_signal(stm_i, 0) 31 | endtask 32 | 33 | endclass 34 | 35 | 36 | `endif // __UVME_CVMCU_CHIP_INIT_SEQ_SV__ 37 | -------------------------------------------------------------------------------- /dv/chip/uvme_cvmcu_chip/src/uvme_cvmcu_chip_ftdecs.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVME_CVMCU_CHIP_FTDECS_SV__ 7 | `define __UVME_CVMCU_CHIP_FTDECS_SV__ 8 | 9 | 10 | typedef class uvme_cvmcu_chip_init_seq_c; 11 | typedef class uvme_cvmcu_chip_reset_seq_c; 12 | typedef class uvme_cvmcu_chip_cfg_seq_c; 13 | typedef class uvme_cvmcu_chip_udma_uart_seq_c; 14 | 15 | 16 | `endif // __UVME_CVMCU_CHIP_FTDECS_SV__ 17 | -------------------------------------------------------------------------------- /dv/chip/uvme_cvmcu_chip/src/uvme_cvmcu_chip_macros.svh: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVME_CVMCU_CHIP_MACROS_SVH__ 7 | `define __UVME_CVMCU_CHIP_MACROS_SVH__ 8 | 9 | 10 | // Add preprocessor macros here 11 | // Ex: `ifndef UVME_CVMCU_CHIP_ABC 12 | // `define UVME_CVMCU_CHIP_ABC 32 13 | // `endif 14 | 15 | 16 | `endif // __UVME_CVMCU_CHIP_MACROS_SVH__ -------------------------------------------------------------------------------- /dv/chip/uvme_cvmcu_chip/src/uvme_cvmcu_chip_tdefs.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVME_CVMCU_CHIP_TDEFS_SV__ 7 | `define __UVME_CVMCU_CHIP_TDEFS_SV__ 8 | 9 | 10 | 11 | `endif // __UVME_CVMCU_CHIP_TDEFS_SV__ -------------------------------------------------------------------------------- /dv/chip/uvmt_cvmcu_chip/.gitignore: -------------------------------------------------------------------------------- 1 | docs/dox_out 2 | ip.shrinkwrap.yml -------------------------------------------------------------------------------- /dv/chip/uvmt_cvmcu_chip/README.md: -------------------------------------------------------------------------------- 1 | # Datum CORE-V-MCU Chip UVM Test Bench 2 | 3 | 4 | # About 5 | This IP contains the Datum CORE-V-MCU Chip UVM Test Bench. 6 | 7 | # Directory Structure 8 | * `bin` - Scripts, metadata and other miscellaneous files 9 | * `docs` - Reference documentation 10 | * `examples` - Code samples for adding to this test bench 11 | * `src` - Source code 12 | 13 | 14 | # Dependencies 15 | It is dependent on the following IP: 16 | 17 | * `datum/uvmx` 18 | * `datum/uvml_sb` 19 | * `datum/uvma_clk` 20 | * `datum/uvma_reset` 21 | * `datum/uvme_cvmcu_chip` -------------------------------------------------------------------------------- /dv/chip/uvmt_cvmcu_chip/TODOS.azure.csv: -------------------------------------------------------------------------------- 1 | Work Item Type,Title,Priority 2 | Issue,Implement or remove uvmt_cvmcu_chip_test_cfg_c::rules_cons,1 3 | Issue,Implement or remove uvmt_cvmcu_chip_test_cfg_c::post_randomize_work(),1 4 | -------------------------------------------------------------------------------- /dv/chip/uvmt_cvmcu_chip/TODOS.github.csv: -------------------------------------------------------------------------------- 1 | title,description,assignee,state,milestone,labels 2 | Implement or remove uvmt_cvmcu_chip_test_cfg_c::rules_cons,uvmt_cvmcu_chip_test_cfg.sv,,open,, 3 | Implement or remove uvmt_cvmcu_chip_test_cfg_c::post_randomize_work(),uvmt_cvmcu_chip_test_cfg.sv,,open,, 4 | -------------------------------------------------------------------------------- /dv/chip/uvmt_cvmcu_chip/TODOS.gitlab.csv: -------------------------------------------------------------------------------- 1 | title,description,due_date 2 | Implement or remove uvmt_cvmcu_chip_test_cfg_c::rules_cons,uvmt_cvmcu_chip_test_cfg.sv, 3 | Implement or remove uvmt_cvmcu_chip_test_cfg_c::post_randomize_work(),uvmt_cvmcu_chip_test_cfg.sv, 4 | -------------------------------------------------------------------------------- /dv/chip/uvmt_cvmcu_chip/TODOS.jira.csv: -------------------------------------------------------------------------------- 1 | IssueType,Issue ID,Parent ID,Status,Summary,Component,Description 2 | task,0,,To Do,Implement or remove uvmt_cvmcu_chip_test_cfg_c::rules_cons,uvmt_cvmcu_chip,uvmt_cvmcu_chip_test_cfg.sv, 3 | task,1,,To Do,Implement or remove uvmt_cvmcu_chip_test_cfg_c::post_randomize_work(),uvmt_cvmcu_chip,uvmt_cvmcu_chip_test_cfg.sv, 4 | -------------------------------------------------------------------------------- /dv/chip/uvmt_cvmcu_chip/docs/dev_guide.md: -------------------------------------------------------------------------------- 1 | @page uvmt_cvmcu_chip_dev_guide Developer Guide 2 | @htmlonly 3 |
4 | @endhtmlonly 5 | 6 | 7 | @tableofcontents 8 | 9 | 10 | @section uvmt_cvmcu_chip_dev_guide_license_agreement License Agreement 11 | © Copyright 2023 Datum Technology Corporation 12 | 13 | All rights reserved. 14 | 15 | 16 | @section uvmt_cvmcu_chip_dev_guide_revision_history Revision History 17 | Revision | Date | Description 18 | --------- | ---- | ----------- 19 | 1.0 | 2023/12/12 | Initial Version 20 | 21 | @subsection uvmt_cvmcu_chip_dev_guide_description Description 22 | 23 | 24 | @section uvmt_cvmcu_chip_dev_guide_definitions Definitions 25 | Symbol | Definition 26 | ------ | ---------- 27 | 'SYMBOL' | Definition 28 | 29 | 30 | @section uvmt_cvmcu_chip_dev_guide_contents Contents 31 | 32 | 33 | @htmlonly 34 |
35 | @endhtmlonly -------------------------------------------------------------------------------- /dv/chip/uvmt_cvmcu_chip/docs/index.md: -------------------------------------------------------------------------------- 1 | @mainpage IP Information 2 | @htmlonly 3 |
4 | @endhtmlonly 5 | 6 | 7 | @tableofcontents 8 | 9 | 10 | @section uvmt_cvmcu_chip_license_agreement License Agreement 11 | © Copyright 2023 Datum Technology Corporation 12 | 13 | All rights reserved. 14 | 15 | 16 | @section uvmt_cvmcu_chip_ip_desc IP Description 17 | This IP contains the Datum CORE-V-MCU Chip UVM Test Bench. 18 | 19 | 20 | 21 | @section uvmt_cvmcu_chip_ip_documents Documents 22 | ID | Name | Version 23 | -- | ---- | ------- 24 | 001 | @subpage uvmt_cvmcu_chip_user_guide "User Guide" | 1.0 25 | 002 | @subpage uvmt_cvmcu_chip_dev_guide "Developer Guide" | 1.0 26 | 27 | 28 | @section uvmt_cvmcu_chip_ip_ref Reference 29 | * @ref uvmt_cvmcu_chip_pkg 30 | * @ref uvmt_cvmcu_chip_misc 31 | * @ref uvmt_cvmcu_chip_tb 32 | * @ref uvmt_cvmcu_chip_tests 33 | 34 | 35 | @section uvmt_cvmcu_chip_release_history Release History 36 | @subsection uvmt_cvmcu_chip_v1_0_0 2023/12/12 - 1.0.0 37 | - Initial release 38 | 39 | 40 | @htmlonly 41 |
42 | @endhtmlonly -------------------------------------------------------------------------------- /dv/chip/uvmt_cvmcu_chip/docs/user_guide.md: -------------------------------------------------------------------------------- 1 | @page uvmt_cvmcu_chip_user_guide User Guide 2 | @htmlonly 3 |
4 | @endhtmlonly 5 | 6 | 7 | @tableofcontents 8 | 9 | 10 | @section uvmt_cvmcu_chip_user_guide_license_agreement License Agreement 11 | © Copyright 2023 Datum Technology Corporation 12 | 13 | All rights reserved. 14 | 15 | 16 | @section uvmt_cvmcu_chip_user_guide_revision_history Revision History 17 | Revision | Date | Description 18 | --------- | ---- | ----------- 19 | 1.0 | 2023/12/12 | Initial Version 20 | 21 | @subsection uvmt_cvmcu_chip_user_guide_description Description 22 | 23 | 24 | @section uvmt_cvmcu_chip_user_guide_definitions Definitions 25 | Symbol | Definition 26 | ------ | ---------- 27 | 'SYMBOL' | Definition 28 | 29 | 30 | @section uvmt_cvmcu_chip_user_guide_contents Contents 31 | 32 | 33 | @htmlonly 34 |
35 | @endhtmlonly -------------------------------------------------------------------------------- /dv/chip/uvmt_cvmcu_chip/src/uvmt_cvmcu_chip_base_test_workarounds.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMT_CVMCU_CHIP_BASE_TEST_WORKAROUNDS_SV__ 7 | `define __UVMT_CVMCU_CHIP_BASE_TEST_WORKAROUNDS_SV__ 8 | 9 | 10 | // Temporary configuration constraints here (this file should be empty by the end of the project). 11 | 12 | 13 | `endif // __UVMT_CVMCU_CHIP_BASE_TEST_WORKAROUNDS_SV__ -------------------------------------------------------------------------------- /dv/chip/uvmt_cvmcu_chip/src/uvmt_cvmcu_chip_ftdecs.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMT_CVMCU_CHIP_FTDECS_SV__ 7 | `define __UVMT_CVMCU_CHIP_FTDECS_SV__ 8 | 9 | 10 | `endif // __UVMT_CVMCU_CHIP_FTDECS_SV__ -------------------------------------------------------------------------------- /dv/chip/uvmt_cvmcu_chip/src/uvmt_cvmcu_chip_macros.svh: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMT_CVMCU_CHIP_MACROS_SVH__ 7 | `define __UVMT_CVMCU_CHIP_MACROS_SVH__ 8 | 9 | 10 | `ifndef UVMT_CVMCU_CHIP_USE_CORES 11 | `define UVMT_CVMCU_CHIP_USE_CORES 0 12 | `endif 13 | 14 | 15 | 16 | `endif // __UVMT_CVMCU_CHIP_MACROS_SVH__ -------------------------------------------------------------------------------- /dv/chip/uvmt_cvmcu_chip/src/uvmt_cvmcu_chip_tdefs.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2023 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMT_CVMCU_CHIP_TDEFS_SV__ 7 | `define __UVMT_CVMCU_CHIP_TDEFS_SV__ 8 | 9 | 10 | // Add enums and structs here 11 | // Ex: typedef bit [(`UVMT_CVMCU_CHIP_ABC_MAX_WIDTH-1):0] uvmt_cvmcu_chip_abc_b_t; 12 | // Ex: typedef enum { 13 | // UVMT_CVMCU_CHIP_EXAMPLE_ABC 14 | // } uvmt_cvmcu_chip_example_enum; 15 | // Ex: typedef struct { 16 | // bit [2:0] abc; 17 | // logic xyz; 18 | // } uvmt_cvmcu_chip_example_struct; 19 | 20 | 21 | `endif // __UVMT_CVMCU_CHIP_TDEFS_SV__ -------------------------------------------------------------------------------- /dv/ss/uvme_apb_adv_timer_ss/.gitignore: -------------------------------------------------------------------------------- 1 | docs/dox_out 2 | ip.shrinkwrap.yml -------------------------------------------------------------------------------- /dv/ss/uvme_apb_adv_timer_ss/README.md: -------------------------------------------------------------------------------- 1 | # Datum APB Advanced Timer Sub-System UVM Environment 2 | 3 | 4 | # About 5 | This IP contains the Datum APB Advanced Timer Sub-System UVM Environment. 6 | 7 | # Directory Structure 8 | * `bin` - Scripts, metadata and other miscellaneous files 9 | * `docs` - Reference documentation 10 | * `examples` - Code samples for using and extending this environment 11 | * `src` - Source code 12 | 13 | 14 | # Dependencies 15 | It is dependent on the following IP: 16 | 17 | * `datum/uvmx` 18 | * `datum/uvma_adv_timer_b` 19 | * `datum/uvme_adv_timer_b` 20 | * `datum/uvma_apb` 21 | -------------------------------------------------------------------------------- /dv/ss/uvme_apb_adv_timer_ss/docs/dev_guide.md: -------------------------------------------------------------------------------- 1 | @page uvme_apb_adv_timer_ss_dev_guide Developer Guide 2 | @htmlonly 3 |
4 | @endhtmlonly 5 | 6 | 7 | @tableofcontents 8 | 9 | 10 | @section uvme_apb_adv_timer_ss_dev_guide_license_agreement License Agreement 11 | © Copyright 2024 Datum Technology Corporation 12 | 13 | All rights reserved. 14 | 15 | 16 | @section uvme_apb_adv_timer_ss_dev_guide_revision_history Revision History 17 | Revision | Date | Description 18 | --------- | ---- | ----------- 19 | 1.0 | 2024/1/19 | Initial Version 20 | 21 | @subsection uvme_apb_adv_timer_ss_dev_guide_description Description 22 | 23 | 24 | @section uvme_apb_adv_timer_ss_dev_guide_definitions Definitions 25 | Symbol | Definition 26 | ------ | ---------- 27 | 'SYMBOL' | Definition 28 | 29 | 30 | @section uvme_apb_adv_timer_ss_dev_guide_contents Contents 31 | 32 | 33 | @htmlonly 34 |
35 | @endhtmlonly -------------------------------------------------------------------------------- /dv/ss/uvme_apb_adv_timer_ss/docs/user_guide.md: -------------------------------------------------------------------------------- 1 | @page uvme_apb_adv_timer_ss_user_guide User Guide 2 | @htmlonly 3 |
4 | @endhtmlonly 5 | 6 | 7 | @tableofcontents 8 | 9 | 10 | @section uvme_apb_adv_timer_ss_user_guide_license_agreement License Agreement 11 | © Copyright 2024 Datum Technology Corporation 12 | 13 | All rights reserved. 14 | 15 | 16 | @section uvme_apb_adv_timer_ss_user_guide_revision_history Revision History 17 | Revision | Date | Description 18 | --------- | ---- | ----------- 19 | 1.0 | 2024/1/19 | Initial Version 20 | 21 | @subsection uvme_apb_adv_timer_ss_user_guide_description Description 22 | 23 | 24 | @section uvme_apb_adv_timer_ss_user_guide_definitions Definitions 25 | Symbol | Definition 26 | ------ | ---------- 27 | 'SYMBOL' | Definition 28 | 29 | 30 | @section uvme_apb_adv_timer_ss_user_guide_contents Contents 31 | 32 | 33 | @htmlonly 34 |
35 | @endhtmlonly -------------------------------------------------------------------------------- /dv/ss/uvme_apb_adv_timer_ss/src/reg/uvme_apb_adv_timer_ss_reg_ignore_lists.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2024 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVME_APB_ADV_TIMER_SS_REG_IGNORE_LISTS_SV__ 7 | `define __UVME_APB_ADV_TIMER_SS_REG_IGNORE_LISTS_SV__ 8 | 9 | 10 | string uvme_apb_adv_timer_ss_all_reg_mem_ignore_list[$] = '{ 11 | }; 12 | 13 | string uvme_apb_adv_timer_ss_reg_hw_reset_ignore_list[$] = '{ 14 | }; 15 | 16 | string uvme_apb_adv_timer_ss_reg_bit_bash_ignore_list[$] = '{ 17 | }; 18 | 19 | string uvme_apb_adv_timer_ss_reg_access_ignore_list[$] = '{ 20 | }; 21 | 22 | string uvme_apb_adv_timer_ss_mem_access_ignore_list[$] = '{ 23 | }; 24 | 25 | string uvme_apb_adv_timer_ss_shared_access_ignore_list[$] = '{ 26 | }; 27 | 28 | string uvme_apb_adv_timer_ss_mem_walk_access_ignore_list[$] = '{ 29 | }; 30 | 31 | 32 | `endif // __UVME_APB_ADV_TIMER_SS_REG_IGNORE_LISTS_SV__ -------------------------------------------------------------------------------- /dv/ss/uvme_apb_adv_timer_ss/src/uvme_apb_adv_timer_ss_constants.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2024 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVME_APB_ADV_TIMER_SS_CONSTANTS_SV__ 7 | `define __UVME_APB_ADV_TIMER_SS_CONSTANTS_SV__ 8 | 9 | 10 | const uvm_reg_addr_t uvme_apb_adv_timer_ss_default_reg_block_base_address = 'h0000_0000; ///< Register block base address 11 | const int unsigned uvme_apb_adv_timer_ss_reg_block_reg_n_bytes = 4; ///< Width of registers (bytes) 12 | 13 | /** 14 | * Events IRQ lines. 15 | */ 16 | const int unsigned uvme_apb_adv_timer_ss_events_irq_lines[string] = '{ 17 | "EVENT_0" : 0, ///< Event #0 18 | "EVENT_1" : 1, ///< Event #1 19 | "EVENT_2" : 2, ///< Event #2 20 | "EVENT_3" : 3 ///< Event #3 21 | }; 22 | 23 | 24 | `endif // __UVME_APB_ADV_TIMER_SS_CONSTANTS_SV__ -------------------------------------------------------------------------------- /dv/ss/uvme_apb_adv_timer_ss/src/uvme_apb_adv_timer_ss_ftdecs.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2024 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVME_APB_ADV_TIMER_SS_FTDECS_SV__ 7 | `define __UVME_APB_ADV_TIMER_SS_FTDECS_SV__ 8 | 9 | 10 | typedef class uvme_apb_adv_timer_ss_reset_seq_c; 11 | typedef class uvme_apb_adv_timer_ss_cfg_seq_c; 12 | 13 | 14 | 15 | `endif // __UVME_APB_ADV_TIMER_SS_FTDECS_SV__ -------------------------------------------------------------------------------- /dv/ss/uvme_apb_adv_timer_ss/src/uvme_apb_adv_timer_ss_macros.svh: -------------------------------------------------------------------------------- 1 | // Copyright 2024 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVME_APB_ADV_TIMER_SS_MACROS_SVH__ 7 | `define __UVME_APB_ADV_TIMER_SS_MACROS_SVH__ 8 | 9 | 10 | // Add preprocessor macros here 11 | // Ex: `ifndef UVME_APB_ADV_TIMER_SS_ABC 12 | // `define UVME_APB_ADV_TIMER_SS_ABC 32 13 | // `endif 14 | 15 | 16 | `endif // __UVME_APB_ADV_TIMER_SS_MACROS_SVH__ -------------------------------------------------------------------------------- /dv/ss/uvme_apb_adv_timer_ss/src/uvme_apb_adv_timer_ss_tdefs.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2024 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVME_APB_ADV_TIMER_SS_TDEFS_SV__ 7 | `define __UVME_APB_ADV_TIMER_SS_TDEFS_SV__ 8 | 9 | 10 | 11 | `endif // __UVME_APB_ADV_TIMER_SS_TDEFS_SV__ -------------------------------------------------------------------------------- /dv/ss/uvme_apb_timer_ss/.gitignore: -------------------------------------------------------------------------------- 1 | docs/dox_out 2 | ip.shrinkwrap.yml -------------------------------------------------------------------------------- /dv/ss/uvme_apb_timer_ss/README.md: -------------------------------------------------------------------------------- 1 | # Datum APB simple timer unit Sub-System UVM Environment 2 | 3 | 4 | # About 5 | This IP contains the Datum APB simple timer unit Sub-System UVM Environment. 6 | 7 | # Directory Structure 8 | * `bin` - Scripts, metadata and other miscellaneous files 9 | * `docs` - Reference documentation 10 | * `examples` - Code samples for using and extending this environment 11 | * `src` - Source code 12 | 13 | 14 | # Dependencies 15 | It is dependent on the following IP: 16 | 17 | * `datum/uvmx` 18 | * `datum/uvma_tcounter_b` 19 | * `datum/uvme_tcounter_b` 20 | * `datum/uvma_tprescaler_b` 21 | * `datum/uvme_tprescaler_b` 22 | * `datum/uvma_apb` 23 | -------------------------------------------------------------------------------- /dv/ss/uvme_apb_timer_ss/TODOS.azure.csv: -------------------------------------------------------------------------------- 1 | Work Item Type,Title,Priority 2 | Issue,Add assertions and/or functional coverage to uvme_apb_timer_ss_chkr,1 3 | Issue,Implement or remove uvme_apb_timer_ss_cfg_c::rules_cons,1 4 | Issue,Implement or remove uvme_apb_timer_ss_cfg_c::post_randomize(),1 5 | Issue,Describe uvme_apb_timer_ss_reset_seq_c::pre_reset(),1 6 | Issue,Implement uvme_apb_timer_ss_reset_seq_c::pre_reset(),1 7 | Issue,Describe uvme_apb_timer_ss_reset_seq_c::in_reset(),1 8 | Issue,Implement uvme_apb_timer_ss_reset_seq_c::in_reset(),1 9 | Issue,Describe uvme_apb_timer_ss_reset_seq_c::post_reset(),1 10 | Issue,Implement uvme_apb_timer_ss_reset_seq_c::post_reset(),1 11 | Issue,Describe uvme_apb_timer_ss_cfg_seq_c::body(),1 12 | Issue,Implement uvme_apb_timer_ss_cfg_seq_c::body(),1 13 | Issue,Implement apb_timer_ss_cfg_cg,1 14 | Issue,Implement apb_timer_ss_cntxt_cg,1 15 | Issue,Implement uvme_apb_timer_ss_prd_c::predict_reg_op() for registers,1 16 | Issue,Implement uvme_apb_timer_ss_prd_c::predict_reg_op() for fields,1 17 | Issue,Implement uvme_apb_timer_ss_prd_c::predict_reg_op() for memories,1 18 | -------------------------------------------------------------------------------- /dv/ss/uvme_apb_timer_ss/docs/dev_guide.md: -------------------------------------------------------------------------------- 1 | @page uvme_apb_timer_ss_dev_guide Developer Guide 2 | @htmlonly 3 |
4 | @endhtmlonly 5 | 6 | 7 | @tableofcontents 8 | 9 | 10 | @section uvme_apb_timer_ss_dev_guide_license_agreement License Agreement 11 | © Copyright 2024 Datum Technology Corporation 12 | 13 | All rights reserved. 14 | 15 | 16 | @section uvme_apb_timer_ss_dev_guide_revision_history Revision History 17 | Revision | Date | Description 18 | --------- | ---- | ----------- 19 | 1.0 | 2024/1/19 | Initial Version 20 | 21 | @subsection uvme_apb_timer_ss_dev_guide_description Description 22 | 23 | 24 | @section uvme_apb_timer_ss_dev_guide_definitions Definitions 25 | Symbol | Definition 26 | ------ | ---------- 27 | 'SYMBOL' | Definition 28 | 29 | 30 | @section uvme_apb_timer_ss_dev_guide_contents Contents 31 | 32 | 33 | @htmlonly 34 |
35 | @endhtmlonly -------------------------------------------------------------------------------- /dv/ss/uvme_apb_timer_ss/docs/user_guide.md: -------------------------------------------------------------------------------- 1 | @page uvme_apb_timer_ss_user_guide User Guide 2 | @htmlonly 3 |
4 | @endhtmlonly 5 | 6 | 7 | @tableofcontents 8 | 9 | 10 | @section uvme_apb_timer_ss_user_guide_license_agreement License Agreement 11 | © Copyright 2024 Datum Technology Corporation 12 | 13 | All rights reserved. 14 | 15 | 16 | @section uvme_apb_timer_ss_user_guide_revision_history Revision History 17 | Revision | Date | Description 18 | --------- | ---- | ----------- 19 | 1.0 | 2024/1/19 | Initial Version 20 | 21 | @subsection uvme_apb_timer_ss_user_guide_description Description 22 | 23 | 24 | @section uvme_apb_timer_ss_user_guide_definitions Definitions 25 | Symbol | Definition 26 | ------ | ---------- 27 | 'SYMBOL' | Definition 28 | 29 | 30 | @section uvme_apb_timer_ss_user_guide_contents Contents 31 | 32 | 33 | @htmlonly 34 |
35 | @endhtmlonly -------------------------------------------------------------------------------- /dv/ss/uvme_apb_timer_ss/src/uvme_apb_timer_ss_constants.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2024 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVME_APB_TIMER_SS_CONSTANTS_SV__ 7 | `define __UVME_APB_TIMER_SS_CONSTANTS_SV__ 8 | 9 | 10 | const uvm_reg_addr_t uvme_apb_timer_ss_default_reg_block_base_address = 'h0000_0000; ///< Register block base address 11 | const int unsigned uvme_apb_timer_ss_reg_block_reg_n_bytes = 4; ///< Width of registers (bytes) 12 | 13 | /** 14 | * Events IRQ lines. 15 | */ 16 | const int unsigned uvme_apb_timer_ss_events_irq_lines[string] = '{ 17 | "LOW" : 0, ///< Low 18 | "HIGH" : 1 ///< High 19 | }; 20 | 21 | 22 | `endif // __UVME_APB_TIMER_SS_CONSTANTS_SV__ -------------------------------------------------------------------------------- /dv/ss/uvme_apb_timer_ss/src/uvme_apb_timer_ss_ftdecs.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2024 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVME_APB_TIMER_SS_FTDECS_SV__ 7 | `define __UVME_APB_TIMER_SS_FTDECS_SV__ 8 | 9 | 10 | typedef class uvme_apb_timer_ss_reset_seq_c; 11 | typedef class uvme_apb_timer_ss_cfg_seq_c; 12 | 13 | 14 | 15 | `endif // __UVME_APB_TIMER_SS_FTDECS_SV__ -------------------------------------------------------------------------------- /dv/ss/uvme_apb_timer_ss/src/uvme_apb_timer_ss_macros.svh: -------------------------------------------------------------------------------- 1 | // Copyright 2024 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVME_APB_TIMER_SS_MACROS_SVH__ 7 | `define __UVME_APB_TIMER_SS_MACROS_SVH__ 8 | 9 | 10 | // Add preprocessor macros here 11 | // Ex: `ifndef UVME_APB_TIMER_SS_ABC 12 | // `define UVME_APB_TIMER_SS_ABC 32 13 | // `endif 14 | 15 | 16 | `endif // __UVME_APB_TIMER_SS_MACROS_SVH__ -------------------------------------------------------------------------------- /dv/ss/uvme_apb_timer_ss/src/uvme_apb_timer_ss_tdefs.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2024 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVME_APB_TIMER_SS_TDEFS_SV__ 7 | `define __UVME_APB_TIMER_SS_TDEFS_SV__ 8 | 9 | 10 | 11 | `endif // __UVME_APB_TIMER_SS_TDEFS_SV__ -------------------------------------------------------------------------------- /dv/ss/uvmt_apb_adv_timer_ss/.gitignore: -------------------------------------------------------------------------------- 1 | docs/dox_out 2 | ip.shrinkwrap.yml -------------------------------------------------------------------------------- /dv/ss/uvmt_apb_adv_timer_ss/README.md: -------------------------------------------------------------------------------- 1 | # Datum APB Advanced Timer Sub-System UVM Test Bench 2 | 3 | 4 | # About 5 | This IP contains the Datum APB Advanced Timer Sub-System UVM Test Bench. 6 | 7 | # Directory Structure 8 | * `bin` - Scripts, metadata and other miscellaneous files 9 | * `docs` - Reference documentation 10 | * `examples` - Code samples for adding to this test bench 11 | * `src` - Source code 12 | 13 | 14 | # Dependencies 15 | It is dependent on the following IP: 16 | 17 | * `datum/uvmx` 18 | * `datum/uvml_sb` 19 | * `datum/uvma_clk` 20 | * `datum/uvma_reset` 21 | * `datum/uvme_apb_adv_timer_ss` -------------------------------------------------------------------------------- /dv/ss/uvmt_apb_adv_timer_ss/TODOS.azure.csv: -------------------------------------------------------------------------------- 1 | Work Item Type,Title,Priority 2 | Issue,Implement or remove uvmt_apb_adv_timer_ss_test_cfg_c::rules_cons,1 3 | Issue,Implement or remove uvmt_apb_adv_timer_ss_test_cfg_c::post_randomize_work(),1 4 | -------------------------------------------------------------------------------- /dv/ss/uvmt_apb_adv_timer_ss/TODOS.github.csv: -------------------------------------------------------------------------------- 1 | title,description,assignee,state,milestone,labels 2 | Implement or remove uvmt_apb_adv_timer_ss_test_cfg_c::rules_cons,uvmt_apb_adv_timer_ss_test_cfg.sv,,open,, 3 | Implement or remove uvmt_apb_adv_timer_ss_test_cfg_c::post_randomize_work(),uvmt_apb_adv_timer_ss_test_cfg.sv,,open,, 4 | -------------------------------------------------------------------------------- /dv/ss/uvmt_apb_adv_timer_ss/TODOS.gitlab.csv: -------------------------------------------------------------------------------- 1 | title,description,due_date 2 | Implement or remove uvmt_apb_adv_timer_ss_test_cfg_c::rules_cons,uvmt_apb_adv_timer_ss_test_cfg.sv, 3 | Implement or remove uvmt_apb_adv_timer_ss_test_cfg_c::post_randomize_work(),uvmt_apb_adv_timer_ss_test_cfg.sv, 4 | -------------------------------------------------------------------------------- /dv/ss/uvmt_apb_adv_timer_ss/TODOS.jira.csv: -------------------------------------------------------------------------------- 1 | IssueType,Issue ID,Parent ID,Status,Summary,Component,Description 2 | task,0,,To Do,Implement or remove uvmt_apb_adv_timer_ss_test_cfg_c::rules_cons,uvmt_apb_adv_timer_ss,uvmt_apb_adv_timer_ss_test_cfg.sv, 3 | task,1,,To Do,Implement or remove uvmt_apb_adv_timer_ss_test_cfg_c::post_randomize_work(),uvmt_apb_adv_timer_ss,uvmt_apb_adv_timer_ss_test_cfg.sv, 4 | -------------------------------------------------------------------------------- /dv/ss/uvmt_apb_adv_timer_ss/docs/dev_guide.md: -------------------------------------------------------------------------------- 1 | @page uvmt_apb_adv_timer_ss_dev_guide Developer Guide 2 | @htmlonly 3 |
4 | @endhtmlonly 5 | 6 | 7 | @tableofcontents 8 | 9 | 10 | @section uvmt_apb_adv_timer_ss_dev_guide_license_agreement License Agreement 11 | © Copyright 2024 Datum Technology Corporation 12 | 13 | All rights reserved. 14 | 15 | 16 | @section uvmt_apb_adv_timer_ss_dev_guide_revision_history Revision History 17 | Revision | Date | Description 18 | --------- | ---- | ----------- 19 | 1.0 | 2024/1/19 | Initial Version 20 | 21 | @subsection uvmt_apb_adv_timer_ss_dev_guide_description Description 22 | 23 | 24 | @section uvmt_apb_adv_timer_ss_dev_guide_definitions Definitions 25 | Symbol | Definition 26 | ------ | ---------- 27 | 'SYMBOL' | Definition 28 | 29 | 30 | @section uvmt_apb_adv_timer_ss_dev_guide_contents Contents 31 | 32 | 33 | @htmlonly 34 |
35 | @endhtmlonly -------------------------------------------------------------------------------- /dv/ss/uvmt_apb_adv_timer_ss/docs/user_guide.md: -------------------------------------------------------------------------------- 1 | @page uvmt_apb_adv_timer_ss_user_guide User Guide 2 | @htmlonly 3 |
4 | @endhtmlonly 5 | 6 | 7 | @tableofcontents 8 | 9 | 10 | @section uvmt_apb_adv_timer_ss_user_guide_license_agreement License Agreement 11 | © Copyright 2024 Datum Technology Corporation 12 | 13 | All rights reserved. 14 | 15 | 16 | @section uvmt_apb_adv_timer_ss_user_guide_revision_history Revision History 17 | Revision | Date | Description 18 | --------- | ---- | ----------- 19 | 1.0 | 2024/1/19 | Initial Version 20 | 21 | @subsection uvmt_apb_adv_timer_ss_user_guide_description Description 22 | 23 | 24 | @section uvmt_apb_adv_timer_ss_user_guide_definitions Definitions 25 | Symbol | Definition 26 | ------ | ---------- 27 | 'SYMBOL' | Definition 28 | 29 | 30 | @section uvmt_apb_adv_timer_ss_user_guide_contents Contents 31 | 32 | 33 | @htmlonly 34 |
35 | @endhtmlonly -------------------------------------------------------------------------------- /dv/ss/uvmt_apb_adv_timer_ss/src/uvmt_apb_adv_timer_ss_base_test_workarounds.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2024 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMT_APB_ADV_TIMER_SS_BASE_TEST_WORKAROUNDS_SV__ 7 | `define __UVMT_APB_ADV_TIMER_SS_BASE_TEST_WORKAROUNDS_SV__ 8 | 9 | 10 | // Temporary configuration constraints here (this file should be empty by the end of the project). 11 | 12 | 13 | `endif // __UVMT_APB_ADV_TIMER_SS_BASE_TEST_WORKAROUNDS_SV__ -------------------------------------------------------------------------------- /dv/ss/uvmt_apb_adv_timer_ss/src/uvmt_apb_adv_timer_ss_ftdecs.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2024 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMT_APB_ADV_TIMER_SS_FTDECS_SV__ 7 | `define __UVMT_APB_ADV_TIMER_SS_FTDECS_SV__ 8 | 9 | 10 | `endif // __UVMT_APB_ADV_TIMER_SS_FTDECS_SV__ -------------------------------------------------------------------------------- /dv/ss/uvmt_apb_adv_timer_ss/src/uvmt_apb_adv_timer_ss_macros.svh: -------------------------------------------------------------------------------- 1 | // Copyright 2024 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMT_APB_ADV_TIMER_SS_MACROS_SVH__ 7 | `define __UVMT_APB_ADV_TIMER_SS_MACROS_SVH__ 8 | 9 | 10 | // Add preprocessor macros here 11 | // Ex: `ifndef UVMT_APB_ADV_TIMER_SS_ABC_WIDTH 12 | // `define UVMT_APB_ADV_TIMER_SS_ABC_WIDTH 32 13 | // `endif 14 | 15 | 16 | 17 | `endif // __UVMT_APB_ADV_TIMER_SS_MACROS_SVH__ -------------------------------------------------------------------------------- /dv/ss/uvmt_apb_adv_timer_ss/src/uvmt_apb_adv_timer_ss_tdefs.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2024 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMT_APB_ADV_TIMER_SS_TDEFS_SV__ 7 | `define __UVMT_APB_ADV_TIMER_SS_TDEFS_SV__ 8 | 9 | 10 | // Add enums and structs here 11 | // Ex: typedef bit [(`UVMT_APB_ADV_TIMER_SS_ABC_MAX_WIDTH-1):0] uvmt_apb_adv_timer_ss_abc_b_t; 12 | // Ex: typedef enum { 13 | // UVMT_APB_ADV_TIMER_SS_EXAMPLE_ABC 14 | // } uvmt_apb_adv_timer_ss_example_enum; 15 | // Ex: typedef struct { 16 | // bit [2:0] abc; 17 | // logic xyz; 18 | // } uvmt_apb_adv_timer_ss_example_struct; 19 | 20 | 21 | `endif // __UVMT_APB_ADV_TIMER_SS_TDEFS_SV__ -------------------------------------------------------------------------------- /dv/ss/uvmt_apb_timer_ss/.gitignore: -------------------------------------------------------------------------------- 1 | docs/dox_out 2 | ip.shrinkwrap.yml -------------------------------------------------------------------------------- /dv/ss/uvmt_apb_timer_ss/README.md: -------------------------------------------------------------------------------- 1 | # Datum APB simple timer unit Sub-System UVM Test Bench 2 | 3 | 4 | # About 5 | This IP contains the Datum APB simple timer unit Sub-System UVM Test Bench. 6 | 7 | # Directory Structure 8 | * `bin` - Scripts, metadata and other miscellaneous files 9 | * `docs` - Reference documentation 10 | * `examples` - Code samples for adding to this test bench 11 | * `src` - Source code 12 | 13 | 14 | # Dependencies 15 | It is dependent on the following IP: 16 | 17 | * `datum/uvmx` 18 | * `datum/uvml_sb` 19 | * `datum/uvma_clk` 20 | * `datum/uvma_reset` 21 | * `datum/uvme_apb_timer_ss` -------------------------------------------------------------------------------- /dv/ss/uvmt_apb_timer_ss/TODOS.azure.csv: -------------------------------------------------------------------------------- 1 | Work Item Type,Title,Priority 2 | Issue,Implement or remove uvmt_apb_timer_ss_test_cfg_c::rules_cons,1 3 | Issue,Implement or remove uvmt_apb_timer_ss_test_cfg_c::post_randomize_work(),1 4 | -------------------------------------------------------------------------------- /dv/ss/uvmt_apb_timer_ss/TODOS.github.csv: -------------------------------------------------------------------------------- 1 | title,description,assignee,state,milestone,labels 2 | Implement or remove uvmt_apb_timer_ss_test_cfg_c::rules_cons,uvmt_apb_timer_ss_test_cfg.sv,,open,, 3 | Implement or remove uvmt_apb_timer_ss_test_cfg_c::post_randomize_work(),uvmt_apb_timer_ss_test_cfg.sv,,open,, 4 | -------------------------------------------------------------------------------- /dv/ss/uvmt_apb_timer_ss/TODOS.gitlab.csv: -------------------------------------------------------------------------------- 1 | title,description,due_date 2 | Implement or remove uvmt_apb_timer_ss_test_cfg_c::rules_cons,uvmt_apb_timer_ss_test_cfg.sv, 3 | Implement or remove uvmt_apb_timer_ss_test_cfg_c::post_randomize_work(),uvmt_apb_timer_ss_test_cfg.sv, 4 | -------------------------------------------------------------------------------- /dv/ss/uvmt_apb_timer_ss/TODOS.jira.csv: -------------------------------------------------------------------------------- 1 | IssueType,Issue ID,Parent ID,Status,Summary,Component,Description 2 | task,0,,To Do,Implement or remove uvmt_apb_timer_ss_test_cfg_c::rules_cons,uvmt_apb_timer_ss,uvmt_apb_timer_ss_test_cfg.sv, 3 | task,1,,To Do,Implement or remove uvmt_apb_timer_ss_test_cfg_c::post_randomize_work(),uvmt_apb_timer_ss,uvmt_apb_timer_ss_test_cfg.sv, 4 | -------------------------------------------------------------------------------- /dv/ss/uvmt_apb_timer_ss/docs/dev_guide.md: -------------------------------------------------------------------------------- 1 | @page uvmt_apb_timer_ss_dev_guide Developer Guide 2 | @htmlonly 3 |
4 | @endhtmlonly 5 | 6 | 7 | @tableofcontents 8 | 9 | 10 | @section uvmt_apb_timer_ss_dev_guide_license_agreement License Agreement 11 | © Copyright 2024 Datum Technology Corporation 12 | 13 | All rights reserved. 14 | 15 | 16 | @section uvmt_apb_timer_ss_dev_guide_revision_history Revision History 17 | Revision | Date | Description 18 | --------- | ---- | ----------- 19 | 1.0 | 2024/1/19 | Initial Version 20 | 21 | @subsection uvmt_apb_timer_ss_dev_guide_description Description 22 | 23 | 24 | @section uvmt_apb_timer_ss_dev_guide_definitions Definitions 25 | Symbol | Definition 26 | ------ | ---------- 27 | 'SYMBOL' | Definition 28 | 29 | 30 | @section uvmt_apb_timer_ss_dev_guide_contents Contents 31 | 32 | 33 | @htmlonly 34 |
35 | @endhtmlonly -------------------------------------------------------------------------------- /dv/ss/uvmt_apb_timer_ss/docs/user_guide.md: -------------------------------------------------------------------------------- 1 | @page uvmt_apb_timer_ss_user_guide User Guide 2 | @htmlonly 3 |
4 | @endhtmlonly 5 | 6 | 7 | @tableofcontents 8 | 9 | 10 | @section uvmt_apb_timer_ss_user_guide_license_agreement License Agreement 11 | © Copyright 2024 Datum Technology Corporation 12 | 13 | All rights reserved. 14 | 15 | 16 | @section uvmt_apb_timer_ss_user_guide_revision_history Revision History 17 | Revision | Date | Description 18 | --------- | ---- | ----------- 19 | 1.0 | 2024/1/19 | Initial Version 20 | 21 | @subsection uvmt_apb_timer_ss_user_guide_description Description 22 | 23 | 24 | @section uvmt_apb_timer_ss_user_guide_definitions Definitions 25 | Symbol | Definition 26 | ------ | ---------- 27 | 'SYMBOL' | Definition 28 | 29 | 30 | @section uvmt_apb_timer_ss_user_guide_contents Contents 31 | 32 | 33 | @htmlonly 34 |
35 | @endhtmlonly -------------------------------------------------------------------------------- /dv/ss/uvmt_apb_timer_ss/src/uvmt_apb_timer_ss_base_test_workarounds.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2024 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMT_APB_TIMER_SS_BASE_TEST_WORKAROUNDS_SV__ 7 | `define __UVMT_APB_TIMER_SS_BASE_TEST_WORKAROUNDS_SV__ 8 | 9 | 10 | // Temporary configuration constraints here (this file should be empty by the end of the project). 11 | 12 | 13 | `endif // __UVMT_APB_TIMER_SS_BASE_TEST_WORKAROUNDS_SV__ -------------------------------------------------------------------------------- /dv/ss/uvmt_apb_timer_ss/src/uvmt_apb_timer_ss_ftdecs.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2024 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMT_APB_TIMER_SS_FTDECS_SV__ 7 | `define __UVMT_APB_TIMER_SS_FTDECS_SV__ 8 | 9 | 10 | `endif // __UVMT_APB_TIMER_SS_FTDECS_SV__ -------------------------------------------------------------------------------- /dv/ss/uvmt_apb_timer_ss/src/uvmt_apb_timer_ss_macros.svh: -------------------------------------------------------------------------------- 1 | // Copyright 2024 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMT_APB_TIMER_SS_MACROS_SVH__ 7 | `define __UVMT_APB_TIMER_SS_MACROS_SVH__ 8 | 9 | 10 | // Add preprocessor macros here 11 | // Ex: `ifndef UVMT_APB_TIMER_SS_ABC_WIDTH 12 | // `define UVMT_APB_TIMER_SS_ABC_WIDTH 32 13 | // `endif 14 | 15 | 16 | 17 | `endif // __UVMT_APB_TIMER_SS_MACROS_SVH__ -------------------------------------------------------------------------------- /dv/ss/uvmt_apb_timer_ss/src/uvmt_apb_timer_ss_tdefs.sv: -------------------------------------------------------------------------------- 1 | // Copyright 2024 Datum Technology Corporation 2 | // All rights reserved. 3 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 4 | 5 | 6 | `ifndef __UVMT_APB_TIMER_SS_TDEFS_SV__ 7 | `define __UVMT_APB_TIMER_SS_TDEFS_SV__ 8 | 9 | 10 | // Add enums and structs here 11 | // Ex: typedef bit [(`UVMT_APB_TIMER_SS_ABC_MAX_WIDTH-1):0] uvmt_apb_timer_ss_abc_b_t; 12 | // Ex: typedef enum { 13 | // UVMT_APB_TIMER_SS_EXAMPLE_ABC 14 | // } uvmt_apb_timer_ss_example_enum; 15 | // Ex: typedef struct { 16 | // bit [2:0] abc; 17 | // logic xyz; 18 | // } uvmt_apb_timer_ss_example_struct; 19 | 20 | 21 | `endif // __UVMT_APB_TIMER_SS_TDEFS_SV__ -------------------------------------------------------------------------------- /lint/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openhwgroup/core-v-mcu-uvm/9319c7ccf4e7eece2b7ecabd24998d7c0657a7b0/lint/.gitignore -------------------------------------------------------------------------------- /mdc_config.yml: -------------------------------------------------------------------------------- 1 | toolchain: 2 | environment-variables: null 3 | packages: 4 | - name: uvm 5 | version: '1.2' 6 | -------------------------------------------------------------------------------- /mdc_ignore: -------------------------------------------------------------------------------- 1 | # Default file patterns to ignore when synchronizing files to the remote disk 2 | *.log 3 | 4 | # Waveform databases 5 | *.vcd 6 | *.mxd 7 | 8 | # Downloaded files from the remote disk 9 | _downloaded_* 10 | tools 11 | sim 12 | lint 13 | docs 14 | .mio/sim 15 | *_backup 16 | -------------------------------------------------------------------------------- /mio.toml: -------------------------------------------------------------------------------- 1 | # Copyright 2022-2023 Datum Technology Corporation 2 | # All rights reserved. 3 | ######################################################################################################################## 4 | 5 | 6 | [project] 7 | name = "core-v-mcu-uvm" 8 | full-name = "CORE-V MCU UVM Test Bench Project" 9 | description = "" 10 | 11 | [simulation] 12 | uvm-version = "1.2" 13 | timescale = "1ns/1ps" 14 | default-simulator = "mdc" 15 | 16 | [ip] 17 | paths = ["dv", "dv/agents", "dv/blocks", "dv/chip", "dv/ss", "rtl", "rtl/core-v-mcu"] -------------------------------------------------------------------------------- /rtl/.gitignore: -------------------------------------------------------------------------------- 1 | core-v-mcu -------------------------------------------------------------------------------- /sim/.gitignore: -------------------------------------------------------------------------------- 1 | regr 2 | cmp 3 | results 4 | -------------------------------------------------------------------------------- /tools/.gitignore: -------------------------------------------------------------------------------- 1 | .imports --------------------------------------------------------------------------------