SystemVerilog提供了两种方式来为函数和任务传递参数:值传递和引用传递。所谓引用传递(reference)就如C++的句柄或者指针,也就是变量的入口地址,此时参数的类型应定义为ref。
- 值传递:常见的向任务与函数传递值的方法是复制;需要关键字input、output,这种传递方式实际上是将实参内容复制到形参中,原来的实参与形参存放在不同的内存空间中。
- 引用传递(相当于指针):用到关键字ref(取代了原来的input/output),同时需要将任务和函数声明为automatic型。在通过引用传递的方式将实参传递给形参引用时,引用型的形参变量实际上相当于实参变量的句柄或指针,也就是变量的入口地址,两者具有相同的内存空间。 <