Hi,
I have a questions on Process Class and fine grain process control in System verilog as below:
- The LRM 1800_2012, section 9.5 states -
9.5 Process execution threads
SystemVerilog creates a thread of execution for the following:
— Each initial procedure
— Each final procedure
— Each always, always_comb, always_latch, and always_ff procedure
— Each parallel statement in a fork-join (or join_any or join_none) statement group
— Each dynamic process
Each continuous assignment can also be considered its own thread (see 10.3).
What is a dynamic process - last item mentioned above. Can someone explain please
-
Does above statement mean that “process execution thread” can be an Initial blocks, always blocks (always, always_ff, always_latch, always_comb) or fork threads spawned by Fork statement. What about tasks and functions? Are tasks and functions also process execution threads which can have process class associated with them:
-
Can we have a process class associated with always block? Can always block be killed using the kill() method of process class?
-
If statement 3 is true, what will happen after the always block sensitive to rising edge of clock gets killed? Will it not execute for all clock rising edges which come after the kill() is called?
thanks,
-sunil