matrix - 带凿子的矩阵乘法器
问题描述
我想用Chisel来描述一个矩阵乘法器,但是有些东西我不明白。
首先,我发现该响应给出了 3X5 矩阵乘法器的代码。我想将它推广到最大 128X128 的任何方阵。我知道在 Chisel 中,我可以通过为模块提供大小参数来参数化模块(这样我将使用 nW 而不是定义的大小)。但是在一天结束时,会生成一个 Verilog 文件,对吗?所以参数必须固定?我可能会混淆一些事情。我的目的是调整代码以能够执行高达 128x128 的任何矩阵乘法,我不知道这在技术上是否可行。
解决方案
chisel 的优点是一切都可以参数化。话虽如此,在您制作物理硬件的那一天结束时,显然参数应该是固定的。使其参数化的好处是,如果您不知道您的确切要求(例如可用的模具区域等),您可以准备好参数化版本,并在时机成熟时插入您需要的值并生成 verilog 文件对于那个参数。为了回答您的问题,是的,可以执行高达 128x128 的任何矩阵乘法(如果您的笔记本电脑 RAM 足够,则可以更高)。只有在创建硬件驱动程序时才会获得verilog,这会告诉您如何从凿子创建verilog,因此请继续创建参数化硬件。
推荐阅读
- google-bigquery - 在 BIGQUERY 上使用 UNNEST 左连接
- yugabyte-db - Group by 未考虑 Yugabyte
- javascript - 带有对象的 Javascript 映射数组
- vue.js - Axios Post 数据未在 API 中发送
- vba - 如何关闭弹出的资源管理器按摩框?
- entity-framework - 测试一个 API 控制器 Symfony 4 || 未配置为对实体进行级联持久化操作:
- node.js - 如何检查上传文件是否已存在于nodejs的文件夹中
- java - HikariPool 无法验证连接
- python - 使用 SQLAlchemy 的查询 from_statement() 方法时如何选择 *?
- asp.net-mvc - 仅在我的操作方法中绑定导航属性的某些属性