模块是一个对象还是一个class?

Module is an object or a class?

在 chisel 中,我们应该总是从 'Module' 扩展来定义我们自己的模块,对吗?

但是,我只能在 'core/src/main/scala/chisel3/Module.scala' 处找到 'Module' 的定义 - 它是 'object'!我们从一个对象扩展?或者我错过了什么?

当您扩展 Module 时,class 层次结构看起来像 Module <= abstract class LegacyModule。所以它是一个class。还有一个 object Moduleapply 不同用法的方法。顺便说一句,拥有像 IntelliJ 这样的好 IDE 可以更轻松地导航 class 层次结构并找出事物的来源。