微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC验证交流 > Systemverilog疑问

Systemverilog疑问

时间:10-02 整理:3721RD 点击:
大侠们:在Systemverilog验证测试平台编写指南一书中有:

  1. class Transacton;
  2. bit [31:0] addr ...... data[8];

  3. function Transacton copy;
  4. copy=new();
  5. copy.addr=addr;
  6. ....
  7. endfunction
  8. endcalss


  9. //使用copy函数
  10. Transacton src,dst;
  11. initial begin
  12. src=new();
  13. dst = src.copy;
  14. end

复制代码



上面的copy函数是怎样实现的呢?copy明明是一个函数,为什么可以copy=new()呢?不是只用类才能new()吗?谢谢啦.

function Transacton copy
function name就是一个变量

function name不是一个函数名吗?没什么是一个变量呢?

function的名字和类型也就是它的返回值的名字和类型

面向对象的语言的编程方法,一个对象可以有自己的成员函数,其中的new和copy都是这个类的成员函数。

Copy是一个对象,类型为transaction

也是就是在Systemverilog中,函数名就可以是一个函数,也可以是一个变量的意思吗?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top