vmm验证环境为什么会越跑越慢,求高人讲解
时间:10-02
整理:3721RD
点击:
一个不大的AHB总线环境,刚开始还跑得飞快,为什么跑一段时间后(差不多2000个包),就越跑越慢,有时几秒钟才跑一个包?
难道就没有人遇到过这种情况吗?
VMM里边使用面向对象,而且一般在program里边都建议是动态的,class都是在仿真过程中创建的,所以会消耗大量内存,而verilog中所有的变量和模块都是在编译时已经静态分配好内存,除非加上automatic!用SV的验证最好在服务器上跑,要不卡死
代码对内存管理的不好。
如果是用vcs跑的,可以编译的时候加上选项-simprofile,仿真完之后,看一下是什么占用了仿真资源。
正解
代码中有消耗内存的,有时候遇到内存泄漏的,挂死都有可能。 不过sv的动态数组之类的都是自动管理的,按理说不会出现。