问题标签 [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 投票
0 回答
125 浏览

unix-ar - 在构建火箭工具目录(在火箭芯片设置中)时,出现“ar:非法选项组合”错误

我是 Rocket 芯片的新手,正在尝试安装 Rocket 芯片并执行模拟,但是在按照 README.md 文件在 Rocket 芯片设置中创建火箭工具目录时,我收到以下错误:



执行 ./build.sh 命令时出现此错误。

我正在使用 Mac OS sierra 10.12.06。

mac-vsanjay:rocket-tools vsanjay$ which ar /usr/bin/ar

我打开 build.sh 发现这个错误是在执行过程中出现的

build_project riscv-isa-sim --prefix=$RISCV命令。

我还尝试修改调用“ar”命令的 Makefile:

但是这个 cmd 会<build_project riscv-isa-sim --prefix=$RISCV>生成并覆盖 makefile。

请建议如何克服 AR 错误。

0 投票
0 回答
190 浏览

riscv - 有没有开源的 tilelink 验证基础设施?

我们正在构建一个 TileLink 协议转换器,它涉及设置一个生成和记录 TileLink 消息序列的验证环境。我们想知道是否有任何我们可以利用的现有 TileLink 验证抵押品?(很高兴回馈它)

到目前为止,我发现:

0 投票
1 回答
412 浏览

scala - 如何从 Rocket-Chip Chisel 代码中提取独立的 FPU 模块?

我正在研究Rocket Chip Generator,这是一个用 Chisel 编写的 SoC。

我的目标是提取浮点单元,以便对其进行综合并研究其功耗/面积......等。与 SoC 的其余部分分开。

所以我克隆了这个项目并尝试创建一个专用的TestHarness,我只实例化一个FPU。这是我所做的示例代码(非常类似于TestHarness

问题是隐式参数 p (类型Parameters)不包含名为 的东西TileKey,我不知道在哪里需要它。显然,传递给 FPUTestHarness 的隐式参数 p 不包含该信息。我该如何解决?例如,是否可以在某处硬编码?

0 投票
2 回答
416 浏览

scala - sbt 找不到参数 valName 的隐式值

我正在使用 sbt 从源代码构建一些 riscv 繁荣,但 sbt 抱怨它“找不到参数 valName::freechips.rocketchip.diplomacy.ValName 的隐含值”。详细的错误信息如下:

sbt 抱怨的代码如下:

LazyModule 对象代码如下:

我认为 sbt 应该找到一些类型为 freechips.rocketchip.diplomacy.ValName 的 val,但它没有找到这种类型的 val。

0 投票
1 回答
30 浏览

rocket-chip - 使用 CONFIG=DefaultSmallConfig 合成“module Rocket”

我正在尝试使用 DefaultSmallConfig 生成的 verilog 为 22nm 技术合成火箭核心(1 个没有缓存的核心)。即使在 200Mhz (5ns) 时,我也看到时序违规(巨大的负松弛 -250ns),但已发表的文献说它已经实现了高达 1Ghz 的时序。我想知道我在合成步骤中哪里出错了。

任何指针都会对解决问题有很大帮助。谢谢。

0 投票
1 回答
237 浏览

verilog - 为什么在 DRAM 中执行代码后将 Rocket Chip 困在 FPGA 上

我尝试在 Nexys4 DDR 板上启动并运行 Rocket Chip 版本。到目前为止,我设法生成了verilog,综合了设计并附加了一个jtag探针(segger jlink)。可以通过 openocd 和 gdb 访问寄存器和内存。加载一小段 asm 后,内核开始执行,但在第一条执行指令之后直接跳转到 0x0000000。我假设它是陷阱,并且由于陷阱向量未初始化,核心最终为 0。有人知道如何解决这个问题吗?

内核的模拟同时适用于 verilator 和 vcs。在这两种情况下,内核都会毫无怨言地执行三个 asm 指令。

测试的asm代码为:

与此脚本链接:

对象转储:

0 投票
1 回答
170 浏览

riscv - Rocket 芯片上的组关联 TLB

RocketCore.scala我正在尝试解决 Rocket Chip Generator 是否支持集合关联 TLB(L1 和 L2 TLB),但我在or中找不到任何直接的代码PTW.scala。另一方面,更改缓存的关联性HellaCache.scala非常简单。

据我了解,L1 TLB 是完全关联的,而 L2 TLB 是直接映射的。

有没有一种简单的方法来改变我缺少的 Rocket Chip 上 TLB 的集合关联性?如果没有,您是否可以提供任何资源来帮助我在 Rocket Chip 中添加这些功能?

谢谢你。

0 投票
1 回答
90 浏览

rocket-chip - 你能合成RSICV火箭芯片测试工具模块吗?

在我设置火箭芯片后,它生成了示例顶级 Verilog。我可以合成testharness.v模块吗?我手动将代码导入vivado,但出现语法错误SimDTM.v

(import "DPI-C" function int debug_tick)

  • vivado不知道用DPI-C做什么
  • 我错过了一些包裹吗?
0 投票
2 回答
429 浏览

scala - 如何使用外交将 AHB 端口连接到 DRAM 控制器设备

如何从 Rocket-Chip 连接到外部 AHB 从端口(即内存控制器上的 AHB 端口)?在连接到 AXI4 从设备的其他几个示例之后,我尝试对我的代码进行模式化,并且工作正常。但是,当我尝试实现相同的方法时,:=IntelliJ 中红色波浪线中的高亮显示它告诉我它无法连接这两种类型的节点,或者这些类与绑定操作不兼容。我觉得我错过了一些关于这些节点类型的重要概念,这些概念涉及如何将这些设备粘合在一起。

编辑:好的,在将代码库返回到 Chipyard 并使用给定的解决方案之后,即删除 AHBSlaveParameters 中 nodePath 和设备的分配,并将 := 绑定语句更改为:

...相同类型的错误仍然存​​在,涉及绑定操作如何尝试绑定到左侧的某些内容:

注意在最后一行,它试图匹配一个

在 RHS 上推断

在作业的 LHS 上。我不知道为什么编译器会这样输入。下面是我得到的错误输出。我也更新了上面的代码。

mbus.toDRAMController 传递给 := 的 OutwardNodeHandle 可从 AXI4Slave 类型继承,但不能从 AHBSlave 类型继承。

0 投票
1 回答
71 浏览

chisel - 关于外交(火箭芯片)的惰性评估的问题?

我一直在阅读 Chisel 的外交模型。我对这背后的设计理念有疑问。据我所知,Scala 的惰性求值用于注册一些编译时信息,这些信息可以在 FIRRTL 生成之前的细化过程中强制求值,以进行参数协商等元操作。

我的问题是,这是唯一的方法吗?是否可以在 Scala 中创建一个代理对象来注册这些元属性并在调用特定函数时评估它们?然后可以在评估之前调用此函数来进行协商。

我问这个的原因是因为我正在逐步学习 Scala 和 Chisel,因此想了解如何尽可能渐进地构建抽象,而无需尽可能基本的原语。