微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 新手请教Verilog HDL中task的使用

新手请教Verilog HDL中task的使用

时间:10-02 整理:3721RD 点击:
下面的代码我是粘贴夏宇闻老师关于task使用的举例
但是为什么在maxplus的文本编辑器里面 save&check里面
老是报错,说light没有定义(13 15 17行)
还有在任务定义的地方说是语法错误(light(<-)
往高手指点
谢谢

module traffic_lights;
reg  clock, red, amber, green;
parameter  on=1, off=0, red_tics=350,
amber_tics=30,green_tics=200;
//交通灯初始化
initial    red=off;
initial    amber=off;
initial    green=off;
//交通灯控制时序
always
begin
red=on;     //开红灯
light(red,red_tics);    //调用等待任务
green=on;       //开绿灯
light(green,green_tics);    //等待
amber=on;       //开黄灯
light(amber,amber_tics);    //等待
end
//定义交通灯开启时间的任务
task  light(color,tics);
output  color;
input[31:0] tics;
begin
repeat(tics) @(posedge clock);//等待tics个时钟的上升沿
color=off;//关灯
end
endtask
//产生时钟脉冲的always块
always
begin
#100 clock=0;
#100 clock=1;
end
endmodule

看到你弄那么大的字就很不爽

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top