Questions tagged [rocket-chip]

Use for questions related to the Rocket-Chip SoC generator, used to generate and simulate multi-core RISC-V-based SOCs.

Resources

129 questions
2
votes
1 answer

Implementing a diplomatic AXI Stream interface in Chisel - BundleMap.cloneType error

I am trying to build a minimal example, of how to generate an AXI4Stream interface using Chisel and diplomacy. I am using the diplomatic interface already available in rocket-chip (freechips.rocketchip.amba.axis). I have some experience with Chisel,…
2
votes
1 answer

Developing Generic AXI4 Peripheral with Chisel

I want to develop a generic AXI4 peripheral with Chisel. Can I use the Rocket-Chip's AMBA library for this purpose? I could only find the document in the link below on this subject; MMIO-Peripherals However, the example in this document is designed…
overlord
  • 489
  • 1
  • 7
  • 20
2
votes
0 answers

chisel Vec() in Bundle class cannot be implemented in Module class

The chisel version I'm using is 3.2.2. When I try to create a Vec of member in a Bundle class, code is like, class myIOBundle extends GenericParameterizedBundle { val en = Vec(4, Output(Bool())) val aa = Input(Vec(4, Bool())) // Used in…
hhhhy
  • 21
  • 2
2
votes
1 answer

In chisel, How to generate serval Module with different parameter?

I have a Module monit which has an parameter threshold , then I want to generate serval(e.g.8) Module monit in the wrapper with different threshold . But when I use val monits = Seq.fill(8)(Module(new monit(32))) to create 8 modules monit, they all…
hanmeng
  • 33
  • 3
2
votes
2 answers

option method of boolean Scala / Chisel

I was trying to understand the implementation of the AsyncQueue in the RocketChip , and quite puzzled by the use of option method on Boolean data type (not Option). In the code we have a parametr class : case class AsyncQueueParams( depth: Int …
user3567895
  • 618
  • 3
  • 14
2
votes
1 answer

Increasing AsIDBits from zero

I would like to increase the number of AsIDBits in the Rocket-Chip from zero to eight and was wondering how that could be accomplished. tile/BaseTile.Scala trait HasNonDiplomaticTileParameters { implicit val p: Parameters //... def…
2
votes
1 answer

Accessing regmap RegFields

I am trying to find a clean way to access the regmap that is used with *RegisterNode for creating documentation and testing files. The TLRegisterNode has methods for generating the json through some Annotations. These are done in the regmap method…
l Steveo l
  • 516
  • 3
  • 11
2
votes
1 answer

Extending Data Types or way to add information

It appears that most/all of the Data types in Chisel are sealed classes which do not allow a user to extend from them. Is it possible to add information regarding some user defined fields or to add support in the future? I think there are a few…
l Steveo l
  • 516
  • 3
  • 11
2
votes
0 answers

What is the best way to debug rocke-chip chisel code?

My question is about how to actually understand and modify rocket-chip code. Reading the documentation, it seems to me that running the emulator with +verbose flag to enable prinf is the recommended way. I am not sure about the effectiveness of…
2
votes
1 answer

Running OpenOCD fails with jtagRocketConfig

This is what I get when I try to connect Software RTL simulation and OpenOCD: xPack OpenOCD, x86_64 Open On-Chip Debugger 0.10.0+dev-00068-ge1e63ef30 (2020-03-16-05:57) Licensed under GNU GPL v2 For bug reports, read …
yildizabdullah
  • 1,895
  • 5
  • 24
  • 37
2
votes
1 answer

What does this Chisel exception mean: Caused by: chisel3.package$RebindingException: Attempted reassignment of binding to Reset

I got the error chisel3.package$RebindingException: Attempted reassignment of binding to Reset(IO in unelaborated TLDebugModule) when attempting to change the module (TLDebugModule) from a regular Module to a RawModule. I'm not sure what this…
user839768
  • 103
  • 5
2
votes
1 answer

How to generate a random Scala Int in Chisel code?

I am trying to implement the way-prediction technique in the RocketChip core (in-order). For this, I need to access each way separately. So this is how SRAM for tags looks like after modification (separate SRAM for each way) val tag_arrays =…
2
votes
1 answer

Question regarding lazy evaluation for Diplomacy (rocket-chip)?

I have been reading through the Diplomacy model for Chisel. I had a question regarding the design philosophy behind this. As I can understand, the lazy evaluation of Scala is used to register some compile time information which can be forced to…
Anmol Sahoo
  • 165
  • 5
2
votes
1 answer

Set-associative TLB on Rocket Chip

I am trying to address if Rocket Chip Generator supports a set-associative TLB (both for L1 and L2 TLB) but I cannot find any straightforward code about that in RocketCore.scala or PTW.scala. On the other hand changing the associativity of the…
ncppd
  • 55
  • 8
2
votes
1 answer

Why traps Rocket Chip on FPGA after code execution in DRAM

I try to get a version of Rocket Chip on a Nexys4 DDR board up and running. So far I managed to generate the verilog, synthesize the design and attach a jtag probe (segger jlink). It is possible to access registers and memory via openocd and gdb.…
mdxg
  • 45
  • 4
1
2
3
8 9