<!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" />
    <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="navigation">
      <p><a href="readme.html"><img src="images/home.png" title="project home" alt="project home" /></a></p>

      <h1>Contents</h1>
      <ul>
	<li><a href="#anchor1">Pending tasks</a></li>
		<li><a href="#anchor2">Finished tasks</a></li>
		<li><a href="#anchor3">Obsolete tasks</a></li>
		<li><a href="#anchor4">Notes</a></li>
	</ul>

              <h1>Admonitions</h1>

                                                                                                                <h1>Formals</h1>

                                                                                                            </div>
      <h1 id="anchor1">Pending tasks</h1>


	<ul>
	<li>add support for reading &#38; writing <span class="caps">VPI</span> delay values</li>
	</ul>


	<ul>
	<li><span class="caps">GHDL</span> simulator supports <span class="caps">VPI</span>
	<ul>
	<li>need way to invoke <span class="caps">VPI</span> tasks from <span class="caps">VHDL</span>, like <code class="code"><span style="color:#d70; font-weight:bold">$ruby_init</span>();</code></li>
	</ul></li>
	</ul>


	<ul>
	<li>need to dump signal values when expectation fails in rSpec
	<ul>
	<li>maybe a waveform dump will also help</li>
		<li>this will help in debugging the problem</li>
	</ul></li>
	</ul>


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


	<h1 id="anchor2">Finished tasks</h1>


	<ul>
	<li>add support for <span class="caps">ESL</span> 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 <span class="caps">GPL</span> 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 <span class="caps">GEM</span>, binary, and source
	<ul>
	<li>use <span class="caps">RUBYLIB</span> 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>


	<h1 id="anchor3">Obsolete tasks</h1>


	<ul>
	<li>smarter test generation, which adjusts to user modifications in previously generated output&#8212;just use a smart merging tool like <strong>kdiff3</strong></li>
	</ul>


	<ul>
	<li>interactive console <span class="caps">IRB</span> wrapper for spec (just like Breakpoints in Rails)
	<ul>
	<li>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!</li>
	</ul></li>
	</ul>


	<h1 id="anchor4">Notes</h1>


	<ul>
	<li>When within Rake, rubygems is automatically available for use. no need to require() it again</li>
	</ul>
  </body>
</html>