问题标签 [firrtl]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
chisel - 如何将已弃用的低 Firrtl 转换转换为 Dependency API
我正在更新一个看起来像这样的 Firrtl 变换
到新的依赖 API。将变换更改为此
但现在它不会以与以前相同的顺序运行转换。有没有一种简单的方法来指定依赖关系,以便获得原始行为?
chisel - 凿子/FIRRTL DefnameDifferentPortsException
我最近将我的一个大项目的 Chisel 版本从 3.1.1 更新到了 3.4.0;但是,我得到了一堆firrtl.passes.CheckHighFormLike$DefnameDifferentPortsException:
以下是 XilinxSimpleDualPortNoChangeBRAM 的定义及其依赖项:
Verilog 资源XilinxSimpleDualPortNoChangeBRAM.v是 Vivado 中可用的 BRAM 实例化模板之一:
我试图查看引发此异常的文件CheckHighForm.scala,但我很快就迷路了,因为我不知道我应该寻找什么。
我从测试中CheckSpec.scala了解到它应该throw an exception if ExtModules have matching port names and widths, but a different order,因此我尝试使 Chisel BlackBox 中的输入顺序与 Verilog 模块中的输入顺序相同,但仍然出现异常。
该测试throw an exception if parameterless ExtModules have the same ports, but different widths使我认为具有不同端口宽度的多个实例化可能是导致异常的原因,但是还有另一个测试表明它应该NOT throw an exception if ExtModules have parameters, matching port names, but different widths,这里就是这种情况,因为端口宽度由参数控制。
此异常的原因可能是什么?
更新:根据要求,这里是两个黑盒实例的 FIRRTL IR:
更新 2:显然,有些XilinxSimpleDualPortNoChangeBRAM人选择了旧版本XilinxSimpleDualPortBRAMBlackBoxIO的重置仍然是 typeBool而不是Reset. 改变它解决了这个问题。
chisel - Chisel 3.4.2 syncmem 和一个黑盒子。不使用 --repl-seq-mem 选项替换内存
我使用 --repl-seq-mem 选项运行 MemtestInst 代码。它有一个黑盒子和一个 SyncReadMem。没有内存替换发生,配置文件为空。如果我评论 MyBBox 线或使用较旧的凿子,更换工作。有效的凿子:
这个失败了(到目前为止最新的一个):
斯卡拉代码:
我错过了什么吗?
提前致谢!
riscv - LazyModule 和 LazyModuleImp 的区别
LazyModule 和 LazyModuleImp 有什么区别?就像 Rocket-chip/doc 下的外交演示所说:The desired hardware for the module must be written inside LazyModuleImp.
但考虑以下代码:
这:=是一个硬件操作,它出现在 LazyModuleImp 的内部和外部,那么应该在 LazyModuleImp 中放置哪些代码?
scala - 凿子:在编写简单的组合逻辑时无法生成verilog
我想实现旋转左移的操作。
我的凿子代码:
我用sbt构建了我的项目,输入test:runMain test.testCPU -td generatedsbt shell,输出如下:
它成功生成了firrtl,但未能生成verilog。
firrtl 代码如下:
annotations - 如何从 Firrtl 发出带有注释的Verilog
我是 Chisel/Firrtl 的新手,但我觉得它很有趣!我正在寻找一个示例,说明如何从 chisel3 通过 firrtl 获取一些注释(例如单热信号)到 Verilog 中,可以将其添加为注释。
chisel - 使用 Mux 捆绑
我想使用 Mux 在这里选择捆绑输入代码 class ComIO extends Bunlde { val in = Input(UInt(32.W) val in = Input(UInt(32.W) }
错误正在流动