- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在火箭芯片上实现类似 DMA 的外围设备。意思是连接到 pbus 并由寄存器控制的模块。它还有一个连接到 sbus 的主设备。
我关注了sifive格式连接寄存器控制的外围设备没有任何问题。我的问题是如何添加 sbus master ?,下面是我在进入死胡同之前尝试过的方法。
在附加参数类中,我添加了 sbus:
case class dmaAttachParams(
dma : dmaParams,
controlBus: TLBusWrapper,
masterBus : TLBusWrapper, // <-- my addition
....
) (implicit val p: Parameters)
然后我修改了工厂对象中的attach方法:
def attach(params: dmaAttachParams): TLdma = {
implicit val p = params.p
val name = s"dma_${nextId()}"
val cbus = params.controlBus
val mbus = params.masterBus // <- my addition
val dma = LazyModule(new TLdma(params.dma))
dma.suggestName(name)
cbus.coupleTo(s"slave_named_name") {
dma.controlXing(params.controlXType) := TLFragmenter(cbus.beatBytes, cbus.blockBytes) := _
}
InModuleBody { dma.module.clock := params.mclock.map(_.getWrappedValue).getOrElse(cbus.module.clock) }
InModuleBody { dma.module.reset := params.mreset.map(_.getWrappedValue).getOrElse(cbus.module.reset) }
// this section is my problem // <-- this section is my addition
mbus.from(s"master_named_name") {
mbus.inwardNode := TLBuffer() := dma.mnode // <- what should i do here ???
}
dma
}
mndoe 是我添加到 dma 类的一个节点,如下所示:
val mnode = TLClientNode(Seq(TLClientPortParameters(Seq(TLClientParameters(name = "dmaSbusMaster")))))
完成这项工作的 mbus.from() 方法的主体应该是什么?尝试构建此代码会出现此错误:
Caused by: java.lang.IllegalArgumentException: requirement failed: buffer.node (A adapter node with parent buffer inside coupler_from_master_named_name) has 1 inputs and 0 outputs; they must match (Buffer.scala:69:28)
任何帮助将不胜感激,在火箭芯片 github 问题论坛中,他们不再回答支持问题。因此,如果那里的人可以在这里回答那就太好了,因为我真的被困在这里了。
附注只需添加调用 Attach 方法的方式即可:
trait HasPeripheryDma { this: BaseSubsystem =>
val dmaNodes = p(PeripheryDmaKey).map { ps =>
dma.attach(dmaAttachParams(ps, pbus, sbus))
}
}
实现 mbus.from() 方法的主体如下:
mbus.from(s"master_named_name") {
mbus.inwardNode := TLBuffer(BufferParams.default) := dma.mnode
}
确实从 SBUS 上的 DMA 创建耦合器,但它未连接到 DMA 外设。有什么想法吗?
最佳答案
我不明白你的“更新”出了什么问题,但这应该有效:
mbus.coupleFrom("master_named_dma") {
_ := TLBuffer(BufferParams.default) := dma.mnode
}
关于chisel - 如何向火箭芯片外设添加 sbus 主控,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52142504/
在Rust中通过Rocket返回Json的最简单方法是什么? #[post("/route", data = "")] fn route(someVariable: String) -> String
最近,我对在 OS X(10.10;Python 2.7.6)上运行的一些 matplotlib 代码做了一个简单的更改,注释掉了设置我使用的后端的一行 #matplotlib.use('agg')
我是一名新的 Android 开发人员。我想将我的应用程序与 Facebook 连接。我在以下链接中尝试了 Fb 火箭代码: http://www.androidpeople.com/android-
我正在创建一个投资组合网站,一些项目有静态 HTML 演示,我想根据 URL 中的 ID 提供这些演示。路线如下所示: #[get("/demo//")] fn site_demo(id: usize
这个问题在这里已经有了答案: How do I fix "cannot find derive macro in this scope"? (1 个回答) Why is a trait not imp
我正在使用 Rust 和 Rocket 构建一个简单的 REST API。其中一个端点接受 POST 方法请求,并从请求正文中读取一个大字符串。我不知道如何用 Rocket 做到这一点。 文档描述了如
我是一名优秀的程序员,十分优秀!