chisel - Chisel 中的高级参数化手册

标签 chisel

这是在凿子库里面

object Module { 

  // returns a new Module of type T, initialized with a Parameters instance if  _p !=None.

  def apply[T<:Module](c: =>T)(implicit _p: Option[Parameters] = None):T

}

我不明白 =登录参数。它代表什么?

最佳答案

=(implicit _p: Option[Parameters] = None)正在分配默认值 None到参数_p .这意味着除非另有说明,否则没有 Parameter分配给 _p 的实例.

以防万一您询问 =>(c: =>T) , => is 表示第一个参数c是对返回 T 实例的函数的引用, 其中 TModule 的子类.

这里使用了 Scala 的许多惯用特性:函数柯里化(Currying)、隐式参数、函数作为该语言的一等公民。花一点时间来学习这些东西的语法是值得的。查看 Chisel 的 generator-bootcamp tutorial特别是第 3.2 和 3.3 节,介绍了 Chisel 利用 Scala 语法的一些方式

关于chisel - Chisel 中的高级参数化手册,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52375772/

相关文章:

verilog - 如何生成异步复位verilog总是阻塞凿子

scala - Chisel 中的电源操作符

scala - Chisel3 中的运算符 -&、-%、+&、+% 中的 '&' 和 '%' 意味着什么?

scala - Chisel IO 接口(interface)构造函数中克隆方法的使用

c++ - 从 RISC-V 裸机程序调用 printf 系统调用时使用 C++ 模拟器失败

chisel - 使用外交时的 IP block 生成/测试。可以给虚拟节点吗?

chisel - 如何在 Chisel 中使用算术移位运算符

chisel - 如何软重置凿子计数器

chisel - 如何指定chisel的后处理器?

chisel - 戳或期待矢量端口的最佳方式