Can I add Delay in System Verilog function?

In reply to milinraijada:

Hi All,
I have seen somewhere like this
function abc
fork
#100 $display(“System Verilog”);
join_none
so is it allowed to have delay and why ? and another question from where can I get such information about System Verilog?
Thanks

If you want dealys, you need to call a task

function int f(bit a); 
    #1; // ILLEGAL!!!!
    return !a; 
  endfunction 
Function 'f' has illegal use of delay or synchronization
  The uses can be wait, delay, clocking block assign, fork-join and other task
  calls with delays

For info on SystemVerilog (spelled as ONE word), go to
http://standards.ieee.org/getieee/1800/download/1800-2012.pdf


Ben Cohen
http://www.systemverilog.us/ ben@systemverilog.us

  • SVA Handbook 4th Edition, 2016 ISBN 978-1518681448
  • A Pragmatic Approach to VMM Adoption 2006 ISBN 0-9705394-9-5
  • Using PSL/SUGAR for Formal and Dynamic Verification 2nd Edition, 2004, ISBN 0-9705394-6-0
  • Real Chip Design and Verification Using Verilog and VHDL, 2002 isbn 0-9705394-2-8
  • Component Design by Example ", 2001 ISBN 0-9705394-0-1
  • VHDL Coding Styles and Methodologies, 2nd Edition, 1999 ISBN 0-7923-8474-1
  • VHDL Answers to Frequently Asked Questions, 2nd Edition ISBN 0-7923-8115