<!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="toc-links"> <a href="#toc:contents">Contents</a> · <a href="readme.html" style="color: green; font-size: larger;">Home page</a> </div> <div id="body"><p> <hr style="display: none"/> <div id="Pending_tasks" class="section"> <h1 class="title"> <a href="#a-606651978">1</a> Pending tasks </h1> <ul> <li>add shortcuts for reading & writing VPI delay values</li> </ul> <ul> <li>GHDL simulator supports VPI <ul> <li>need way to invoke VPI tasks from VHDL, like <code class="code"><span style="color:#d70; font-weight:bold">$ruby_init</span>();</code> <p><ins>No need for system tasks/functions. Ruby-VPI uses callbacks now!</ins></p></li> </ul></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>clean up the teriminology section… unnecessary</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-606657678">2</a> 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 & 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…</li> </ul> <ul> <li>add support for VPI callbacks which execute Ruby blocks</li> </ul> </div> </p> <p> <hr style="display: none"/> <div id="Obsolete_tasks" class="section"> <h1 class="title"> <a href="#a-606663598">3</a> 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-606651978" href="#Pending_tasks">Pending tasks</a></li><li><span class="hide">2 </span><a id="a-606657678" href="#Finished_tasks">Finished tasks</a></li><li><span class="hide">3 </span><a id="a-606663598" href="#Obsolete_tasks">Obsolete tasks</a></li></ul> </div> </body> </html>