chisel - 如何在 Chisel 中生成带有参数化模块的 Verilog 代码?
问题描述
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 中不存在的这些高级构造(例如,面向对象编程、函数式编程)。
推荐阅读
- material-ui - MKDOCS 材质主题搜索功能不起作用
- database - Mongo DB:如何从一个集合中复制文档并将其作为字段添加到另一个集合中的相关文档?
- python - 在python中拆分大数据文件
- python - Dash Plotly - 如何重定向到将重定向到 Dash 的外部链接
- python - cmake:致命错误:pyconfig.h:没有这样的文件或目录
- javascript - TypeError:使用状态时无法读取未定义的属性“0”
- android - 发送图像作为 Flutter 平台通道方法的参数
- python - 是否可以更新 Google 服务帐户的设置?
- python - get_browser 函数“'chromedriver'”错误
- reactjs - 可以将 react setState 钩子传递给 3rd 方库类实例吗?