VCS中verilog和C语言混合仿真

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Buyi_Shizi/article/details/53336539

面临问题

写verilog的时候,最麻烦就是对写好的程序进行验证,而单纯用verilog语言进行验证有非常不方便,因为verilog语言能提供的操作太少太少了,而如果能用其他语言对程序进行验证对于verilog的验证会有着巨大的帮助。verilog本身提供了和C语言混合仿真的借口,但是借口太复杂,单纯熟悉这个接口就得花上一定时间。

解决方案

本文的解决方案只是在VCS仿真环境下,对于其他仿真环境不适用。在VCS中提供了verilog和C语言仿真的接口DirectC,这个接口相对于verilog本身的接口显得太简单易用了。
我们需要做的只是写好自己的C语言测试代码,然后在verilog代码中写上下面一段话
extern "C" void func_name(input *, input *, output *);
就可以了。
这里主要问题就是解决好verilog的变量和C语言中的变量的对应关系,这在VCS的仿真的User Guide里面有详细说明。这里不作介绍了。

猜你喜欢

转载自blog.csdn.net/Buyi_Shizi/article/details/53336539