这是 Ghdl/gtkwave 错误吗?
我在 Windows 7 上使用 ghdl+gtkwave 进行学习。 我通过在 .bat 文件中调用一些 shell 来运行模拟,通常当我遇到一些 sintax 错误时,我会在 dos 窗口中看到消息,但在某些情况下我不明白,没有错误,但 gtkwave 不运行。
这是一个错误吗?
I'm using ghdl+gtkwave for studying, on Windows 7.
I run simulations by calling some shell in a .bat file, usually when I got some sintax error, i see the messagges in dos window, but in some case that I didn't understand, there are no errors but gtkwave doesn't runs.
Is this a bug?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
GHDL 不是交互式的(与 modelsim 不同)。
因此,您的问题可能是您的模拟器(由 GHDL 构建的编译代码模拟器)表现出不稳定的组合循环:那么这样的(编译的)事件驱动模拟器将不会在某个时刻增加(物理)时间(只是增量延迟)额外)。
这可以解释为什么 gtkwave 没有启动:模拟永远不会结束。
所以问题可能出在你的VHDL代码本身。您应该尝试探测/报告实际的模拟时间,看看我的假设对于您的问题是否正确:如果时间没有增加,那么您就会遇到上述的组合循环问题。
JCLL
GHDL is not interactive (unlike modelsim).
So your problem may be that your simulator (compiled code simulator built by GHDL) exhibits combinatorial loops that do not stabilize : then such a (compiled) event-driven simulator will not increment (physical) time at some point (just delta delays will be added).
That could explain why gtkwave does not start : the simulation never ends up.
So the problem may reside in your VHDL code itself. You should try to probe/report the actual simulation time, to see if my hypothesis is correct w.r.t your problem : if time does not increase, then you hit the aforementioned combinatorial loop problem.
JCLL