永发信息网

verilog语法,task的声明问题

答案:2  悬赏:80  手机版
解决时间 2021-01-28 02:30
  • 提问者网友:星軌
  • 2021-01-27 21:18
module test(CLK);
input CLK;
reg [1:0]i;
reg [1:0]j;

always @ (posedge CLK)
begin
case(j)
0:
begin
j<=j+1;
i<=0;
taskTest;
end
1:
begin
j<=j+1;
end
2:
begin
j<=0;
end
endcase
end
endmodule
task taskTest;//这里报错:declaring global objects is a SystemVerilog feature
begin
case(i)
0:
begin
i<=i+1;
end
1:
begin
i<=i+1;
end
2:
begin
i<=i+1;
end
3:
begin
i<=0;
end
default:
begin
i<=i+1;
end
endcase
end
endtask
请问如何修改?
最佳答案
  • 五星知识达人网友:醉吻情书
  • 2021-01-27 21:50
呵呵呵,小问题,把task的定义放在module …… endmodule之间,就好了。
全部回答
  • 1楼网友:由着我着迷
  • 2021-01-27 22:52
task里面不能有always语句的,呵呵,看来是初学者吖,多看看书。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯