|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
请问各位大侠,做验证的时候一般都用什么版本的Questasim 和什么版本的OVM,我用Questasim6.4 + OVM 2.0.1行吗?但是用这个去运行网站:
http://www.testbench.in/CM_11_PHASE_8_SCOREBOARD.html给的例子,会报错:
# QuestaSim qverilog 6.4 Compiler 2008.06 Jun 18 2008
# -- Compiling package ovm_pkg
# -- Compiling module switch
# -- Compiling interface mem_interface
# -- Compiling interface input_interface
# -- Compiling interface output_interface
# ** Error: Sequencer.sv(13): Illegal parameter specification for non-parameterized class type.
# ** Error: Sequencer.sv(13): near "#": syntax error, unexpected '#', expecting ';'
# ** Error: Sequencer.sv(13): Error in class extension specification.
# ** Error: Sequencer.sv(20): super.new() call illegal for class with no super-class.
# ** Error: Sequence.sv(11): Illegal parameter specification for non-parameterized class type.
# ** Error: Sequence.sv(11): near "#": syntax error, unexpected '#', expecting ';'
# ** Error: Sequence.sv(11): Error in class extension specification.
# ** Error: Sequence.sv(14): super.new() call illegal for class with no super-class.
# ** Error: Sequence.sv(30): Illegal parameter specification for non-parameterized class type.
# ** Error: Sequence.sv(30): near "#": syntax error, unexpected '#', expecting ';'
# ** Error: Sequence.sv(30): Error in class extension specification.
# ** Error: Sequence.sv(33): super.new() call illegal for class with no super-class.
# ** Error: Driver.sv(13): Illegal parameter specification for non-parameterized class type.
# ** Error: Driver.sv(13): near "#": syntax error, unexpected '#', expecting ';'
# ** Error: Driver.sv(13): Error in class extension specification.
# ** Error: Driver.sv(25): super.new() call illegal for class with no super-class.
# ** Error: Environment.sv(32): Failed to find name 'type_id' in specified scope
# ** Error: Environment.sv(33): Failed to find name 'type_id' in specified scope
# ** Error: Environment.sv(36): Failed to find name 'type_id' in specified scope
# ** Error: Environment.sv(40): Failed to find name 'type_id' in specified scope
# C:/questasim_6.4/win32/qverilog failed.
我输入的编译命令是:
qverilog +incdir+ovm ovm/ovm_pkg.sv +incdir+. rtl.sv interface.sv top.sv -R +OVM_TESTNAME=test1
也是按照它给的例子的命令写的,其中我的库叫OVM,在所在工程的根目录下,已经编译了ovm_pkg。
其中,error对应的代码为:
class Sequencer extends ovm_sequencer #(Packet);
super.new(name, parent);
class Seq_device0_and_device1 extends ovm_sequence #(Packet);
super.new(name);
Drvr = Driver::type_id::create("Drvr",this);
Seqncr = Sequencer::type_id::create("Seqncr",this);
Rcvr = Receiver::type_id::create($psprintf("Rcvr%0d",i),this);
Sbd = Scoreboard::type_id::create("Sbd",this);
我看过OVM2.0.1的用户手册,那里面说的关于上面报错的语法都能上面语法中那么使用,但是不知道在这里为什么会报错,也就是说利用OVM2.0.1可以这么写:“class Sequencer extends ovm_sequencer #(Packet);”,但是在我这里就会出错,不知道为什么啊?是不是我的操作有问题?很多例子都是这样,在我这都不能运行了,老报错,这个问题困扰我好长时间了。
附件中的程序就是Phase8的程序代码。
各位能不能下载下来运行一下,帮我解答一下我的疑问,谢谢!
|
|