如何使用 Chisel3 中的实验性功能?

How to use experimental features in Chisel3?

我想使用 this chisel wiki page 中描述的函数从文件加载内存。 但这是一个实验性功能,导入命令:

import chisel3.util.experimental.loadMemoryFromFile

给出构建错误:

[error] /Vamps/src/main/scala/vamps/mivamps.scala:5:21: object experimental is not a member of package chisel3.util
[error] import chisel3.util.experimental.loadMemoryFromFile

我的 build.sbt config 文件中有这些版本(来自 chisel-template):

// Provide a managed dependency on X if -DXVersion="" is supplied on the command line.
val defaultVersions = Map(
  "chisel3" -> "3.1.+",
  "chisel-iotesters" -> "1.2.5+"
  )

我们目前没有支持此 (chisel3.util.experimental.loadMemoryFromFile) 功能的正式发行版本。

您的选择是:

  • 克隆 GitHub master 分支,从源代码构建,然后 publishLocal 凿子组件
  • 使用最近发布的 Chisel 组件的 SNAPSHOT 版本

无论哪种情况,您都需要使用兼容版本的 Chisel 组件,并注意这些版本可能与正式发布的组件版本不兼容。主分支和已发布的 SNAPSHOT 可能包含 API 重大更改,用于即将发布的主要版本。

从源代码构建给您最大的控制权,但也需要更熟悉 Chisel 开发环境,并使您暴露于各种 Chisel 存储库中可能不兼容的更改:我们尝试使存储库的主分支保持同步,但不能保证这一点。在所需的更新恢复与存储库套件的兼容性之前可能会有延迟(通常少于几天)。

使用已发布的 SNAPSHOT 并不是那么前沿:已知已发布的 SNAPSHOT 版本相互兼容(但它们可能与官方发布的版本不兼容)。

要使用已发布的 SNAPSHOT,请将您的默认版本更新为:

val defaultVersions = Map(
  "chisel3" -> "3.2-SNAPSHOT",
  "chisel-iotesters" -> "1.3-SNAPSHOT"
)

我们将整理一个 wiki 页面,更详细地描述这个过程。