>>>>> "GQ" == Guang Qu <g_qu@ece.concordia.ca> writes:
GQ> Hello,
GQ> We are reading the example of "eisenberg" code for our project of the
GQ> course-Formal Hardware Verification in Concordia University, but we do
GQ> not understand what "$NDset(@(posedge clk), 0, 1)" and "$ND(0,1)" do.
GQ> Are they new system tasks or functions in Verilog? Could you tell us
GQ> where we can find the related information or give us some explanations
GQ> about their functions (tasks?)?
GQ> Thank you!
GQ> Guang Qu
The form "$NDset(@(posedge clk), 0, 1)" is an anachronism. The
recommended form is the other one ($ND(0,1)). Vl2mv actually
ignores the first argument to NDset, and treats the two forms in the
same way.
$ND is a system task understood by Vl2mv and used to specify
nondetermininstic behavior. It is explained in
http://vlsi.colorado.edu/~vis/doc/VisUser/vis_user/node3.html#SECTION00300000000000000000
Look for "Nondeterminism" and also "Hints and Traps."
The use of $ND is also discussed in
http://vlsi.colorado.edu/~vis/doc/html/HowToWriteVerilogForVl2mv
which is acccessible through the VIS FAQ
http://vlsi.colorado.edu/~vis/doc/html/vis-faq.html
(Look under "THE $ND SYSTEM TASK VERSUS PRIMARY INPUTS".)
Fabio
This archive was generated by hypermail 2b30 : Thu May 24 2001 - 13:02:42 MDT