有时我们需要在可综合代码中调用一个任务,即我们多次将参数传递给任务。 并让我们说或我们的通话任务太长 那么如果我们多次调用任务 所以我的问题是每次它创建调用任务的实例我们只是传递参数??
答案 0 :(得分:0)
模块,接口,程序或包中定义的任务 默认为静态。这些项目应在所有用途中共享 同时执行的任务。在类中定义的任务是 总是自动的。
在自动任务中声明的所有项都是为每次调用动态分配的。所有形式参数和局部变量都存储在堆栈中。
任务可以同时启用多次。应在每个并发任务调用上复制自动任务的所有变量,以存储特定于该调用的状态。
静态任务的所有变量应为静态,因为在模块实例中应存在与每个声明的局部变量对应的单个变量,无论如何任务的并发激活次数。
但是,模块的不同实例中的静态任务应具有彼此独立的存储。
有关详细信息,请访问System Verilog LRM的主题13.3。