Issue
I am new to verilog and trying to figure out where the function can be defined/declared in verilog (like I know function can be defined in packages, what else?). Thanks in advance.
Solution
In Verilog, a function can be declared between
module
andendmodule
(ie in the current region of a module – inside a module, but outside aninitial
oralways
block)generate
andendgenerate
That’s it.
In System-Verilog, a function can be declared between
module
andendmodule
generate
andendgenerate
and
class
andendclass
interface
andendinterface
checker
andendchecker
package
andendpackage
program
andendprogram
and
- outside a
module
/interface
/checker
/package
/program
Answered By – Matthew Taylor
Answer Checked By – Dawn Plyler (BugsFixing Volunteer)