首页 > 解决方案 > Chisel Bootcamp 2.5 练习,用于转换为基于 tilelink 的 for 和 tester。详细说明但给出 TLMonitor 断言错误

问题描述

我已经阅读了chipyard和chisel教程中的文档。在尝试凿子训练营第 2.5 章练习时,我收到以下断言错误。

Assertion failed: 'A' channel Get carries invalid source ID (connected at DspBlock.scala:113:7)
at Monitor.scala:75 assert (source_ok, "'A' channel Get carries invalid source ID" + extra)
Assertion failed: 'A' channel Get contains invalid mask (connected at DspBlock.scala:113:7)
at Monitor.scala:78 assert (bundle.mask === mask, "'A' channel Get contains invalid mask" + extra)

代码片段:

class TLFIRBlockTester(c: TLFIRBlock with TLStandaloneBlock) extends FIRBlockTester(c) with TLMasterModel {
  def memTL = c.ioMem.get
}

val lm = LazyModule(new TLFIRBlock(1, 8)(Parameters.empty) with TLStandaloneBlock)

chisel3.iotesters.Driver(() => lm.module) { _ => new TLFIRBlockTester(lm) }

断言错误表明源 ID、掩码在通道 A 上无效。我注意到以下文件具有 TLMasterModel 的相关类,它具有 memWriteWord,该 memWriteWord 反过来驱动通道 A 的源和掩码输入。

https://github.com/ucb-bar/dsptools/blob/master/rocket/src/main/scala/tl/TestIP.scala

您能否建议我如何解决此问题。

标签: chisel

解决方案


推荐阅读