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

[rebar] add sifive blocks | add rebar configs for boom #69

Merged
merged 14 commits into from
Apr 23, 2019

Conversation

abejgonzalez
Copy link
Contributor

Added sifive-blocks without actually using it. Added BOOM rebar configurations.

Question to the pro Chisel devs in the group. Is there any way for the BuildTop parameter to be general so that both BoomTop and RocketTop work? Similar to a upper bound type for a class parameter? I was unable to figure this out, but I figured this was sufficient for now since it matches firechip

@alonamid
Copy link
Contributor

Why does boomexample need to be a separate package than example?
Do you have an example of a config that has both a boom core and a rocket core?
Might also be worth changing the names of current ExampleTop to RocketExampleTop (to keep in symmetrical with BoomExampleTop).

Copy link
Contributor

@colinschmidt colinschmidt left a comment

Choose a reason for hiding this comment

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

You should add an example that has some sifive-block peripheral maybe GPIOs?
I'm ok with that being a separate PR if you think it would be cleaner.

build.sbt Outdated Show resolved Hide resolved
@colinschmidt
Copy link
Contributor

I also agree with Alon about creating extra packages.

@abejgonzalez
Copy link
Contributor Author

@alonamid @colinschmidt

  1. Separate packages: The separate packages were just following what firechip did. I will go ahead and combine it into a single package (although names will get a bit longer so there are no naming conflicts)

  2. Boom + Rocket: No, I don't have a config for that yet. I was going to not put a heterogeneous multicore config in this PR.

  3. ExampleTop naming: Sounds like a plan

  4. SiFive Peripheral: I think that would be a separate PR. Which one do we want?

@abejgonzalez
Copy link
Contributor Author

Actually, are you all in favor of getting rid of the example in all the class names and just having a comment header saying "THESE ARE EXAMPLE CONFIGS". Otherwise, adding example everywhere is kinda redundant.

src/main/scala/example/Configs.scala Outdated Show resolved Hide resolved
@colinschmidt
Copy link
Contributor

Can you make sure you can run an assembly test on both boom and rocket before merging this?
Otherwise things make sense.

@abejgonzalez
Copy link
Contributor Author

Okay, I think this PR is ready to be merged in.

I addressed @colinschmidt concerns about building rocket. See the SUB_PROJECT=rocketchip to see the proper configs to set.

Additionally, made sure that asm tests ran correctly on rebar boom, rebar rocket, rocketchip, and boom.

Copy link
Contributor

@davidbiancolin davidbiancolin left a comment

Choose a reason for hiding this comment

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

This looks good.

Spitballing here, but I'm wondering if we can just mandate that all designs extend a trait "tieOffIOInTestHarness", that has a method (implicit p) => Unit that just barfs out all of the requisite hardware for RTL simulation, BuildTop can just return a Module that extends that trait and this can be invoked in the testHarness.

build.sbt Show resolved Hide resolved
src/main/scala/example/ConfigMixins.scala Show resolved Hide resolved
@abejgonzalez abejgonzalez merged commit a3516a3 into rebar-dev Apr 23, 2019
@colinschmidt colinschmidt deleted the rebar-dev-boom branch August 16, 2019 01:27
jerryz123 pushed a commit that referenced this pull request Apr 19, 2023
* * Separate connect methods of BlockDevice, SerialAdapter, and UARTAdapter into objects for modularity
* Fix deprecation warnings

* SerialIO should not be an Option

* Add suggestName for uart_sim

* CR feedback; Move the option logic into SerialAdapter methods
jerryz123 pushed a commit that referenced this pull request Apr 19, 2024
Fix macrocompiler for RW mask port
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.

5 participants