700 questions
0
votes
0
answers
35
views
Can I insert a folder (directory) instead of a file as a BlackBox in Chipyard?
I am trying to configure an MMIO Peripheral (= MMIO Accelerator, 11page) consisting of a 4x4 NoC in Chipyard. In this process, I would like to insert a SystemVerilog-based NoC as a BlackBox. However, ...
1
vote
0
answers
43
views
How do I peek a Bundle in ChiselSim?
I'm trying to test a circuit with ChiselSim. The input to the circuit is a Bundle (without nesting) which I can poke without any problem, but when I try to peek the output of the same type I get an ...
1
vote
1
answer
92
views
To what extent can I expect the original FIRRTL compiler to optimize?
For now I am still using the final release of the original FIRRTL compiler that was archived in 2024.
I am using to software compilers going to great lengths to optimize code, performing constant ...
0
votes
0
answers
33
views
mill debugger intellij in Xiangshan project
I'm trying to debug the XiangShan RISC-V SoC project using IntelliJ IDEA with Mill and BSP.
I've followed all recommended steps (scala, the mill build tool, and the IntelliJ debugger) but breakpoints ...
0
votes
0
answers
54
views
Problem with Tilelink protocol handshake between Rocket Core and a MMIO device
I am trying to add a MMIO device to rocket-chip in chipyard and I want to use Tilelink interface. This MMIO device is intended to be a slave and the rocket-core as the master. For this, I created a ...
0
votes
0
answers
36
views
Parameterization in Gemmini
I wanted to explore the parameterization in Gemmini. So I modified the mesh row and mesh column of GemminiConfigs.scala and Configs.scala like this:
previously mesh row and mesh column was 16, I ...
1
vote
1
answer
43
views
How do I initialize a Vec inside a Bundle literal in Chisel?
I'm trying to test a module which takes as input a UInt that follows the structure of this Bundle:
class Sample(n_attr: Int, n_classes: Int, n_depths: Int, info_bit: Int, tree_bit: Int) extends Bundle{...
1
vote
0
answers
37
views
Adding an AttributeAnnotation to a SyncReadMem object in latest Chisel versions
I am trying to annotate a SyncReadMem object with with a verilog attribute in the newer versions of Chisel (>3.6.1). I'm using Chisel mostly for FPGA development, and so for the different FPGA ...
0
votes
1
answer
181
views
In Chisel3, how to add `mark_debug = "true"` attribute to an internal signal in the output SystemVerilog file?
As stated in the title, I want to easily make any internal signals in my design to be available for debugging in Vivado (mostly ILA). In version 3.5.3 I was able to use a snippet to do it, however in ...
0
votes
0
answers
22
views
Chisel3 VCD waveform dump does not update a signal
I am simulating a simple AND gate in Chisel3/Scala.
import chisel3._
class ChiselPractice extends Module {
val io = IO(new Bundle {
val in1 = Input(Bool())
val in2 = Input(Bool())
val ...
0
votes
1
answer
85
views
How to disable `ifdef FIRRTL_BEFORE_INITIAL` in Chisel?
When generating code, I get garbage like
`ifdef ENABLE_INITIAL_REG_
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif // FIRRTL_BEFORE_INITIAL
initial begin
automatic ...
1
vote
1
answer
73
views
In RISCV, is Each thread has a own PC value in multithreading Program?
Im currently working on a Hard ware for Data Race detect
So I track each instructions and made history table for race detect.
I made C program for Intended data race and Track instructions by PC value
...
2
votes
1
answer
580
views
How to generate Verilog rather than SystemVerilog from Chisel?
Here is my GCD.scala
package gcd
import chisel3._
class GCD extends Module {
val io = IO(new Bundle {
val value1 = Input(UInt(16.W))
val value2 = Input(UInt(16.W))
val ...
1
vote
0
answers
130
views
How to obtain emulator binary in latest rocket-chip using mill and chisel 5.0.0?
I've setup Chisel 5.0.0 and firtool as I explained in this other question. I also installed successfully mill and rocket-tools as instructed here and here.
This prepared the stage for getting the ...
0
votes
0
answers
38
views
error message chisel when call a module in another module
I have defined the class fu_data_t and cap_result_t in a scala file, which is used in the class crevokeModule in another scala file. Then, crevokeModule is used in the class AluDataModule. Finally, ...