我想从存储在 scala 变量中的规范生成模块 IO 接口(interface)。
我想生成这个类定义:
class AddIfc extends Module {
val io = IO(new Bundle {
val a = Input(UInt(8.W))
val b = Input(UInt(8.W))
val o = Output(UInt(8.W))
})
}
来自元组列表之类的内容:
List( ("a", "in", 8), ("b", "in", 8), ("o", "out", 8))
我可以想象构建一个 AST 并使用 scala 中的一些反射功能对其进行评估。有没有人这样做过并有一个例子可以展示?
最佳答案
看看Record (Bundle 的父类)。它们更高级一些,因为您必须实现元素(而不是反射在 Bundle 中为您完成),并且您必须实现cloneType。
关于chisel - 从列表生成 Chisel 模块 IO 接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43768561/