top of page

15.4. Re-entrant Tasks and Functions

​

Re-entrancy refers to the ability of a task or function to be called again before its previous invocation completes. This requires automatic storage allocation.

​

What is Re-entrancy?

​

A re-entrant task/function can be safely called:

​

  • From multiple places concurrently (fork-join)

​

  • Recursively (calling itself)

​

  • While a previous call is still executing

​

Why Static is NOT Re-entrant

Verilog

Automatic Makes It Re-entrant

Verilog

Recursive Functions - Must Be Automatic

Verilog

When to Use Automatic

​

  • Required for:

    • Recursive functions/tasks

    • Concurrent calls in fork-join

    • Thread-safe operations

  • Recommended for:

    • Modern verification environments

    • Class methods (SystemVerilog)

    • When in doubt (safer)

static & automatic

Advanced technique
 

© Copyright 2025 VLSI Mentor. All Rights Reserved.©

Connect with us

  • Instagram
  • Facebook
  • Twitter
  • LinkedIn
  • YouTube
bottom of page