我是一名刚刚接触Verilog的新手,碰到一个有关task的问题想请高手指点一二:
接到老师给的一个任务,要求对几个模块进行枚举测试,例如若干个与非门构成的模块。但输入信号较多,为此我想用类似C语言中调用函数的方法对这些输入信号赋初值,翻书查到可以用task语句,于是试编写了如下程序:
module test_ABC;
reg a,b;
wire C;
initial begin
set_1_in(a);//任务调用,初使化一个输入信号a
end
initial begin
b <= 0;
forever #100 b = ~b;
end
task set_1_in;
output a;//也试过用inout型,仿真亦失败
begin
a <= 0;
forever #50 a = ~a;
end
endtask
and ad(C,a,b);
endmodule
用modelsim6进行仿真后,发现结果b初使化成功,而利用task调用的a初使化失败,只显示为不定值x。不知是何缘故
希望各位高手不吝赐教
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |