跳转到内容

可编程逻辑/Verilog 任务

来自维基教科书,开放的书籍,面向开放的世界

Verilog 中的任务

[编辑 | 编辑源代码]

任务从一个语句启用,该语句定义了要传递给任务的参数值和将接收结果的变量。任务完成后,控制权将返回到启用进程。因此,如果任务内部包含时序控制,则启用时间可能与返回控制权的时间不同。任务可以启用其他任务,而这些任务又可以启用其他任务,对启用的任务数量没有限制。无论启用了多少任务,只有在所有启用的任务完成之后,控制权才会返回。

使用任务

[编辑 | 编辑源代码]

[任务名称]([变量列表]);

调用任务

[编辑 | 编辑源代码]

定义任务 以下是定义任务的语法: 语法 9-1:<task> 的语法 任务和函数声明指定以下内容: 局部变量 I/O 端口 寄存器 时间 整数 实数 事件 这些声明的语法与模块定义中的对应声明相同。如果在一个任务中声明了多个输出、输入和输入输出端口,则必须将它们放在一个块中。 <task>

= task <任务名称> ;

<tf_声明>* <语句或空> endtask <任务名称>

= <标识符>

<tf_声明>

= <参数声明>

||= <输入声明> ||= <输出声明> ||= <输入输出声明> ||= <reg 声明> ||= <时间声明> ||= <整数声明> ||= <实数声明> ||= <事件声明>

华夏公益教科书