# Non Blocking Assignment

**URL:** <https://verificationacademy.com/forums/t/non-blocking-assignment/36101>\
**Category:** SystemVerilog\
**Tags:** Non-blocking, SystemVerilog\
**Created:** [May 17, 2019, 1:39am UTC](https://verificationacademy.com/forums/t/non-blocking-assignment/36101 "2019-05-17T01:39:32Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Naveenkb](https://verificationacademy.com/forums/letter_avatar_proxy/v4/letter/n/e9a140/32.png) [@Naveenkb](https://verificationacademy.com/forums/u/Naveenkb)\
**Post date:** [May 17, 2019, 1:39am UTC](https://verificationacademy.com/forums/t/non-blocking-assignment/36101/1 "2019-05-17T01:39:32Z")

</div>

Why non-blocking assignments are not allowed to be used for automatic variables in system verilog?

---

<div class="post-metadata">

**Author:** ![dave\_59](https://verificationacademy.com/forums/user_avatar/verificationacademy.com/dave_59/32/1089_2.png) [@dave\_59](https://verificationacademy.com/forums/u/dave_59)\
**Post date:** [May 17, 2019, 5:29am UTC](https://verificationacademy.com/forums/t/non-blocking-assignment/36101/2 "2019-05-17T05:29:53Z")

</div>

_In reply to [Naveenkb](https://verificationacademy.com/forums/t/non-blocking-assignment/36101):_

Because a non-blocking assignment gets scheduled into the future, and there’s no way to guarantee that the automatic variable is still around when the assignment happens. And it’s possible the space has already been allocated to a different automatic variable in another scope.

---

<div class="post-metadata">

**Author:** ![Naveenkb](https://verificationacademy.com/forums/letter_avatar_proxy/v4/letter/n/e9a140/32.png) [@Naveenkb](https://verificationacademy.com/forums/u/Naveenkb)\
**Post date:** [May 17, 2019, 3:52pm UTC](https://verificationacademy.com/forums/t/non-blocking-assignment/36101/3 "2019-05-17T15:52:35Z")

</div>

Thank you Dave
