The Designer's Guide Community Forum
https://designers-guide.org/forum/YaBB.pl
Design Languages >> Verilog-AMS >> disable task by event handler in same module
https://designers-guide.org/forum/YaBB.pl?num=1357336435

Message started by RolfK on Jan 4th, 2013, 1:53pm

Title: disable task by event handler in same module
Post by RolfK on Jan 4th, 2013, 1:53pm

Dear Experts,
I run into a problem I,m not sure about. What I want to do is call a task by some event (always@(event)) and (as the task may be still executing) disable it before calling it again.
I think I need to execute the task inside a fork join block.
But this seems not to work. If the task is started once (evtDebug7 is seen) it will not be triggered again, even the event condition in the sourounding always block is matching.


Code:
always @( i_digital_core.evtClkSysTriggers_r[INST_INDEX] ) begin
     -> evtDebug7 ;
     disable  ccTiming ;  // The disable task does not work, don't know why. TASK IS BLOCKING ???!!!
     #1 ;  // just for trial
     fork    // Fork join did not help
           ccTiming( i_digital_core.valueClkSysTriggers[INST_INDEX] ) ;
     join
end


Hope someone can tell me to make this right.

Thanks a lot

RolfK

The Designer's Guide Community Forum » Powered by YaBB 2.2.2!
YaBB © 2000-2008. All Rights Reserved.