Skip to content

[clkmgr, dv] Clock Manager DV ported to Mocha#560

Draft
KolosKoblasz-Semify wants to merge 13 commits into
lowRISC:mainfrom
KolosKoblasz-Semify:kk_clk_mgr_dv
Draft

[clkmgr, dv] Clock Manager DV ported to Mocha#560
KolosKoblasz-Semify wants to merge 13 commits into
lowRISC:mainfrom
KolosKoblasz-Semify:kk_clk_mgr_dv

Conversation

@KolosKoblasz-Semify
Copy link
Copy Markdown
Collaborator

@KolosKoblasz-Semify KolosKoblasz-Semify commented May 18, 2026

The PR is in draft state only to enable collaboration.
Failing command: dvsim hw/top_chip/ip_autogen/clkmgr/dv/clkmgr_sim_cfg.hjson -i smoke --cov

Linked to issue #432

 * open titan specific paths changed to mocha specific ones
   in the template files
 * 0001_Fix_Paths_And_Tools.patch file created with the changes

Signed-off-by: Kolos Koblasz <kolos.koblasz@semify-eda.com>
 * The patched config and template config files
   added to the source code

Signed-off-by: Kolos Koblasz <kolos.koblasz@semify-eda.com>
 * 0002 patch fixes the auto generated
   reset manager's dv files therefore enabling
   block level simulations to be run

Signed-off-by: Kolos Koblasz <kolos.koblasz@semify-eda.com>
 * These modifications will enable to run
   block level simulations on rstmgr
   while using correct reset signals and domains
   in the UVM tb.

Signed-off-by: Kolos Koblasz <kolos.koblasz@semify-eda.com>
 * rstmgr's smoketest added to top level
   simulation list

Signed-off-by: Kolos Koblasz <kolos.koblasz@semify-eda.com>
 * changes in hw/vendor/patches/lowrisc_ip/i2c/0002-Fix-Widths.patch
   file got implemented in upstream repo, making this patch redundant.
 * this commit removes the patch file

Signed-off-by: Kolos Koblasz <kolos.koblasz@semify-eda.com>
 * Upstream repo now contains the patch file, therfore
   hw/vendor/patches/lowrisc_ip/prim_xilinx/0001_Mem_Init_String.patch
   is deleted

Signed-off-by: Kolos Koblasz <kolos.koblasz@semify-eda.com>
Update code from upstream repository
https://github.com/lowRISC/opentitan to revision
7e53929271cf69fce17966be5b665ba91df17694

* [alert,dv] Don't return too early from a ping (Rupert Swarbrick)
* [dv] Rationalise dv_base_driver reset tracking (Rupert Swarbrick)
* [dv] Restructure the way jtag_dmi_reg_frontdoor is given dmi/dtmcs
  (Rupert Swarbrick)
* [aes/dv] Add RAL type override to allow separating GCM and non-GCM
  DV (Pirmin Vogel)
* [hw/otbn] Add new HPC gadgets (Hakim Filali)
* [prim/rtl] Improve prim_fifo_async_simple for rv_dm and lc_ctrl
  (Neil Webb)
* [clkmgr/cdc] Deglitch on shadow register error alerts (Neil Webb)
* [prim/rtl] Explicitly assign values to FSM states in
  prim_sync_reqack (Neil Webb)
* [rstmgr, DV] Fixed the message and ID body inside (Kinza Qamar)
* [i2c,hw] Correct assign/compare widths (Elliot Baptist)
* [dv] Pass is_active from cip_base_env_cfg to alert and TL agents
  (Rupert Swarbrick)
* [dv] Stop jtag_dmi_monitor depending on jtag_agent_cfg (Rupert
  Swarbrick)
* [dv] Beta-reduce slightly silly templating in fpv_csr.sv.tpl (Rupert
  Swarbrick)
* [dv] Fix REGWEN_PATH in fpv_csr.sv.tpl (Rupert Swarbrick)
* [top/templates] Indentation and whitespaces fixes (Florian Glaser)
* [topgen] Automatically generate port map for toplevels (Florian
  Glaser)
* [clkmgr,dv] Fix invalid type in clkmgr_regwen_vseq (Rupert
  Swarbrick)
* [tl,dv] Make TL assertions cause simulation failure when they fail
  (Rupert Swarbrick)
* [topgen,sw] Fix operations between different enum types, part II
  (Luís Marques)
* [rv_plic,rtl] Move the onehot0 checks to rv_plic_gateway (Rupert
  Swarbrick)
* [rv_plic,doc] Add some careful documentation to rv_plic_gateway.sv
  (Rupert Swarbrick)
* [rv_plic,rtl] Simplify code for ia update in the gateway (Rupert
  Swarbrick)
* [rv_plic,rtl] Simplify ip_o rule in rv_plic_gateway (Rupert
  Swarbrick)
* [rv_plic,fpv] Add an assertion about relationship between ia and ip
  (Rupert Swarbrick)
* [I2C, dv] Removed unused argument (Kinza Qamar)
* [tl,dv] Clear the stop flag at the end, not the start, of body()
  (Rupert Swarbrick)
* [I2C, dv] Simplified i2c_device_response seq's drive_read_byte()
  (Kinza Qamar)
* [i2c/rtl] Change VAL register input to synced SCL/SDA (Neil Webb)
* [I2C, dv] Removed the unused i2c_dv_if (Kinza Qamar)
* [dv] Simplify key sideload driver (Rupert Swarbrick)
* [dv] Allow a cfg to be passed directly to dv_base_agent (Rupert
  Swarbrick)
* [hw,prim] Add new prim_inv (Hakim Filali)
* [prim] Add prim_flop_x module to wrap different prim_flop variants
  (Pirmin Vogel)
* [dv] Remove csr_base_addr argument from dv_base_env_cfg::initialize
  (Rupert Swarbrick)
* [dv] Add "Monitor" to if_mode_e (Rupert Swarbrick)
* [hw] gpiodpi: fix backwards log message (Alice Ziuziakowska)
* [pwrmgr,dv] Remove do-nothing $assertoff (Rupert Swarbrick)

Signed-off-by: Kolos Koblasz <kolos.koblasz@semify-eda.com>
 * As result of previous patches to template files
   new dv files are generated for rstmgr.

Signed-off-by: Kolos Koblasz <kolos.koblasz@semify-eda.com>
 * tool changed from vcs to xcelium
 * different configuration file paths fixed
   to support mocha repo

Signed-off-by: Kolos Koblasz <kolos.koblasz@semify-eda.com>
 * Path and tool fixes applied to template files

Signed-off-by: Kolos Koblasz <kolos.koblasz@semify-eda.com>
 * clkmgr related generated testbench files commited

Signed-off-by: Kolos Koblasz <kolos.koblasz@semify-eda.com>
 * now clkmgr tests are automatically run with other
   mocha tests

Signed-off-by: Kolos Koblasz <kolos.koblasz@semify-eda.com>
@martin-velay martin-velay changed the title Clock Manager DV ported to mocha [clkmgr, dv] Clock Manager DV ported to Mocha May 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant