022天津同城交友网

标题: 关于Questasim + OVM [打印本页]

作者: 雨后空    时间: 2020-3-9 20:53
标题: 关于Questasim + OVM
    文章简介:请问各位大侠,做验证的时候一般都用什么版本的Questasim和什么版本#**Error:Sequencer.sv(13):Illegalpar#**Error:Sequencer.sv(13):near"#":sy#**Error:Sequencer.sv(20):super.new(#**Error:Sequence.sv(11):Illegalpara#**Error:Sequence.sv(14):super.new()#**Error:Sequence.sv(30):Illegalpara#**Error:Sequence.sv(33):super.new()#**Errorriver.sv(13):Illegalparameqverilog+incdir+ovmovm/ovm_pkg.sv+in我看过OVM2.0.1的用户手册,那里面说的关于上面报错的语法都能上面语



请问各位大侠,做验证的时候一般都用什么版本的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的程序代碼。

各位能不能下载下来運行一下,帮我解答一下我的疑问,谢谢!



作者: 常欢    时间: 2020-3-9 20:53
看下$OVM_HOME/README-Questa.txt就知道什么工具能支持什么版本的ovm了。看你的error,应该是include整个代码结构时出现了问题。





欢迎光临 022天津同城交友网 (http://www.btlz.cn/) Powered by Discuz! X3