top of page

15.1. Functions

​

A function is a procedural block that returns a single value. Functions execute in zero simulation time and cannot contain timing controls. They are primarily used for combinational logic operations and calculations.

​

Function Syntax and Structure

Verilog

Key Characteristics

​

  • Must return EXACTLY ONE value

​

  • At least ONE input (can have multiple)

​

  • NO timing controls (#delay, @event, wait)

​

  • Executes in ZERO simulation time

​

  • Cannot call tasks (can call other functions)

​

  • Return value assigned to function name

​

  • Can have local variables

​

Basic Function Examples

Verilog

Function Return Types

Verilog

Calling Functions

Verilog

Advanced Function Examples

Verilog

Function Restrictions

​

âš  RESTRICTIONS:

​

  • Cannot contain timing controls (#, @, wait)

​

  • Cannot call tasks

​

  • Cannot have output or inout arguments

​

  • Must have at least one input

​

  • Must return exactly one value

​

  • Cannot enable other tasks

Task & functions

Task
 

© Copyright 2025 VLSI Mentor. All Rights Reserved.©

Connect with us

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