我正在尝试使用 chisel 3 模拟一个系统。该系统有一个带有 verilog 的黑匣子。 verilog 代码不是行为性的,它只是实例化合成器配置的模块。我知道模块的行为,想用凿子编写代码来模拟行为。 所以基本上如何使用可用于模拟的行为来扩展 chisel 3 中的黑盒。 ...
我正在尝试使用 chisel 3 模拟一个系统。该系统有一个带有 verilog 的黑匣子。 verilog 代码不是行为性的,它只是实例化合成器配置的模块。我知道模块的行为,想用凿子编写代码来模拟行为。 所以基本上如何使用可用于模拟的行为来扩展 chisel 3 中的黑盒。 ...
当我运行代码以进行定点测试时,出现错误。 谁能帮我写代码??? 代码: import chisel3._ import chisel3.util._ import chisel3.experimental.FixedPoint import chisel3.inter ...
我来自 Bluespec,不理解这种 Chisel 行为。 我有一个简单的模块: 我试图破译为什么我的测试人员表明 io.invalidOperation 在这个测试中被断言。 输出(注意 printf 指示有效操作) 如果我改为直接分配 io.invalidOperation(而不是本 ...
根据这个: https://github.com/chipsalliance/chisel3/issues/2439我决定尽可能将所有 Vec[Bool] 更改为 UInt。 Vec[Bool] 的一个特点是测试每一位的值很简单。 例如,假设我有一个返回 UInt 的模块。 我想测试一个特定的位是 ...
为了测试指定为向量的输入/输出,我需要能够以编程方式为 poke 和 expect 创建所需的 Vec[Bool]。 Seq[Bool] 是一种方便的结构,可以直接创建(例如, Seq.tabulate(n) {i => (i%2==0).B} )或从 UInt(例如, 5.U(6.W).t ...
我试图在 chisel3.util 中使用队列 class。 我用凿子测试仪测试了我的来源。 但是,终端上的结果与我预期的不匹配我的源代码如下所示。 而且,我的测试代码如下所示。 我认为,测试结果的最后一步应该是失败的。 因为,从就绪/有效握手协议来看,如果就绪信号为假,则不会出现No output ...
我想在凿子 3 中初始化 memory 测试代码。 我参考了这个网站的代码( https://www.chisel-lang.org/chisel3/docs/appendix/experimental-features#loading-memories ) 此代码在编译为 verilog 时运行良 ...
我用 Dma 模块编写了一个示例案例,它是esp-chisel-accelerators中的一个子模块,但是当我运行sbt test或运行单个测试时,我收到一个错误: method <init>()V not found the code is : Dma 模块是 我通过实例化一个 D ...
测试 Chisel function 不是生成硬件结构的模块的一部分的正确方法是什么? 我如何测试这个 function? 因为它不是模块,所以标准的 Chisel 测试格式会报错。 ...
我有一个用 Chisel 编写的复杂模块。 我正在使用 chiseltest 来验证其操作。 测试失败。 我希望能够检查模块的内部线路值以调试出了什么问题。 由于 PeekPokeTester 只允许我检查 io 信号的值,我该如何检查内部电线? 这是一个例子: 如何检查中间值“i”? ...
如果我在我的sbt 项目中运行一个 scala 控制台并像这样导入 chisel3 package:$ sbt sbt:CIC> console scala> import chisel3._ import chisel3._ scala> 然后,如果我声明两个 Bool ...