对 Verilog 库的依赖

Dependency on Verilog libs

是否可以在 Scala Chisel 中依赖一些已经编码的 Verilog 库?

如果不是这样的话,在我看来,这就像是 Scala 的 Java 复古兼容性一样重要的功能,它使 Scala 在软件世界取得了成功。

干杯

您可以包含一些外部模块作为 blackbox:

12 BlackBox

Black boxes allow users to define interfaces to circuits defined outside of Chisel. The user defines:

a module as a subclass of BlackBox and an io field with the interface. For example, one could define a simple ROM blackbox as:

class RomIo extends Bundle { 
  val isVal = Bool(INPUT) 
  val raddr = UInt(INPUT,  32) 
  val rdata = UInt(OUTPUT, 32) 
} 
 
class Rom extends BlackBox { 
  val io = new RomIo() 
}

不幸的是,我没有找到任何工具来从 .v 文件生成黑盒。看来你必须自己定义所有必需的types/interfaces(使用Bundle)。关于导入 - 同一文件夹中的所有 .v 文件自动 available(因此您可以将 library.v 放在生成的 .v 文件旁边),但有时您可能需要手动添加一些更复杂的包含到生成的 .v 文件中。所以还不是很方便