在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2509|回复: 6

[求助] Systemverilog疑问

[复制链接]
发表于 2016-4-13 09:53:31 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
大侠们:    在Systemverilog验证测试平台编写指南一书中有:




  1. class Transacton;
  2.     bit [31:0] addr ...... data[8];
  3.    
  4.    function Transacton copy;
  5.         copy=new();
  6.         copy.addr=addr;
  7.         ....
  8.         endfunction
  9. endcalss


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


复制代码



上面的copy函数是怎样实现的呢?copy明明是一个函数,为什么可以copy=new()呢?不是只用类才能new()吗?谢谢啦.
发表于 2016-4-13 11:12:37 | 显示全部楼层
function Transacton copy
function name就是一个变量
 楼主| 发表于 2016-4-16 14:24:36 | 显示全部楼层
回复 2# 25587216

function name不是一个函数名吗?没什么是一个变量呢?
发表于 2016-4-18 13:11:11 | 显示全部楼层
function的名字和类型也就是它的返回值的名字和类型
发表于 2016-4-18 21:28:32 | 显示全部楼层
面向对象的语言的编程方法,一个对象可以有自己的成员函数,其中的new和copy都是这个类的成员函数。
发表于 2016-4-19 08:30:02 | 显示全部楼层
Copy是一个对象,类型为transaction
 楼主| 发表于 2016-5-3 09:43:43 | 显示全部楼层
回复 6# yyl494577003

也是就是在Systemverilog中,函数名就可以是一个函数,也可以是一个变量的意思吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

×

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-22 13:21 , Processed in 0.021054 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表