You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Chisel 3.6.0升级至5.0.0-RC1:Chiseltest替代及升级文档咨询

Chisel 3.6.0 升级至 5.0.0-RC1 实操指南

核心依赖调整

Chisel 5.x 已弃用原 chiseltest 模块,需替换为官方推荐的测试套件及后端:

  • 移除原有 org.chipsalliance:chiseltest 依赖
  • 更新核心 Chisel 依赖至 org.chipsalliance:chisel3_3:5.0.0-RC1(_3 对应 Scala 3 版本,若使用 Scala 2.13 则改为 _2.13)
  • 添加测试套件依赖 org.chipsalliance:chisel-testkit_3:5.0.0-RC1(仅需添加至测试范围)

测试框架迁移

原 chiseltest 的测试 API 已整合至 chisel-testkit,代码调整示例如下:

旧代码(3.6.0 版本)

import chisel3._
import chiseltest._
import org.scalatest.flatspec.AnyFlatSpec

class MyModuleTest extends AnyFlatSpec with ChiselScalatestTester {
  "MyModule" should "execute correctly" in {
    test(new MyModule) { c =>
      c.io.in.poke(1.U)
      c.clock.step(1)
      c.io.out.expect(1.U)
    }
  }
}

新代码(5.0.0-RC1 版本)

import chisel3._
import chisel.testkit._
import org.scalatest.flatspec.AnyFlatSpec

class MyModuleTest extends AnyFlatSpec with ChiselTestKit {
  "MyModule" should "execute correctly" in {
    test(new MyModule) { c =>
      // 核心测试API基本兼容,部分细节需参考新文档调整
      c.io.in.poke(1.U)
      c.clock.step(1)
      c.io.out.expect(1.U)
    }
  }
}

测试后端配置

Chisel 5.x 支持两种主流测试后端,按需添加对应依赖:

  • Treadle(纯 Scala 仿真后端,无需额外系统依赖):添加 org.chipsalliance:treadle_3:5.0.0-RC1 至测试依赖
  • Verilator(高性能 RTL 仿真后端,需系统提前安装 Verilator):添加 org.chipsalliance:verilator-backend_3:5.0.0-RC1 至测试依赖,同时可在 sbt 中添加波形生成配置:
verilatorOptions ++= Seq("--trace", "--trace-structs")

sbt 完整配置示例

scalaVersion := "3.3.1" // Chisel 5.x 兼容 Scala 3.2+ / Scala 2.13.8+

libraryDependencies ++= Seq(
  "org.chipsalliance" %% "chisel3" % "5.0.0-RC1",
  "org.chipsalliance" %% "chisel-testkit" % "5.0.0-RC1" % Test,
  "org.chipsalliance" %% "treadle" % "5.0.0-RC1" % Test,
  "org.chipsalliance" %% "verilator-backend" % "5.0.0-RC1" % Test
)

// 可选:ScalaTest 输出配置
testOptions += Tests.Argument(TestFrameworks.ScalaTest, "-oD")

依赖添加失败排查

  • 确保 Scala 版本与依赖后缀匹配(如 Scala 3 对应 _3,Scala 2.13 对应 _2.13)
  • 检查 sbt 仓库配置是否包含 Maven Central(Chisel 5.x 包均发布至 Maven Central)

参考文档

  • Chisel 5.x 官方迁移指南:重点关注测试框架模块拆分、API 兼容说明
  • Chisel TestKit 官方文档:详细介绍测试套件的使用方法、后端切换逻辑
  • 官方 Chisel 5 模板项目:包含完整的依赖配置、测试示例及项目结构

内容的提问来源于stack exchange,提问作者ferris

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 22:52:54