gpt4 book ai didi

Chisel在使用verilator进行模拟时随机初始化寄存器值

转载 作者:行者123 更新时间:2023-12-02 11:52:23 35 4
gpt4 key购买 nike

我正在使用 Chisel 和 blackbox 针对 verilog 寄存器文件运行我的 chisel 逻辑。寄存器文件没有重置信号,因此我希望寄存器被随机初始化。

我将 --x-initial unique 传递给了 verilator,基本上这就是我启动测试的方式:

  private val backendName = "verilator"

"NOCDMA" should s" do blkwrite and blkread correctly (with $backendName)" in {
Driver.execute(Array("--fint-write-vcd","--backend-name",s"$backendName",
"--more-vcs-flags","--trace-depth 1 --x-initial unique"),
()=>new DMANetworkWithMem(memAddrWidth,memDataWidth)(nocDataWidth)(nNodesX,nNodesY)){
c => new DMANetworkRWTest(c)
}
}

但是在我向寄存器文件写入任何内容之前,我从寄存器文件中读取的数据全部为零。

写入后读取的数据是正确的。

那么,凿子内部有什么东西需要我调整或者我没有做正确的事情吗?

有什么建议吗?

最佳答案

我不确定,但我在 Verilator 上发现了以下具有类似问题的问题:https://github.com/verilator/verilator/issues/1399

从浏览上述问题来看,我认为您还需要通过+verilator+seed+<value>+verilator+rand+reset+<value>在运行时。我不是 iotesters 方面的专家,但我相信您可以通过 iotesters 参数添加这些运行时值:--more-vcs-c-flags .

旁注,我还会设置 --x-assign unique在 Verilator 中,如果 Verilog 中存在运行时会注入(inject) X 的情况(例如,越界索引)。

希望这会有所帮助!

关于Chisel在使用verilator进行模拟时随机初始化寄存器值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59495750/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com