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
1
vote
1 answer

TIMESCALEMOD verilator error when attempting to add a new black box in chisel

I'm trying to add a new blackboxed verilog module to the chipyard hardware generation framework and simulate it with verilator. My changes pass chipyard's scala compilation phase in which the chisel hardware specification is compiled into verilog.…
1
vote
1 answer

How to assign data to a register in chisel?

I initialized two registers in my accelerator like val one = RegInit(0.U(5.W)) val two = RegInit(0.U(5.W)) If I have loaded a data to my rs1(R-type instruction) in my C test code, I wanted to assign this value to my self-defined register 'one'. I…
Lei Niu
  • 13
  • 2
1
vote
1 answer

Timescale missing on the module as other modules have it Verilator error

I am trying to add an accelerator to the rocket chip framework through the MMIO peripheral. I went through the GCD example and was able to build the basic GCD code. I then replaced the GCD with an accelerator which has it's own Config, Parameters…
CV_Ruddha
  • 406
  • 2
  • 13
1
vote
1 answer

Why would FifoFixer's `stall` signal go high forever?

I'm attempting to do these rather large DMA transfers over the frontbus to memory. The frontbus is ready and no other clients are contending for the front bus at the moment this occurs. My AXI client connected in its 15th 2kB transfer is unable to…
metzkorn
  • 335
  • 2
  • 8
1
vote
1 answer

Adding an MMIO peripheral to Rocket-chip as a submodule

I followed the MMIO Peripherals page from the Chipyard documentation to learn about adding modules to rocket-chip within Chipyard framework - and all that seems to have worked pretty well. I summed up my experiences and tried to write it in a slower…
apaj
  • 191
  • 11
1
vote
1 answer

What are these `a.bits.user.amba_prot` signals and why are they only uninitialized conditionally in my HarnessBinder?

Context: I began using Chipyard about a month back to facilitate the building of a quick prototype using RISC-V cores on the VCU118. Chipyard was perfect, but required me to step up and learn Chisel and Rocket-chip tools to extend interconnection to…
metzkorn
  • 335
  • 2
  • 8
1
vote
0 answers

Unrecognized opcode in creating custom RISC-V instruction

I've downloaded the rocket-chip repo and the corresponding rocket-tools repo. Everything works just fine when I initially build everything. I've created my own tightly coupled accelerator for the AES algorithm and want to test it using the custom-0…
ttle
  • 13
  • 2
1
vote
1 answer

Differences between LazyModule and LazyModuleImp

What are the differences between LazyModule and LazyModuleImp? Like the diplomacy demo under rocket-chip/doc says: The desired hardware for the module must be written inside LazyModuleImp. But considering following codes: class A(implicit p:…
Phantom
  • 165
  • 1
  • 8
1
vote
2 answers

how to understand the flip in autobundle() and in makeios?

In LazyModule.scala , function AutoBundle() flip the Data(bundleIn) in dangleIn with flipped = true to make autoIO, while in Nodes.scala , function makeIOs() in class sourceNode flip the bundleOut to make IOs , why are they different? AutoBundle()…
李junhong
  • 11
  • 1
1
vote
0 answers

How to link verilog blackbox to memory of rocketchip in chisel?

I am trying to attach a verilog module to rocketchip's memory. More precisely, I want to integrate a memory encryption engine as a blackbox. My idea is to link my verilog module to memAXI4Node of trait CanHaveMasterAXI4MemPort and io_axi4 node of…
1
vote
0 answers

multiple definition of `bitbang_swd' when building rocket-chip tools

I am trying to build rocket-chip tools according to instructions here: https://github.com/chipsalliance/rocket-tools/blob/master/README.md I face the following error: /usr/bin/ld:…
MatsB
  • 91
  • 1
  • 6
1
vote
1 answer

How to create memory in rocket-chip generator which will map as block ram in FPGA after synthesis?

I tried using Mem(1024,UInt(width=xLen)); but after synthesizing generated verilog file in Xilinx vivado.The memory mapped as distributed ram. It's really tough to understand and edit generated RTL file. Is there any explicit way to define memory…
1
vote
0 answers

How to synchronise a bundle between 2 clock domains in chisel

I'm trying synchronise a bundle of signals between 2 modules in different clock domain. I can do it by manually instantiating AsyncQueue between them , and also take care of hooking the clock & reset for each side. It seems like there is a seem-less…
user3567895
  • 618
  • 3
  • 14
1
vote
1 answer

How do I make an individual Rocket tile asynchronous to the rest of the system

I have a multicore rocket-chip system. However I'd like one of those rocket tiles to be asynchronous from the rest. We're trying to do that with the following: class WithTilesCrossing extends Config((site, here, up) => { case RocketCrossingKey =>…
jbaxter
  • 182
  • 10
1
vote
1 answer

sbt.TrapExitSecurityException error message in from Chisel (rocket-chip)

I have gotten this fascinating exception (no additional backtrace, that's it) in rocket-chip Chisel elaboration. [info] [0.003] Elaborating design... ------------------------------------------------------------------------------ Error: Exception…
user839768
  • 103
  • 5
1 2 3
8 9