Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a way of injecting user module for clock gate(s) #54

Merged
merged 1 commit into from
Apr 27, 2023

Conversation

mkurc-ant
Copy link
Collaborator

@mkurc-ant mkurc-ant commented Feb 15, 2023

This PR allows injecting user modules that replace clock gates without the need for modifying RTL code (answer to #50).

The config script allows to set additional parameters which end up in code as capitalized defines:

  • tech_specific_ec_rv_icg - enables usage of the user module
  • user_ec_rv_icg - specifies the module name

There's an example user module in testbench/user_cells.sv that can be used to test the new behavior. One can do:

configs/veer.config -set=fpga_optimize=0 -set=user_ec_rv_icg=user_clock_gate -set=tech_specific_ec_rv_icg=1
make -f tools/Makefile

which will run verilated simulation that uses the user module.

@rahuljainNV
Copy link

This change looks good to me.

@mkurc-ant mkurc-ant changed the base branch from main to main-next April 27, 2023 07:26
@kgugala kgugala merged commit cff6273 into chipsalliance:main-next Apr 27, 2023
@kgugala kgugala deleted the user_clock_gate branch April 27, 2023 07:28
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.

3 participants