【问题标题】:How to generate code to RTL with blackbox?如何使用黑盒生成 RTL 代码?
【发布时间】:2019-07-30 06:59:29
【问题描述】:

当我想将 code chisel 转换为带有黑盒的 verilog 时,出现错误。我该如何解决?

[error] /data/workspace/chisel/chisel3-3.1.8/src/main/scala/tap/dti_bypass_register.scala:45:18: overloaded method value execute with alternatives:
import chisel3._
import chisel3.util._
  class dti_bypass_register extends BlackBox with HasBlackBoxResource {
  val io = IO(new Bundle {
    val clk_DR          = Input (Clock())// Bypass register clock
    val TDI             = Input (UInt(1.W))// data in
    val bypass_en       = Input (Bool())// enable signal
    val captureDR       = Input (Bool())// captureDR signal

    val TDO_bypass      = Output (UInt(1.W))// Serial data out
  })
    setResource("/dti_bypass_register.v")

}

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

【问题讨论】:

  • [error] chisel/chisel3-3.1.8/src/main/scala/tap/dti_bypass_register.scala:45:18:重载的方法值使用替代执行:[错误](args:Array [ String],dut: () => chisel3.experimental.RawModule)chisel3.ChiselExecutionResult [error] (optionsManager: firrtl.ExecutionOptionsManager with chisel3.HasChiselExecutionOptions with firrtl.HasFirrtlOptions,dut: () => chisel3.experimental.RawModule )chisel3.ChiselExecutionResult [error] 不能应用于 (Array[String], () => dti_bypass_register) [error] chisel3.Driver.execute(args, () => new dti_bypass_register)

标签: chisel black-box


【解决方案1】:

Chisel 不接受 BlackBoxes 作为顶级模块。由于 BlackBox 只是我们为其发出 Verilog 实例化的接口,因此 Chisel 与它们没有任何关系。

【讨论】:

  • 哦,这是错误,现在我修复了它。非常感谢!
猜你喜欢
  • 2017-12-08
  • 2016-08-30
  • 2016-02-19
  • 2022-01-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-25
  • 2021-11-09
相关资源
最近更新 更多