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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 6422|回复: 18

[求助] SystemVerilog很纠结的一个问题(真的解决不了了吗?都想哭了)

[复制链接]
发表于 2011-6-28 19:52:58 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 qiantianyiqian 于 2011-6-29 15:45 编辑

先定义了一个class:
`ifndef MEM_BASE_OBJECT_SV
`define MEM_BASE_OBJECT_SV
class mem_base_object;
  bit [7:0] addr;
  bit [7:0] data;
  // Read = 0, Write = 1
  bit rd_wr;
endclass
`endif




在另外一个class中例化这个类:
`ifndef MEM_DRIVER_SV
`define MEM_DRIVER_SV
//`include "mem_base_boject.sv"
class mem_driver;
  virtual mem_ports ports;
  mem_base_object object;

function new(virtual mem_ports ports);
  begin
    this.ports = ports;
    ports.address    = 0;
    ports.chip_en    = 0;
    ports.read_write = 0;

    。。。
    。。。
endfunction
endclass

但是在questasim中编译的时候会说object不是合法的数据类型。
有没有高人知道怎么回事啊?
小弟先谢过了
发表于 2011-6-28 20:49:49 | 显示全部楼层
干吗注释了这句
//`include "mem_base_boject.sv"
发表于 2011-6-28 22:51:40 | 显示全部楼层
include 的顺序可能不对,找不到类的定义
先 typedef class ....
发表于 2011-6-28 22:58:53 | 显示全部楼层
调用别的类,需要提前typedef的
 楼主| 发表于 2011-6-29 10:07:36 | 显示全部楼层
回复 2# beginner001


   加上·include还是会报错,说这句话非法
 楼主| 发表于 2011-6-29 10:08:35 | 显示全部楼层
回复 3# 大名七宝


   typedef也做过了,还是会出错,不知道什么原因,真是郁闷
 楼主| 发表于 2011-6-29 10:09:23 | 显示全部楼层
回复 4# darkdolls


   你跟楼上说的一样,我在试试,很感谢你和你楼上,呵呵
发表于 2011-6-29 12:08:16 | 显示全部楼层
include "mem_base_boject.sv"
你这个的名字写错了吧?换成mem_base_object.sv看看?
 楼主| 发表于 2011-6-29 15:30:06 | 显示全部楼层
回复 8# gaurson

你的意思是不加“”吗?
 楼主| 发表于 2011-6-29 15:38:12 | 显示全部楼层
回复 9# qiantianyiqian


   刚试了下,还是不行
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-5-10 11:20 , Processed in 0.030018 second(s), 7 queries , Gzip On, Redis On.

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