如何在verilog中使用任务?

时间:2016-02-13 07:56:31

标签: verilog

有时我们需要在可综合代码中调用一个任务,即我们多次将参数传递给任务。 并让我们说或我们的通话任务太长 那么如果我们多次调用任务 所以我的问题是每次它创建调用任务的实例我们只是传递参数??

1 个答案:

答案 0 :(得分:0)

  

模块,接口,程序或包中定义的任务   默认为静态。这些项目应在所有用途中共享   同时执行的任务。在类中定义的任务是   总是自动的。

在自动任务中声明的所有项都是为每次调用动态分配的。所有形式参数和局部变量都存储在堆栈中。

任务可以同时启用多次。应在每个并发任务调用上复制自动任务的所有变量,以存储特定于该调用的状态。

静态任务的所有变量应为静态,因为在模块实例中应存在与每个声明的局部变量对应的单个变量,无论如何任务的并发激活次数

但是,模块的不同实例中的静态任务应具有彼此独立的存储。

有关详细信息,请访问System Verilog LRM的主题13.3。