如何在 Chisel 中生成带有参数化模块的 Verilog 代码?

How to generate Verilog code with parametized modules in Chisel?

chisel 中的以下模块定义:

class Mux2 (width: Int = 4) extends Module

不会生成参数化的 Verilog 模块。生成的 Verilog RTL 将代替用户实例化模块的参数值。

有没有办法生成带有实际参数化模块定义的 Verilog。

module Mux2 #(parameter width = 4)

如果没有办法做到这一点,这将是一个非常有用的功能。

不幸的是,这可能是一个不可能添加的功能。 Chisel 实际上只是硬件原语的 Scala 库,它使您能够编写 Scala 程序来精心设计电路。 Chisel 生成器的参数化是任意 Scala 代码,在一般情况下不可能映射到 Verilog 结构。事实上,Chisel 的主要用途在于使设计人员能够使用 [可综合] Verilog 中不存在的这些更高级别的结构(例如,面向对象编程、函数式编程)。