【问题标题】:Chisel 3.4.2 syncmem and a black box. No memory replacement with --repl-seq-mem optionChisel 3.4.2 syncmem 和一个黑盒子。不使用 --repl-seq-mem 选项替换内存
【发布时间】:2021-02-19 04:22:46
【问题描述】:

我使用 --repl-seq-mem 选项运行 MemtestInst 代码。它有一个黑盒子和一个 SyncReadMem。没有内存替换发生,配置文件为空。 如果我评论 MyBBox 行或使用较旧的凿子,更换工作。 有效的凿子:

val defaultVersions = Map(
  "chisel3" -> "3.2.5",
  "chisel-iotesters" -> "1.3.5"
  )

这个失败了(目前最新的一个):

val defaultVersions = Map(
  "chisel3" -> "3.4.2",
  "chisel-iotesters" -> "1.5.2"
  )

Scala 代码:

package explore

import chisel3._
import chisel3.util._

class MemoryInst extends Module {
  val bitsDatNb = 64
  val bitsAddrNb = 9

  val io = IO(new Bundle {
    val wAddr = Input(UInt(bitsAddrNb.W))
    val wData = Input(UInt(bitsDatNb.W))
    val wEn   = Input(Bool())
    val rAddr = Input(UInt(bitsAddrNb.W))
    val rEn   = Input(Bool())
    val rData = Output(UInt(bitsDatNb.W))
  })

  val myBbox = Module( new MyBBox())
  val memFile = SyncReadMem(1<<bitsAddrNb, UInt(bitsDatNb.W))

  when(io.wEn) {
    memFile.write(io.wAddr, io.wData)
  }
  io.rData := memFile.read(io.rAddr, io.rEn)
}
class MyBBox() extends BlackBox(
  Map(
    "LEN_BITS" -> 8,
    "ADDR_BITS" -> 10,
    "DATA_BITS" -> 64)) with HasBlackBoxResource {

  val io = IO(new Bundle {
    val clock = Input(Clock())
    val reset = Input(Bool())
  })
  setResource("/verilog/someverilog.v")
}

object MemtestInst extends App {
  chisel3.Driver.execute(args, () => new MemoryInst)
}

我错过了什么吗?

提前致谢!

【问题讨论】:

标签: chisel firrtl


【解决方案1】:

我在使用 Chisel 3.4.0 版时遇到了同样的问题

我可以确认,与您类似的代码适用于没有黑盒的内存映射,而不适用于它。我建议添加以下内容

import chisel3.stage.{ChiselStage, ChiselGeneratorAnnotation}

变化

object MemtestInst extends App {
  chisel3.Driver.execute(args, () => new MemoryInst)
}

object MemtestInst extends App {
    val annos = Seq(ChiselGeneratorAnnotation(() => 
        new MemoryInst()
    ))
    (new ChiselStage).execute(args, annos)
}

我认为chisel3.Driver.execute 是 3.4 及更高版本。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-07
    相关资源
    最近更新 更多