我使用VHDL已经有一段时间了,我发现,调试VHDL设计比设计它更难。因为进程是并发的,所以很难知道设计的哪一部分有bug。
像C一样,我们可以使用一些简单的欺骗规则,比如放一条printf语句来查看错误的位置,有没有什么简单的技巧和技巧可以在VHDL中找到这样的错误。
也请建议我任何网站或do文件,这可以用于相同的。
发布于 2015-03-06 18:37:42
这个问题可能有点模糊,但这里有一些我尝试做的事情,以使设计更容易处理。它是基于观点的,但确实来自个人经验。
如果(rising_edge(clk)),则断言(a /= b)报告"a和b永远不应该相等!“severity error;end if;
report语句来打印信号值。示例:如果(rising_edge(clk)),则报告"count is now“&integer‘’image(Count);end if;
Report在编译后的simulation.
Report,你已经有了针对你的设计的测试平台,而且它仍然很难调试,试着为设计中的各个模块编写简单的测试平台。使用C或其他语言编程,您不需要等到程序完成后才进行任何测试;您将在编写新功能时不断地测试它。VHDL语言中的等价物是在编写模块时测试各个模块,然后将它们组装成更复杂的functionality.
发布于 2015-03-06 22:03:54
相对于其他编程语言(如C、Python等),我实际上发现VHDL更容易调试。该语言本身相当简单,因为它不容易创建复杂的算法。根据我的经验,容易调试的秘诀是保持模块尽可能简单,并将它们组合在一起以创建复杂的结构。这样,查找bug就变得更容易了。
https://stackoverflow.com/questions/28895956
复制相似问题