如何在Chisel中使用参数化模块生成Verilog代码?

时间:2018-11-22 16:23:54

标签: chisel

凿子中的以下模块定义:

class Mux2 (width: Int = 4) extends Module

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

有没有一种方法可以生成带有实际参数化模块定义的Verilog。

module Mux2 #(parameter width = 4)

如果无法执行此操作,那么添加此功能将非常有用。

1 个答案:

答案 0 :(得分:2)

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