System Verilog ref参数

SystemVerilog提供了一个ref关键字作为函数参数的前缀。当使用ref时,表明参数是使用引用传递,'ref’语法类似C++中的引用。

有两种情况下使用’ref’做参数比较有意义:
第一种情况:由于函数只能有一个返回值(不考虑传统Verilog上的input/output参数端口声明),任务没有返回值。当函数需要返回多个值或者任务需要返回一个以上值的时候,通过引用传递就用得上。
第二种情况是运行效率的考虑:当大量的数据需要作为参数传递的时候,值传递效率很低。所有的数据需要在每次函数调用的时候被复制。如果参数使用’ref’前缀,可以不需要进行数据复制。但是这样会使得参数的数据容易被函数/任务中的代码修改。此危险可以通过声明ref参数为常量来解决.

你可能感兴趣的:(System,Verilog)