0

There is a file rocc.scala in rocket repo which describes rocc interface, I want to build its verilog code and see the code. My problem is that I don't know how I can import other packages to my project such as "uncore." or "Util." and run SBT.

Right now for building a new project I just use build.sbt and chisel-dependent.sbt files located in chisel-tutorial/problems folder

Thanks

Moriss
  • 325
  • 2
  • 12

1 Answers1

2

Although chisel may be unfamiliar, it will probably be much more readable than the verilog generated by it. If you are curious about the RoCC interface, I recommend checking out the slides from the last RISC-V workshop.

If you really want to look at the generated verilog for these components, I would actually recommend starting with the Rocket-Chip repo. From within that repo, clone the rocc-template and change to the sha3 branch. The Rocket-Chip repo will automatically detect the submodule, and attach it to the RoCC interface. You can also look at the template repo for an example of how to instantiate a project to be incorporated into Rocket-Chip.

user2548418
  • 1,531
  • 10
  • 17
  • Thanks, I've seen those slides but I need more information about cacheIO part. Right now I'm reading their `rocc-template` repo especially `ctrl` module. But my problem is that there are some parts of the code that I can't understand what is happening even though I've read their tutorial completely. I have a good experience in Verilog, however, that's why I decided to generate .v file and then what is happening in the code – Moriss May 21 '15 at 00:49
  • For example in some part of the code they are using `fire()` function or `busy()` or `debug()` which I don't know what they mean – Moriss May 21 '15 at 00:50
  • fire, busy, and debug are actions done from by Chisel. The Queue is a decoupled interface using ready/valid signaling, and fire indicates an item was transferred (ready & valid). Busy is defined within rocc.scala. In general, I really do recommend reading the Chisel code over reading the verilog output (to understand what it is trying to do). – user2548418 May 21 '15 at 18:50
  • Thanks, I see what you are saying. About debug() do you know what it's doing exactly? I find out about others but debug? – Moriss May 25 '15 at 19:21
  • What are you referring to? Where are you seeing `debug`? – Chris May 26 '15 at 22:40