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

Stage/Phase Migration #424

Closed
seldridge opened this issue Feb 4, 2020 · 2 comments
Closed

Stage/Phase Migration #424

seldridge opened this issue Feb 4, 2020 · 2 comments

Comments

@seldridge
Copy link
Member

Impact: other

Description

@debs-sifive has been working on moving Rocket Chip to Stage/Phase infrastructure (see: chipsalliance/rocket-chip#2274). This likely has implications for Chipyard or any projects which define new generators. As Chipyard is a big stakeholder, it would be good to have inputs from Chipyard on how this should work and/or a joint jump to Stage/Phase.

This feature request is both:

  1. An inquiry into how complicated it would be to migrate Chipyard to Stage/Phase
  2. A request for this to be done

This is then intended to provide input to Rocket Chip Stage/Phase PRs related to:

  1. Is it safe to change the command line API of Rocket Chip?
  2. Can the existing Generator be removed?
  3. What should an expected deprecation schedule look like for removing the Generator?
  4. How should additional test suites be specified to the Rocket Chip stage?

What is a motivating example for changing the behavior?

  1. Migrate to new infrastructure
  2. The usual stage/phase pitch of switching the generation process to composition of functions
  3. The ability to use the dependency API
@colinschmidt
Copy link
Contributor

I've already done this in the past to use aspects. It was a pain to hack on rocket-chip so it was shelved until that was fixed. Now that it has been (thanks you two) fixed I expect to get back to it.

Specific responses:

  1. I actually wanted to change the command line API and was annoyed at rocket-chip's rigid requires limiting the extensibility of the command line args.
  2. I believe the answer is yes, and for stage phase it was actually getting in the way. We have several downstream generators but all of them would probably be able to handle the change (some may appreciate a less rigid structure).
  3. This question is harder but since rocket-chip doesn't really have releases it doesn't seem super relevant. Chipyard has releases every few months but has not made backwards compatibility guarantees so it may not truly need a schedule but we will discuss that at our next meeting.
  4. This is a good question that I don't have a good answer to yet.

@alonamid
Copy link
Contributor

I believe most have these were addressed by @davidbiancolin and resolved by #503

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants