<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
    <link rel="stylesheet" type="text/css" href="common.css" media="screen" />
    <link rel="stylesheet" type="text/css" href="print.css" media="print" />
    <link rel="alternate" type="application/rss+xml" href="http://ruby-vpi.rubyforge.org/doc/rss.xml" title="RSS feed for this project." />
    <title>Pending tasks</title>
  </head>
  <body>
    <div id="site-links">
      <a href="readme.html">Home</a>
              &middot; <a href="manual.html">Manual</a>
              &middot; <a href="memo.html">Memo</a>
              &middot; <a href="history.html">History</a>
            <hr style="display: none"/>
    </div>

      <div id="toc-links">
      <a href="#toc:contents">Contents</a>
    </div>
  
    <div id="body"><p>
      <hr style="display: none"/>

      <div id="Pending_tasks" class="section">
        <h1 class="title">
          <a href="#a-607907898">1</a>

          &nbsp;

          Pending tasks
        </h1>

        <ul>
	<li>add support for multiple Ruby prototypes so that you can do integration testing and ESL stuff</li>
	</ul>


	<ul>
	<li>add shortcuts for reading &#38; writing VPI delay values</li>
	</ul>


	<ul>
	<li>add support for GHDL simulator (and thereby VHDL!) because it supports VPI</li>
	</ul>


	<ul>
	<li>add instructions for using <strong>ruby-debug</strong> with a graphical debugging tool or IDE like RadRails</li>
	</ul>


	<ul>
	<li>write section about code coverage and prototyping in manual</li>
	</ul>


	<ul>
	<li>write unit tests for the non-VPI libraries like integer.rb and float.rb</li>
	</ul>

      </div>
    </p>


	<p>
      <hr style="display: none"/>

      <div id="Finished_tasks" class="section">
        <h1 class="title">
          <a href="#a-607910698">2</a>

          &nbsp;

          Finished tasks
        </h1>

        <ul>
	<li>add support for ESL prototyping (like SystemC)</li>
	</ul>


	<ul>
	<li>decouple code generation with $RUBYLIB and erb</li>
	</ul>


	<ul>
	<li>change should_be to should_equal in examples</li>
	</ul>


	<ul>
	<li>add support for GPL Cver in the test runner template</li>
	</ul>


	<ul>
	<li>build ruby-vpi once to generate all .so files
	<ul>
	<li>test runner should not rebuild ruby-vpi every time</li>
	</ul></li>
	</ul>


	<ul>
	<li>distribute as a GEM, binary, and source
	<ul>
	<li>use RUBYLIB to bypass rubygems site installation for local testing. otherwise have to build &#38; install gem <em>every</em> time!</li>
		<li>move stuff from lib/ into lib/ruby-vpi/</li>
	</ul></li>
	</ul>


	<ul>
	<li>integrate RCov for code-coverage statistics</li>
	</ul>


	<ul>
	<li>method_missing for Design class</li>
	</ul>


	<ul>
	<li>define handled methods in Vpi::method_missing for faster response
	<ul>
	<li>this has been verified as bottleneck from profiling data</li>
	</ul></li>
	</ul>


	<ul>
	<li>make RCov correctly profile the code and report useful coverage metrics&#8230;</li>
	</ul>


	<ul>
	<li>add support for VPI callbacks which execute Ruby blocks</li>
	</ul>


	<ul>
	<li>write section about code coverage and prototyping in manual</li>
	</ul>


	<ul>
	<li>clean up the teriminology section&#8230; unnecessary</li>
	</ul>

      </div>
    </p>


	<p>
      <hr style="display: none"/>

      <div id="Obsolete_tasks" class="section">
        <h1 class="title">
          <a href="#a-607913238">3</a>

          &nbsp;

          Obsolete tasks
        </h1>

        <ul>
	<li>smarter test generation, which adjusts to user modifications in previously generated output

	<p><ins>Just use a smart merging tool like <strong>kdiff3</strong>.</ins></p></li>
	</ul>


	<ul>
	<li>interactive console IRB wrapper for spec (just like Breakpoints in Rails)

	<p><ins>Use the <strong>ruby-debug</strong> library with <a href="http://www.datanoise.com/articles/category/ruby-debug"><strong>debugger</strong> command for breakpoints</a> instead!</ins></p></li>
	</ul>


	<ul>
	<li>need to dump signal values when expectation fails in rSpec

	<p><ins>You can use the interactive debugger instead.</ins></p>

	<ul>
	<li>maybe a waveform dump will also help

	<p><ins>After reading some RTL verification books, this is not necessarily true.</ins></p></li>
	</ul></li>
	</ul>

      </div>
    </p></div>

      <hr style="display: none"/>
    <div id="toc">
      <h1 id="toc:contents">Contents</h1>
      <ul><li><span class="hide">1 </span><a id="a-607907898" href="#Pending_tasks">Pending tasks</a></li><li><span class="hide">2 </span><a id="a-607910698" href="#Finished_tasks">Finished tasks</a></li><li><span class="hide">3 </span><a id="a-607913238" href="#Obsolete_tasks">Obsolete tasks</a></li></ul>

          </div>
    </body>
</html>