正如其他帖子所指出的,你可能需要一个像GHDL这样的模拟器.但是,要调试模拟,有几种不同的方法:
经典的打印声明 - 只需writeline(output,[...])在程序代码中混合使用即可. 看到这个hello world示例. 如果您刚刚开始,那么添加print语句将是非常宝贵的.对于我所做的大部分模拟调试(这是我工作的一部分),我几乎完成了基于我们在设计和测试平台中构建的print语句的所有调试.它仅用于最终调试,或者用于下一个调试方法的更难的问题.
"倾倒"模拟(对于GHDL,请参阅此页面和此页面).这是您的设计(或您的设计的一个子集)的逐周期跟踪.就像你将逻辑分析仪连接到设计中的每一根线一样.您可能想要的有关您的设计的所有信息,但信号水平非常低.要使用此方法:
创建模拟"转储".这种转储的基本格式是Value Change Dump或VCD.无论您使用哪种模拟器,都需要阅读有关如何创建VCD的文档.(您也可以在文档中搜索"dump" - 您的模拟器可能会使用不同的文件格式进行转储.)
note备注 如果要使用GHDL和gtkwave来调试VHDL代码,可以使用以下命令在ubuntu上安装它们:
% sudo apt-get install geda ghdl
Run Code Online (Sandbox Code Playgroud)
(假设您对运行ubuntu的计算机具有root访问权限)