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 clone-tile configs #1322

Merged
merged 3 commits into from
Feb 4, 2023
Merged

Add clone-tile configs #1322

merged 3 commits into from
Feb 4, 2023

Conversation

jerryz123
Copy link
Contributor

@jerryz123 jerryz123 commented Feb 2, 2023

Rocket-chip now supports "cloning" lazy modules. The primary use-case is to "clone" duplicated tiles, instead of re-elaborating the Chisel for each tile.

This PR adds example configs Cloned64RocketConfig and Cloned64MegaBoomConfig to demonstrate this features.

Cloned64MegaBoomConfig can compile a VCS simulator in < 15 minutes.

Related PRs / Issues:

Type of change:

  • Bug fix
  • New feature
  • Other enhancement

Impact:

  • RTL change
  • Software change (RISC-V software)
  • Build system change
  • Other

Contributor Checklist:

  • Did you set main as the base branch?
  • Is this PR's title suitable for inclusion in the changelog and have you added a changelog:<topic> label?
  • Did you state the type-of-change/impact?
  • Did you delete any extraneous prints/debugging code?
  • Did you mark the PR with a changelog: label?
  • (If applicable) Did you update the conda .conda-lock.yml file if you updated the conda requirements file?
  • (If applicable) Did you add documentation for the feature?
  • (If applicable) Did you add a test demonstrating the PR?
  • (If applicable) Did you mark the PR as Please Backport?

Comment on lines -80 to -81
// create file with core params
ElaborationArtefacts.add("""core.config""", outer.tiles.map(x => x.module.toString).mkString("\n"))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess this becomes too unwieldy with tons of cores? I personally liked this for quick readability of params.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Its because trying to access tile.module in a cloned LazyModule causes problems. There needs to be a differnt way to report core params.

@jerryz123 jerryz123 merged commit 2f93507 into main Feb 4, 2023
@jerryz123 jerryz123 deleted the clonetiles branch February 5, 2023 03:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants