问题标签 [gtkwave]
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.
verilog - 在凿子中生成用于模拟的寄存器延迟
当我使用 Verilog 时,我想定义一个这样的寄存器:
因为使用#1
了 ,所以寄存器在波形中会在位姿后面稍有变化clk
,调试时会很清楚。
我想知道我是否可以在 chisel3 中做到这一点?既可以通过 Firrtl 生成 Verilog,也可以在 iotester 中生成“vcd”波形。
vhdl - GTKW 无法阻止应用程序(GHDL macOS)
我能够在 macos 上成功地分析和运行 GHDL 中的简单 VHDL 计数器,但是在启动 GTKW 时,使用泛型会导致问题。
错误信息是
无法阻止应用程序(GetProcessPID() 返回 184467095516)
任何想法这意味着什么或导致此错误的原因是什么?(谷歌搜索找不到任何东西)
好像和这条线有关
从此代码段
在测试台(围绕该计数器)中打印带有报告的计数器在这两种情况下都很好,即在这两种情况下,计数器都运行 0..7。
所以模拟运行,但 .ghw 文件中似乎有一些令人反感的东西。
vhdl - 不确定如何为 GTKWave 编写 VHDL(GHDL) 测试平台
我正在尝试通过命令提示符在 GTKWave 上运行以下代码(使用 ghdl,用 VHDL 编写)。我不明白我应该如何编写测试台(在代码下方),以便我可以看到简单代码的所有信号和变量。
试验台:
请你让我知道我哪里出错了或者我需要添加什么以便观察 GTKWave 中信号和变量的变化,提前谢谢你!
port - VHDL 传入信号不会覆盖端口上的初始值
我正在尝试在 vhdl 中为 riscv 编写解码器,但我产生了一个我自己无法弄清楚的错误。为了重现它,我创建了这些文件:
我想要发生的是在测试中将指令的最低 5 位放入 reg 然后放入 reg_out。因为“test”中的信号用零初始化,word_sup 用 1 初始化,所以 regout 的整数值应该是 2**5 -1 但它始终保持为inst_in 最低 5 位的初始值
为什么 word_sup 的值不覆盖 inst_in 的值?
如果我生成一个 vcd 文件来查看值 gtkwave 告诉我该文件格式错误,因为它是空的。但我不明白为什么会这样。
verilator - Verilator 生成空的 .vcd 文件,因此 GTKWave 无法检查它们
我目前正在尝试弄清楚如何将 Verilator 与 GTKWave 一起使用来验证和调试 System Verilog 设计,但我遇到了一个问题。我设法让 Verilator 输出一个 .vcd 文件(位于 /tmp/trace.vcd),但是当我尝试使用 GTKwave 打开它时出现错误:
这个错误在我看来文件中没有任何数据,并且在文本编辑器中检查其内容并不能阻止这一点:
当我通过 GTKWave GUI 打开 .vcd 文件时,它只显示一个空的 GUI,进一步支持该文件是空的(奇怪的是,它在命令行上给出了一个错误,但不是通过 GUI。)。
我的代码基于通过获取示例的点点滴滴直到它编译来猜测要做什么(如果我直接尝试,来自 Verilator 存储库的跟踪示例会引发大量 C++ 错误),因此这不起作用并不特别令人惊讶,但我找不到任何文章可以更系统地解释跟踪应该如何在 Verilator 中工作,所以这并没有给我一个继续工作的方向。
以下是显示此错误的 MCVE 的文件:CMakeLists.txt
测试台.cpp:
计数器.sv:
使用这些文件,我只需像普通 C++ 项目一样编译 CMake 项目,然后运行代码:
如何检查通过 Verilator 模拟的 System Verilog 代码的波形?我希望 gtkwave 在使用此过程时显示波形,但事实并非如此。
verilog - Icarus iverilog - 如何在 Icarus iverilog 中编译和模拟具有多个子模块的 Verilog 代码?
我正在开发一个包含 20 多个 Verilog 模块的大型项目。可以想象,代码中有许多模块实例化。
我一直在使用 ModelSim 进行模拟,但它已经到了一个点,即模拟一切需要花费太多时间。因此,我正在尝试使用 Icarus iverilog,希望运行得更快。
我学习了如何使用以下命令使用其测试平台模拟一个模块:
iverilog.exe -o dsn counter_tb.v counter.v
vvp.exe dsn
gtkwave.exe 计数器.vcd
但是,如何使用顶层模块中的测试平台编译和模拟我的整个设计?我假设我需要先编译所有模块,然后使用测试台,但我没有找到任何命令或指令来这样做。
提前致谢!