<?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>Module: RubyVPI</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <meta http-equiv="Content-Script-Type" content="text/javascript" /> <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" /> <script type="text/javascript"> // <![CDATA[ function popupCode( url ) { window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400") } function toggleCode( id ) { if ( document.getElementById ) elem = document.getElementById( id ); else if ( document.all ) elem = eval( "document.all." + id ); else return false; elemStyle = elem.style; if ( elemStyle.display != "block" ) { elemStyle.display = "block" } else { elemStyle.display = "none" } return true; } // Make codeblocks hidden by default document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" ) // ]]> </script> </head> <body> <div id="classHeader"> <table class="header-table"> <tr class="top-aligned-row"> <td><strong>Module</strong></td> <td class="class-name-in-header">RubyVPI</td> </tr> <tr class="top-aligned-row"> <td><strong>In:</strong></td> <td> <a href="../files/lib/ruby-vpi/rcov_rb.html"> lib/ruby-vpi/rcov.rb </a> <br /> <a href="../files/lib/ruby-vpi/core/callback_rb.html"> lib/ruby-vpi/core/callback.rb </a> <br /> <a href="../files/lib/ruby-vpi/core/edge-methods_rb.html"> lib/ruby-vpi/core/edge-methods.rb </a> <br /> <a href="../files/lib/ruby-vpi/core/scheduler_rb.html"> lib/ruby-vpi/core/scheduler.rb </a> <br /> <a href="../files/lib/ruby-vpi/core/edge_rb.html"> lib/ruby-vpi/core/edge.rb </a> <br /> <a href="../files/lib/ruby-vpi/boot/loader_rb.html"> lib/ruby-vpi/boot/loader.rb </a> <br /> <a href="../files/lib/ruby-vpi/boot/relay_rb.html"> lib/ruby-vpi/boot/relay.rb </a> <br /> <a href="../files/lib/ruby-vpi_rb.html"> lib/ruby-vpi.rb </a> <br /> </td> </tr> </table> </div> <!-- banner header --> <div id="bodyContent"> <div id="contextContent"> <div id="description"> <p> General project information. </p> </div> </div> <div id="method-list"> <h3 class="section-bar">Methods</h3> <div class="name-list"> <a href="#M000030">attach</a> <a href="#M000029">detach</a> <a href="#M000031">load_test</a> <a href="#M000028">pause</a> <a href="#M000027">resume</a> </div> </div> </div> <!-- if includes --> <div id="section"> <div id="class-list"> <h3 class="section-bar">Classes and Modules</h3> Module <a href="RubyVPI/SIMULATORS.html" class="link">RubyVPI::SIMULATORS</a><br /> </div> <div id="constants-list"> <h3 class="section-bar">Constants</h3> <div class="name-list"> <table summary="Constants"> <tr class="top-aligned-row context-row"> <td class="context-item-name">Callback</td> <td>=</td> <td class="context-item-value">CallbackClass.instance</td> </tr> <tr class="top-aligned-row context-row"> <td class="context-item-name">Scheduler</td> <td>=</td> <td class="context-item-value">SchedulerClass.instance</td> </tr> <tr class="top-aligned-row context-row"> <td class="context-item-name">Edge</td> <td>=</td> <td class="context-item-value">EdgeClass.instance</td> </tr> <tr class="top-aligned-row context-row"> <td class="context-item-name">USE_SIMULATOR</td> <td>=</td> <td class="context-item-value">ENV['RUBYVPI_SIMULATOR'].to_sym</td> </tr> <tr class="top-aligned-row context-row"> <td class="context-item-name">USE_DEBUGGER</td> <td>=</td> <td class="context-item-value">ENV['DEBUGGER'].to_i == 1</td> </tr> <tr class="top-aligned-row context-row"> <td class="context-item-name">USE_COVERAGE</td> <td>=</td> <td class="context-item-value">ENV['COVERAGE'].to_i == 1</td> </tr> <tr class="top-aligned-row context-row"> <td class="context-item-name">USE_PROTOTYPE</td> <td>=</td> <td class="context-item-value">ENV['PROTOTYPE'].to_i == 1</td> </tr> <tr class="top-aligned-row context-row"> <td class="context-item-name">USE_PROFILER</td> <td>=</td> <td class="context-item-value">ENV['PROFILER'].to_i == 1</td> </tr> <tr class="top-aligned-row context-row"> <td class="context-item-name">HAVE_RUBY_19X</td> <td>=</td> <td class="context-item-value">RUBY_VERSION =~ /^1\.9\./</td> </tr> <tr class="top-aligned-row context-row"> <td class="context-item-name">HAVE_RUBY_18X</td> <td>=</td> <td class="context-item-value">RUBY_VERSION =~ /^1\.8\./</td> </tr> <tr class="top-aligned-row context-row"> <td class="context-item-name">Project</td> <td>=</td> <td class="context-item-value">{ :name => 'ruby-vpi', :version => '21.1.0', :release => '2008-08-02', :website => 'http://ruby-vpi.rubyforge.org', :home => File.expand_path(File.join(File.dirname(__FILE__), '..'))</td> </tr> <tr class="top-aligned-row context-row"> <td class="context-item-name">Simulator</td> <td>=</td> <td class="context-item-value">Struct.new(:id, :name, :compiler_args, :linker_args)</td> </tr> <tr class="top-aligned-row context-row"> <td class="context-item-name">SIMULATORS</td> <td>=</td> <td class="context-item-value">[ Simulator.new(:cver, 'GPL Cver', '-DPRAGMATIC_CVER', ''), Simulator.new(:ivl, 'Icarus Verilog', '-DICARUS_VERILOG', ''), Simulator.new(:ncsim, 'Cadence NC-Sim', '-DCADENCE_NCSIM', ''), Simulator.new(:vcs, 'Synopsys VCS', '-DSYNOPSYS_VCS', ''), Simulator.new(:vsim, 'Mentor Modelsim', '-DMENTOR_MODELSIM', ''), ]</td> <td width="3em"> </td> <td class="context-item-desc"> List of supported Verilog simulators. </td> </tr> </table> </div> </div> <!-- if method_list --> <div id="methods"> <h3 class="section-bar">Public Class methods</h3> <div id="method-M000031" class="method-detail"> <a name="M000031"></a> <div class="method-heading"> <a href="RubyVPI.src/M000031.html" target="Code" class="method-signature" onclick="popupCode('RubyVPI.src/M000031.html');return false;"> <span class="method-name">load_test</span><span class="method-args">(aDesignHandleOrPath, *aTestFilePaths)</span> </a> </div> <div class="method-description"> <p> Loads a test to exercise a design (the given <a href="VPI.html">VPI</a> handle). </p> <ol> <li>Creates a sandbox (an anonymous module). </li> <li>Defines a constant named "DUT" (which points to the given <a href="VPI.html">VPI</a> handle) inside the sandbox. </li> <li>Loads the given test files into the sandbox. </li> <li>Returns the sandbox. </li> </ol> <table> <tr><td valign="top">aDesignHandleOrPath:</td><td>either a <a href="VPI.html">VPI</a> handle or a path to an object in the Verilog simulation </td></tr> </table> </div> </div> <h3 class="section-bar">Public Instance methods</h3> <div id="method-M000030" class="method-detail"> <a name="M000030"></a> <div class="method-heading"> <a href="RubyVPI.src/M000030.html" target="Code" class="method-signature" onclick="popupCode('RubyVPI.src/M000030.html');return false;"> <span class="method-name">attach</span><span class="method-args">()</span> </a> </div> <div class="method-description"> <p> Allows the simulator to wait for this Ruby code to <a href="RubyVPI.html#M000028">pause</a>. </p> </div> </div> <div id="method-M000029" class="method-detail"> <a name="M000029"></a> <div class="method-heading"> <a href="RubyVPI.src/M000029.html" target="Code" class="method-signature" onclick="popupCode('RubyVPI.src/M000029.html');return false;"> <span class="method-name">detach</span><span class="method-args">()</span> </a> </div> <div class="method-description"> <p> Unblocks the simulator, which is waiting for this Ruby code to <a href="RubyVPI.html#M000028">pause</a>. </p> </div> </div> <div id="method-M000028" class="method-detail"> <a name="M000028"></a> <div class="method-heading"> <a href="RubyVPI.src/M000028.html" target="Code" class="method-signature" onclick="popupCode('RubyVPI.src/M000028.html');return false;"> <span class="method-name">pause</span><span class="method-args">()</span> </a> </div> <div class="method-description"> <p> Pauses this Ruby code and waits for the simulator to <a href="RubyVPI.html#M000027">resume</a> it. </p> </div> </div> <div id="method-M000027" class="method-detail"> <a name="M000027"></a> <div class="method-heading"> <a href="RubyVPI.src/M000027.html" target="Code" class="method-signature" onclick="popupCode('RubyVPI.src/M000027.html');return false;"> <span class="method-name">resume</span><span class="method-args">(aCallback)</span> </a> </div> <div class="method-description"> <p> Allows the simulator to <a href="RubyVPI.html#M000027">resume</a> this Ruby code. </p> </div> </div> </div> </div> <div id="validator-badges"> <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p> </div> </body> </html>