- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello, i know that always executes always when some parameter in the sensitivity list changes.
in what cases task executes? if i have a task block and always block one after the other' which one executes first? ThanksLink Copied
4 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
A task has to be called. Hence it needs to be called from inside an always or initial block.
A task block on it's own will be called as an implicit always. You cannot guarantee which will be called first, as it is down to what order the compiler decides to order them. So you shouldnt be assigning the same variable in both.- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
--- Quote Start --- A task has to be called. Hence it needs to be called from inside an always or initial block. A task block on it's own will be called as an implicit always. --- Quote End --- What do you mean by this? A task is a procedure that must be called by from a running process. An always block is a continuously running process.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
--- Quote Start --- What do you mean by this? A task is a procedure that must be called by from a running process. An always block is a continuously running process. --- Quote End --- Maybe Im getting myself confused. In VHDL a procedure can be called outside of a process and in doing so you have an implicit process. I thought the same could be done in verilog - mistaken.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks i understand :-)

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page