为了账号安全,请及时绑定邮箱和手机立即绑定

使用Verilog写task函数时候,却出现下面的报错,请问该怎么解决?

使用Verilog写task函数时候,却出现下面的报错,请问该怎么解决?

慕的地6264312 2021-07-23 19:15:13
//`timescale 1 ps/ 1 psmodule traffic_lights(clk,red,amber,green);input clk;output red;output amber;output green;reg red;reg amber;reg green;////dedine the parameterparameter on=1,off=0,red_tics=350,amber_tics=30,green_tics=200;//initialinitial red=off;initial arber=off;initial green=off;///the main progressalways beginred=on; //打开light(red,red_tics); //等待green=on;light(green,green_tics);amber=on;light(amber,amber_tics);end //类似C语言的函数调用////define tasktask light(color,tics); //定义交通灯的开启时间taskoutput color; //输出 控制信号input [31:0] tics; //输入 延时时钟beginrepeat (tics) @(posedge clock);color=off;endendtask//// produce the clock// always @ (posedge clk)// beginendmodule
查看完整描述

2 回答

?
繁花如伊

TA贡献2012条经验 获得超12个赞

task的格式写法不正确,light后面不需要把端口名加上去。
正确如下:
task light;
output color;
input [31:0] tics;
begin
repeat (tics) @(posedge clock);
end
endtask



查看完整回答
反对 回复 2021-07-29
?
一只名叫tom的猫

TA贡献1906条经验 获得超3个赞

task 应该不能被综合的吧,只能仿真用的吧

查看完整回答
反对 回复 2021-07-29
  • 2 回答
  • 0 关注
  • 649 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信