首页 > 解决方案 > 如何在 Chisel 中生成带有参数化模块的 Verilog 代码?

问题描述

chisel 中的以下模块定义:

class Mux2 (width: Int = 4) extends Module

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

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

module Mux2 #(parameter width = 4)

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

标签: chisel

解决方案


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


推荐阅读