【发布时间】:2020-06-03 15:15:44
【问题描述】:
我第一次在 Verilog 中使用 Tasks,试图实现代码重用。我有两个任务,led_on 和 led_off。我可以通过这些任务单独点亮或关闭 LED。问题是当我尝试运行结合了 led_on 和 led_off 任务的任务 led_blink 时,输出 led 保持未定义,直到 blink 任务完成,使 led 状态与函数中的最后一次调用匹配(led_off,在下面的示例中)。
这是我的 led_on 和 led_blink 任务,以及我的任务调用:
// LED On
task led_on;
inout led;
begin
#10000
led = 1;
end
endtask
// LED Blink
task led_blink;
inout led;
begin
led_on (led);
led_off (led);
led_on (led);
led_off (led);
end
endtask
// Task Call(s)
initial begin
led_blink (led_out);
end
【问题讨论】: