用modelsim编译systemverilog的问题
时间:10-02
整理:3721RD
点击:
由于条件不足,没有VCS想在windows下用modelsim跑systemverilog。但有如下代码用modelsim6.5D编译都不过,部分代码
以上的三个模块代码是三个独立的文件va7_if.svtop.svtest.sv
modelsim提示的错误为
program automatic test(
input bit resetb,
va7_if.tb va[num_chip]);
总是说va "already decleared in this scope"
这个program中端口的参数为形参,即使与top.sv中的参数同名应该也没什么关系啊
我已经将modelsim中的compile option改成了use systemverilog,但还是不行
modelsim6.5D已经支持sv了,是我的这种写法有语法错误还是这种写法modelsim不认识
- interface va7_if(input bit sclk);
- logicmode;
- logicset;
- logicsin;
- logicsout;
- logic[2:0]c_out;
- logicset_in;
- logice_out;
- logicout;
- clocking cb @(posedge sclk);
- default input #1 output #1;
- inputc_out;
- endclocking
- modport tb (
- outputmode,
- outputset,
- outputsin,
- inputsout,
- clockingcb,
- outputset_in,
- inpute_out,
- inputout);
- endinterface
- program automatic test(
- input bit resetb,
- va7_if.tb va[num_chip]);
- `include "../tb/environment.sv"
- environment env;
- ....
- end program
- module top;
- bit sclk, resetb;
- time half_clk;
- initial begin
- #1ns;
- forever #(half_clk) sclk = ~sclk;
- end
- va7_if va[num_chip](sclk);
- test t(resetb, va);
- endmodule
以上的三个模块代码是三个独立的文件va7_if.svtop.svtest.sv
modelsim提示的错误为
program automatic test(
input bit resetb,
va7_if.tb va[num_chip]);
总是说va "already decleared in this scope"
这个program中端口的参数为形参,即使与top.sv中的参数同名应该也没什么关系啊
我已经将modelsim中的compile option改成了use systemverilog,但还是不行
modelsim6.5D已经支持sv了,是我的这种写法有语法错误还是这种写法modelsim不认识
另外,又发现如果像一个class和一个module top。在module中定义了一个int d=100。在class中定义一个int e=0。然后在module中 e=top.d,我就是想在类一级的作用域下调用顶层或上一层module或program的变量。这样的写法questa sim 10.0不认识总是报错
“Dotted name (top.d) not found in current scope.Note that hierarchical references are not allowed from within a package or $unit”
为什么没有人回复呢,只能自己顶个了
类定义里面不能 e = top.d什么的。 定义的时候压根就不知道top是什么。
可以实例化后再赋值。
最近刚接触sV,先学习
用Questa编译systemverilog会出问题不知道怎么解决
http://bbs.eetop.cn/thread-400268-1-1.html访问这里看看
学习一下~
kankan
学习了e
新手來學習學習
好难的
谢谢分享~
学习一下~