问题标签 [rocket-chip]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
393 浏览

scala - 重新定位,现在面临 Scala 依赖问题

我不太确定在 rebase 之前我在火箭芯片回购中的位置,但它是在转换为使用 Scala 2.12.4 之前(以前我在 2.11.12)。

git submodule update在尝试重建之前,我已经重新定位,解决了几个 Chisel 文件中的冲突并运行了一个火箭芯片。

我现在面临一个我认为与硬浮动有关的依赖问题?

我的工作是基于25b5a25 (upstream/master) 2018-08-25 (2 days ago) Wesley W. Terpstra Merge pull request #1603 from freechipsproject/fix-regressions

我的编译摆脱了这个:

我尝试将 hardfloat 的头移到 Jack Koenig 的提交 7903547 中,该提交添加了一些 crossScalaVersions 设置以支持 2.12.14,但这并没有帮助。

0 投票
1 回答
195 浏览

verilog - 获取 Rocket 芯片来读取指令并执行它们?

从 Rocket 芯片中删除复位后,我希望它开始从内存中读取指令,但事实并非如此。

Vivado 提供的 ILA(集成逻辑分析仪)确实表明 AXI 接口处于非活动状态,并且没有执行任何读取命令。

如何让 Rocket 芯片读取指令并执行它们?

非常感谢您提前。

0 投票
2 回答
387 浏览

chisel - 如何将 sbus 主机添加到火箭芯片外围设备

我正在尝试在火箭芯片上实现类似 DMA 的外围设备。意思是连接到 pbus 并由寄存器控制的模块。它还有一个连接到 sbus 的主机。

我遵循siive格式来附加寄存器控制的外围设备,没有任何问题。我的问题是如何添加 sbus master ?,下面是我在走到死胡同之前尝试过的。

在附加参数类中,我添加了 sbus:

然后我修改了工厂对象中的attach方法:

mndoe 是我添加到 dma 类的一个节点,如下所示:

mbus.from() 方法的主体应该是什么?尝试构建此代码会出现此错误:

任何帮助将不胜感激,在火箭芯片 github 问题论坛中,他们不再回答支持问题。因此,如果那里的人可以在这里回答,那就太好了,因为我真的被困在这里。

PS只是添加调用attach方法的方式:

更新:

实现 mbus.from() 方法的主体如下:

确实从 SBUS 上的 dma 创建了一个耦合器,但它没有连接到 dma 外围设备。有任何想法吗 ?

0 投票
1 回答
172 浏览

rocket-chip - 默认缓存参数,如何更改,限制等

我是火箭芯片发生器的新手,还在学习。我想知道的第一件事是如何参数化 l1 d 缓存。我做了一些研究,但似乎信息不是最新的。例如,在 src/main/scala/config.scala 中,没有像 README 中提到的那样定义 d 缓存参数。有些人提到 coreplex/config.scala 但我也找不到。有人能告诉我默认参数在哪里定义以及如何更改它们吗?另外,tinycore、bigcore 和其他预定义的核心在哪里定义?

0 投票
0 回答
80 浏览

chisel - Rocketchip TileLink 增加突发传输大小

我想在 RocketChip TileLink 节点的单个 Get/Put 突发中传输 2048 个字节。

我执行以下操作:

如果我将 a_size 增加到 8 或 10,我会收到以下错误:

'A' 频道带有经理不支持的获取类型

我该如何解决这个问题?

0 投票
1 回答
162 浏览

scala - 如何更改 Rocket Chip 中非阻塞数据缓存的缓存行大小?

我正在对 Rocket Chip 的 NBDCache 做一些实验。我想改变缓存行的大小,并说明性能改进和 L1 缓存的存储开销之间的权衡。

我发现 Rocket 芯片中缓存线的默认值为 64 位,相对较小。我试图通过在子系统/config.scala 中为 WithNBigCores 定义的参数来更改缓存行大小,但是在编译新代码时我得到了以下断言。

我正在寻找在 Rocket Chip 中更改缓存线大小的过程。

0 投票
0 回答
51 浏览

chisel - 运行baremetal或pk程序时,双核验证器中只有一个Core ACTIVE

我正在使用 Verilator(模拟器)的双核版本。但是我发现当我使用这样的命令运行 pk 程序的裸机时,只有一个内核处于活动状态:

或者

我使用如下所示的命令构建了 Verilator:

非常感谢您对此的任何想法!

0 投票
1 回答
309 浏览

vivado - 如何在 Vivado 上合成 Rocket-Chip?

我正在尝试在 Vivado 上合成 Rocket-Chip。我能够在 Vivado 上运行仿真并获得所需的结果。但是,当我合成相同的设计并运行合成后仿真时,我不会得到相同的结果。我使用了在 vsim 目录中运行“make verilog”后生成的 2 个文件。对于综合,我定义了变量“SYNTHESIS”。我可能会错过哪些事情以获得适当的结果?

0 投票
1 回答
183 浏览

riscv - 如何在火箭核心中配置 xLen?

我正在尝试使用火箭核心作为基线核心并添加一些额外的功能用于研究目的,但我找不到在哪里或如何更改值“xLen”。

0 投票
3 回答
388 浏览

chisel - :*= 和 :=* 运算符的含义是什么?

我在RocketChip中看到了一些示例,但在API 参考中找不到信息