ruby-vpi 11.1.0 → 11.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Rakefile +8 -37
- data/bin/generate_test_tpl/bench.v +1 -1
- data/doc/{src/LICENSE → LICENSE} +0 -0
- data/doc/Rakefile +39 -14
- data/doc/common.css +144 -0
- data/doc/common.tpl +49 -0
- data/doc/figures/figures.dia +1589 -0
- data/doc/history.erb +18 -0
- data/doc/history.html +1726 -0
- data/doc/history.rb +14 -0
- data/doc/history.yml +686 -0
- data/doc/images/{COPYING → LICENSE} +0 -0
- data/doc/intro.inc +48 -0
- data/doc/lib/doc_format.rb +62 -0
- data/doc/lib/doc_proxy.rb +160 -0
- data/doc/lib/erb_content.rb +67 -0
- data/doc/lib/erb_proxy.rb +48 -0
- data/doc/manual.erb +768 -0
- data/doc/manual.html +2107 -0
- data/doc/manual.rb +5 -0
- data/{MEMO → doc/memo.erb} +0 -0
- data/{memo.part.html → doc/memo.html} +38 -5
- data/doc/readme.erb +36 -0
- data/doc/readme.html +171 -0
- data/index.html +1 -0
- data/lib/ruby-vpi/float.rb +52 -0
- data/lib/ruby-vpi/rspec.rb +6 -1
- data/lib/ruby-vpi/verilog_parser.rb +4 -5
- data/ref/c/annotated.html +1 -6
- data/ref/c/common_8h.html +1 -1
- data/ref/c/files.html +1 -3
- data/ref/c/functions.html +24 -44
- data/ref/c/functions_vars.html +24 -44
- data/ref/c/globals.html +5 -211
- data/ref/c/globals_0x63.html +32 -49
- data/ref/c/globals_0x65.html +3 -10
- data/ref/c/globals_0x66.html +3 -20
- data/ref/c/globals_0x70.html +19 -26
- data/ref/c/globals_0x72.html +4 -15
- data/ref/c/globals_0x73.html +13 -199
- data/ref/c/globals_0x74.html +2 -9
- data/ref/c/globals_0x76.html +415 -426
- data/ref/c/globals_0x78.html +3 -10
- data/ref/c/globals_defs.html +30 -35
- data/ref/c/globals_defs_0x65.html +2 -7
- data/ref/c/globals_defs_0x70.html +3 -8
- data/ref/c/globals_defs_0x76.html +413 -420
- data/ref/c/globals_defs_0x78.html +2 -7
- data/ref/c/globals_enum.html +1 -1
- data/ref/c/globals_eval.html +1 -1
- data/ref/c/globals_func.html +14 -173
- data/ref/c/globals_type.html +26 -29
- data/ref/c/globals_vars.html +4 -88
- data/ref/c/index.html +1 -1
- data/ref/c/relay_8c.html +1 -1
- data/ref/c/relay_8h.html +1 -1
- data/ref/c/structrelay____RubyOptions____def.html +1 -1
- data/ref/c/structt__cb__data.html +6 -23
- data/ref/c/structt__vpi__delay.html +3 -20
- data/ref/c/structt__vpi__error__info.html +3 -71
- data/ref/c/structt__vpi__strengthval.html +3 -3
- data/ref/c/structt__vpi__systf__data.html +12 -46
- data/ref/c/structt__vpi__time.html +3 -3
- data/ref/c/structt__vpi__value.html +3 -113
- data/ref/c/structt__vpi__vecval.html +3 -3
- data/ref/c/structt__vpi__vlog__info.html +3 -54
- data/ref/c/swig_8c.html +2 -2
- data/ref/c/swig_8h.html +1 -1
- data/ref/c/verilog_8h.html +1 -1
- data/ref/c/vlog_8c.html +1 -1
- data/ref/c/vlog_8h.html +1 -1
- data/ref/c/vpi__user_8h.html +16 -16
- data/ref/ruby/classes/ERB.html +5 -5
- data/ref/ruby/classes/ERB.src/{M000034.html → M000036.html} +0 -0
- data/ref/ruby/classes/FileUtils.html +10 -10
- data/ref/ruby/classes/FileUtils.src/{M000081.html → M000083.html} +0 -0
- data/ref/ruby/classes/FileUtils.src/{M000082.html → M000084.html} +0 -0
- data/ref/ruby/classes/Float.html +140 -0
- data/ref/ruby/classes/Float.src/M000031.html +19 -0
- data/ref/ruby/classes/RDoc.html +5 -5
- data/ref/ruby/classes/RDoc.src/{M000095.html → M000097.html} +0 -0
- data/ref/ruby/classes/RubyVpi.html +10 -10
- data/ref/ruby/classes/RubyVpi.src/{M000083.html → M000085.html} +0 -0
- data/ref/ruby/classes/RubyVpi.src/{M000084.html → M000086.html} +0 -0
- data/ref/ruby/classes/String.html +33 -10
- data/ref/ruby/classes/String.src/M000033.html +28 -5
- data/ref/ruby/classes/String.src/M000034.html +18 -0
- data/ref/ruby/classes/String.src/M000035.html +36 -0
- data/ref/ruby/classes/Template.html +5 -5
- data/ref/ruby/classes/Template.src/{M000031.html → M000032.html} +0 -0
- data/ref/ruby/classes/VerilogParser/Module.src/M000006.html +9 -8
- data/ref/ruby/classes/VerilogParser/Module/Parameter.src/M000011.html +5 -7
- data/ref/ruby/classes/VerilogParser/Module/Port.src/M000007.html +7 -7
- data/ref/ruby/classes/VerilogParser/Module/Port.src/M000008.html +4 -4
- data/ref/ruby/classes/VerilogParser/Module/Port.src/M000009.html +4 -4
- data/ref/ruby/classes/VerilogParser/Module/Port.src/M000010.html +4 -4
- data/ref/ruby/classes/Vpi/Handle.html +46 -46
- data/ref/ruby/classes/Vpi/Handle.src/M000087.html +5 -9
- data/ref/ruby/classes/Vpi/Handle.src/M000088.html +5 -31
- data/ref/ruby/classes/Vpi/Handle.src/M000089.html +9 -74
- data/ref/ruby/classes/Vpi/Handle.src/M000090.html +31 -17
- data/ref/ruby/classes/Vpi/Handle.src/M000091.html +74 -11
- data/ref/ruby/classes/Vpi/Handle.src/M000092.html +30 -0
- data/ref/ruby/classes/Vpi/Handle.src/M000093.html +11 -55
- data/ref/ruby/classes/Vpi/Handle.src/M000095.html +68 -0
- data/ref/ruby/classes/Vpi/Handle/Property.html +5 -5
- data/ref/ruby/classes/Vpi/Handle/Property.src/{M000094.html → M000096.html} +0 -0
- data/ref/ruby/classes/XX/Document.html +45 -45
- data/ref/ruby/classes/XX/Document.src/M000074.html +9 -7
- data/ref/ruby/classes/XX/Document.src/M000075.html +7 -7
- data/ref/ruby/classes/XX/Document.src/M000076.html +7 -9
- data/ref/ruby/classes/XX/Document.src/M000077.html +7 -8
- data/ref/ruby/classes/XX/Document.src/M000078.html +9 -8
- data/ref/ruby/classes/XX/Document.src/M000079.html +8 -21
- data/ref/ruby/classes/XX/Document.src/M000080.html +8 -85
- data/ref/ruby/classes/XX/Document.src/M000081.html +34 -0
- data/ref/ruby/classes/XX/Document.src/M000082.html +98 -0
- data/ref/ruby/classes/XX/HTML4.html +5 -5
- data/ref/ruby/classes/XX/HTML4.src/{M000036.html → M000038.html} +0 -0
- data/ref/ruby/classes/XX/HTML4/Strict.html +5 -5
- data/ref/ruby/classes/XX/HTML4/Strict.src/{M000038.html → M000040.html} +0 -0
- data/ref/ruby/classes/XX/HTML4/Transitional.html +5 -5
- data/ref/ruby/classes/XX/HTML4/Transitional.src/{M000037.html → M000039.html} +0 -0
- data/ref/ruby/classes/XX/Markup.html +5 -5
- data/ref/ruby/classes/XX/Markup.src/{M000043.html → M000045.html} +0 -0
- data/ref/ruby/classes/XX/Markup/ClassMethods.html +40 -40
- data/ref/ruby/classes/XX/Markup/ClassMethods.src/M000046.html +9 -12
- data/ref/ruby/classes/XX/Markup/ClassMethods.src/M000047.html +7 -7
- data/ref/ruby/classes/XX/Markup/ClassMethods.src/M000048.html +12 -14
- data/ref/ruby/classes/XX/Markup/ClassMethods.src/M000049.html +7 -7
- data/ref/ruby/classes/XX/Markup/ClassMethods.src/M000050.html +14 -14
- data/ref/ruby/classes/XX/Markup/ClassMethods.src/M000051.html +7 -9
- data/ref/ruby/classes/XX/Markup/ClassMethods.src/M000052.html +27 -0
- data/ref/ruby/classes/XX/Markup/ClassMethods.src/M000053.html +22 -0
- data/ref/ruby/classes/XX/Markup/InstanceMethods.html +100 -100
- data/ref/ruby/classes/XX/Markup/InstanceMethods.src/M000054.html +43 -18
- data/ref/ruby/classes/XX/Markup/InstanceMethods.src/M000055.html +20 -35
- data/ref/ruby/classes/XX/Markup/InstanceMethods.src/M000056.html +18 -7
- data/ref/ruby/classes/XX/Markup/InstanceMethods.src/M000057.html +35 -18
- data/ref/ruby/classes/XX/Markup/InstanceMethods.src/M000058.html +7 -19
- data/ref/ruby/classes/XX/Markup/InstanceMethods.src/M000059.html +18 -19
- data/ref/ruby/classes/XX/Markup/InstanceMethods.src/M000060.html +19 -15
- data/ref/ruby/classes/XX/Markup/InstanceMethods.src/M000061.html +19 -10
- data/ref/ruby/classes/XX/Markup/InstanceMethods.src/M000062.html +15 -13
- data/ref/ruby/classes/XX/Markup/InstanceMethods.src/M000063.html +10 -7
- data/ref/ruby/classes/XX/Markup/InstanceMethods.src/M000064.html +13 -7
- data/ref/ruby/classes/XX/Markup/InstanceMethods.src/M000065.html +7 -7
- data/ref/ruby/classes/XX/Markup/InstanceMethods.src/M000066.html +7 -7
- data/ref/ruby/classes/XX/Markup/InstanceMethods.src/M000067.html +7 -7
- data/ref/ruby/classes/XX/Markup/InstanceMethods.src/M000068.html +7 -8
- data/ref/ruby/classes/XX/Markup/InstanceMethods.src/M000069.html +7 -7
- data/ref/ruby/classes/XX/Markup/InstanceMethods.src/M000070.html +8 -7
- data/ref/ruby/classes/XX/Markup/InstanceMethods.src/M000071.html +7 -7
- data/ref/ruby/classes/XX/Markup/InstanceMethods.src/M000072.html +20 -0
- data/ref/ruby/classes/XX/Markup/InstanceMethods.src/M000073.html +20 -0
- data/ref/ruby/classes/XX/XHTML.html +5 -5
- data/ref/ruby/classes/XX/XHTML.src/{M000039.html → M000041.html} +0 -0
- data/ref/ruby/classes/XX/XHTML/Strict.html +5 -5
- data/ref/ruby/classes/XX/XHTML/Strict.src/{M000041.html → M000043.html} +0 -0
- data/ref/ruby/classes/XX/XHTML/Transitional.html +5 -5
- data/ref/ruby/classes/XX/XHTML/Transitional.src/{M000040.html → M000042.html} +0 -0
- data/ref/ruby/classes/XX/XML.html +5 -5
- data/ref/ruby/classes/XX/XML.src/{M000035.html → M000037.html} +0 -0
- data/ref/ruby/classes/XX/XMLish.html +5 -5
- data/ref/ruby/classes/XX/XMLish.src/{M000042.html → M000044.html} +0 -0
- data/ref/ruby/created.rid +1 -1
- data/ref/ruby/files/lib/ruby-vpi/float_rb.html +101 -0
- data/ref/ruby/files/lib/ruby-vpi/rspec_rb.html +1 -1
- data/ref/ruby/files/lib/ruby-vpi/runner_rb.html +1 -1
- data/ref/ruby/files/lib/ruby-vpi/verilog_parser_rb.html +1 -1
- data/ref/ruby/fr_class_index.html +1 -0
- data/ref/ruby/fr_file_index.html +1 -0
- data/ref/ruby/fr_method_index.html +69 -67
- data/samp/counter/counter.v +4 -4
- data/samp/counter/counter_rspec_spec.rb +4 -8
- data/samp/counter/counter_xunit_spec.rb +4 -8
- metadata +112 -196
- data/HEADER +0 -97
- data/HISTORY +0 -687
- data/README +0 -23
- data/doc/background.html +0 -3
- data/doc/background.methodology.html +0 -3
- data/doc/background.organization.html +0 -10
- data/doc/background.running-tests.html +0 -3
- data/doc/background.terminology.html +0 -3
- data/doc/gfdl-0.html +0 -18
- data/doc/gfdl-1.html +0 -70
- data/doc/gfdl-10.html +0 -15
- data/doc/gfdl-2.html +0 -13
- data/doc/gfdl-3.html +0 -31
- data/doc/gfdl-4.html +0 -75
- data/doc/gfdl-5.html +0 -20
- data/doc/gfdl-6.html +0 -12
- data/doc/gfdl-7.html +0 -16
- data/doc/gfdl-8.html +0 -17
- data/doc/gfdl-9.html +0 -9
- data/doc/gfdl-addendum.html +0 -25
- data/doc/gfdl.html +0 -11
- data/doc/glossary.html +0 -3
- data/doc/hacking.html +0 -3
- data/doc/hacking.release-packages.html +0 -7
- data/doc/images/ChangeLog +0 -27
- data/doc/images/blank.png +0 -0
- data/doc/images/callouts/1.png +0 -0
- data/doc/images/callouts/10.png +0 -0
- data/doc/images/callouts/11.png +0 -0
- data/doc/images/callouts/12.png +0 -0
- data/doc/images/callouts/13.png +0 -0
- data/doc/images/callouts/14.png +0 -0
- data/doc/images/callouts/15.png +0 -0
- data/doc/images/callouts/2.png +0 -0
- data/doc/images/callouts/3.png +0 -0
- data/doc/images/callouts/4.png +0 -0
- data/doc/images/callouts/5.png +0 -0
- data/doc/images/callouts/6.png +0 -0
- data/doc/images/callouts/7.png +0 -0
- data/doc/images/callouts/8.png +0 -0
- data/doc/images/callouts/9.png +0 -0
- data/doc/images/callouts/ChangeLog +0 -15
- data/doc/images/copyright +0 -55
- data/doc/images/draft.png +0 -0
- data/doc/images/toc-blank.png +0 -0
- data/doc/images/toc-minus.png +0 -0
- data/doc/images/toc-plus.png +0 -0
- data/doc/index.html +0 -4
- data/doc/introduction.html +0 -3
- data/doc/introduction.license.html +0 -3
- data/doc/introduction.manifest.html +0 -3
- data/doc/introduction.related-works.html +0 -3
- data/doc/introduction.resources.html +0 -3
- data/doc/manual.txt +0 -1852
- data/doc/problem.ivl.html +0 -18
- data/doc/problems.html +0 -3
- data/doc/problems.ruby.html +0 -3
- data/doc/problems.vsim.html +0 -3
- data/doc/setup.html +0 -3
- data/doc/setup.installation.html +0 -9
- data/doc/setup.maintenance.html +0 -3
- data/doc/setup.reqs.html +0 -3
- data/doc/src/figures.dia +0 -0
- data/doc/src/license.xml +0 -446
- data/doc/src/manual.xml +0 -1824
- data/doc/src/manual.xsl +0 -23
- data/doc/src/shared.dtd +0 -62
- data/doc/styles/manual.css +0 -91
- data/doc/usage.examples.html +0 -3
- data/doc/usage.html +0 -3
- data/doc/usage.tools.html +0 -9
- data/doc/usage.tutorial.html +0 -189
- data/header.html +0 -95
- data/header.part.html +0 -95
- data/history.html +0 -1442
- data/history.part.html +0 -1346
- data/memo.html +0 -211
- data/readme.html +0 -138
- data/readme.part.html +0 -42
- data/ref/c/globals_0x62.html +0 -62
- data/ref/c/globals_0x67.html +0 -64
- data/ref/c/globals_0x69.html +0 -62
- data/ref/c/globals_0x6c.html +0 -64
- data/ref/c/globals_0x6d.html +0 -62
- data/ref/c/globals_0x6e.html +0 -63
- data/ref/c/globals_0x75.html +0 -63
- data/ref/c/globals_defs_0x6c.html +0 -57
- data/ref/c/globals_defs_0x6e.html +0 -56
- data/ref/c/globals_defs_0x72.html +0 -57
- data/ref/c/globals_defs_0x73.html +0 -164
- data/ref/c/globals_defs_0x75.html +0 -56
- data/ref/c/globals_func_0x66.html +0 -62
- data/ref/c/globals_func_0x67.html +0 -55
- data/ref/c/globals_func_0x69.html +0 -53
- data/ref/c/globals_func_0x70.html +0 -53
- data/ref/c/globals_func_0x72.html +0 -57
- data/ref/c/globals_func_0x73.html +0 -114
- data/ref/c/globals_func_0x76.html +0 -57
- data/ref/c/structswig__cast__info.html +0 -98
- data/ref/c/structswig__class.html +0 -115
- data/ref/c/structswig__module__info.html +0 -132
- data/ref/c/structswig__type__info.html +0 -132
- data/ref/c/swig__vpi_8h.html +0 -8739
- data/ref/c/swig__wrap_8cin.html +0 -11556
- data/ref/c/unions__vpi__value__value.html +0 -166
- data/ref/ruby/classes/String.src/M000032.html +0 -41
- data/ref/ruby/classes/Vpi/Handle.src/M000085.html +0 -18
- data/ref/ruby/classes/Vpi/Handle.src/M000086.html +0 -18
- data/ref/ruby/classes/XX/Document.src/M000072.html +0 -22
- data/ref/ruby/classes/XX/Document.src/M000073.html +0 -20
- data/ref/ruby/classes/XX/Markup/ClassMethods.src/M000044.html +0 -22
- data/ref/ruby/classes/XX/Markup/ClassMethods.src/M000045.html +0 -20
- data/ref/ruby/classes/XX/Markup/InstanceMethods.src/M000052.html +0 -56
- data/ref/ruby/classes/XX/Markup/InstanceMethods.src/M000053.html +0 -33
- data/style.css +0 -47
data/doc/history.erb
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
h1. Release history
|
2
|
+
|
3
|
+
This is a record of important changes that have occurred with each release.
|
4
|
+
|
5
|
+
|
6
|
+
h2. Version numbering system
|
7
|
+
|
8
|
+
We _strictly_ follow the RubyGems project's "rational versioning policy":http://www.rubygems.org/read/chapter/7 since release 6.3.0. To summarize[1] this "major.minor.build" numbering policy,
|
9
|
+
* an increase in the _major_ number indicates that _functionally incompatible_ changes have occurred. Thus, what may have worked in the previous version may not work in the new one.
|
10
|
+
* an increase in the _minor_ number indicates that _functionally compatible_ changes have occurred. Thus, what worked in the previous version will work in the new one.
|
11
|
+
* an increase in the _build_ number indicates that the _underlying implementation_ has changed. The functionality has not changed and no features have been added. Thus, what worked in the previous version will work in the new one.
|
12
|
+
|
13
|
+
fn1. C. Gross, "Explaining Open Source Version Numbers", [Online document], 2005 Nov 28, [cited 2006 Aug 27], Available HTTP: "http://ablog.apress.com/?p=738":http://ablog.apress.com/?p=738
|
14
|
+
|
15
|
+
|
16
|
+
<% @history.each do |entry| %>
|
17
|
+
<%= format_history_entry entry %>
|
18
|
+
<% end %>
|
data/doc/history.html
ADDED
@@ -0,0 +1,1726 @@
|
|
1
|
+
|
2
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
3
|
+
<html>
|
4
|
+
<head>
|
5
|
+
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
|
6
|
+
<link rel="stylesheet" type="text/css" href="common.css" />
|
7
|
+
<title>Release history</title>
|
8
|
+
</head>
|
9
|
+
<body>
|
10
|
+
|
11
|
+
<div id="navigation">
|
12
|
+
<p><a href="readme.html"><img src="images/home.png" title="project home" alt="project home" /></a></p>
|
13
|
+
|
14
|
+
<h1>Contents</h1>
|
15
|
+
<ul>
|
16
|
+
<li><a href="#anchor0">Release history</a>
|
17
|
+
<ul>
|
18
|
+
<li><a href="#anchor1">Version numbering system</a></li>
|
19
|
+
</ul>
|
20
|
+
</li>
|
21
|
+
<li><a href="#anchor2" title="2006-11-15">Version 11.1.1</a>
|
22
|
+
<ul>
|
23
|
+
<li><a href="#anchor3">Summary</a></li>
|
24
|
+
<li><a href="#anchor4">Acknowledgment</a></li>
|
25
|
+
<li><a href="#anchor5">Notice</a></li>
|
26
|
+
<li><a href="#anchor6">Detail</a></li>
|
27
|
+
</ul>
|
28
|
+
</li>
|
29
|
+
<li><a href="#anchor7" title="2006-11-08">Version 11.1.0</a>
|
30
|
+
<ul>
|
31
|
+
<li><a href="#anchor8">Summary</a></li>
|
32
|
+
<li><a href="#anchor9">Acknowledgment</a></li>
|
33
|
+
<li><a href="#anchor10">Notice</a></li>
|
34
|
+
<li><a href="#anchor11">Detail</a></li>
|
35
|
+
</ul>
|
36
|
+
</li>
|
37
|
+
<li><a href="#anchor12" title="2006-11-05">Version 11.0.0</a>
|
38
|
+
<ul>
|
39
|
+
<li><a href="#anchor13">Summary</a></li>
|
40
|
+
<li><a href="#anchor14">Notice</a></li>
|
41
|
+
<li><a href="#anchor15">Detail</a></li>
|
42
|
+
</ul>
|
43
|
+
</li>
|
44
|
+
<li><a href="#anchor16" title="2006-11-05">Version 10.0.0</a>
|
45
|
+
<ul>
|
46
|
+
<li><a href="#anchor17">Summary</a></li>
|
47
|
+
<li><a href="#anchor18">Acknowledgment</a></li>
|
48
|
+
<li><a href="#anchor19">Notice</a></li>
|
49
|
+
<li><a href="#anchor20">Detail</a>
|
50
|
+
<ul>
|
51
|
+
<li><a href="#anchor21">Automated test generator</a></li>
|
52
|
+
<li><a href="#anchor22">User manual</a></li>
|
53
|
+
</ul>
|
54
|
+
</li>
|
55
|
+
</ul>
|
56
|
+
</li>
|
57
|
+
<li><a href="#anchor23" title="2006-10-28">Version 9.0.0</a>
|
58
|
+
<ul>
|
59
|
+
<li><a href="#anchor24">Summary</a></li>
|
60
|
+
<li><a href="#anchor25">Acknowledgment</a></li>
|
61
|
+
<li><a href="#anchor26">Notice</a></li>
|
62
|
+
<li><a href="#anchor27">Detail</a></li>
|
63
|
+
</ul>
|
64
|
+
</li>
|
65
|
+
<li><a href="#anchor28" title="2006-10-24">Version 8.2.0</a>
|
66
|
+
<ul>
|
67
|
+
<li><a href="#anchor29">Summary</a></li>
|
68
|
+
<li><a href="#anchor30">Acknowledgment</a></li>
|
69
|
+
<li><a href="#anchor31">Notice</a></li>
|
70
|
+
<li><a href="#anchor32">Detail</a></li>
|
71
|
+
</ul>
|
72
|
+
</li>
|
73
|
+
<li><a href="#anchor33" title="2006-10-21">Version 8.1.0</a>
|
74
|
+
<ul>
|
75
|
+
<li><a href="#anchor34">Summary</a></li>
|
76
|
+
<li><a href="#anchor35">Notice</a></li>
|
77
|
+
<li><a href="#anchor36">Detail</a></li>
|
78
|
+
</ul>
|
79
|
+
</li>
|
80
|
+
<li><a href="#anchor37" title="2006-10-13">Version 8.0.0</a>
|
81
|
+
<ul>
|
82
|
+
<li><a href="#anchor38">Summary</a></li>
|
83
|
+
<li><a href="#anchor39">Notice</a></li>
|
84
|
+
<li><a href="#anchor40">Detail</a></li>
|
85
|
+
</ul>
|
86
|
+
</li>
|
87
|
+
<li><a href="#anchor41" title="2006-09-30">Version 7.3.0</a>
|
88
|
+
<ul>
|
89
|
+
<li><a href="#anchor42">Summary</a></li>
|
90
|
+
<li><a href="#anchor43">Notice</a></li>
|
91
|
+
<li><a href="#anchor44">Detail</a></li>
|
92
|
+
</ul>
|
93
|
+
</li>
|
94
|
+
<li><a href="#anchor45" title="2006-09-15">Version 7.2.0</a>
|
95
|
+
<ul>
|
96
|
+
<li><a href="#anchor46">Summary</a></li>
|
97
|
+
<li><a href="#anchor47">Acknowledgment</a></li>
|
98
|
+
<li><a href="#anchor48">Detail</a></li>
|
99
|
+
</ul>
|
100
|
+
</li>
|
101
|
+
<li><a href="#anchor49" title="2006-08-29">Version 7.1.0</a>
|
102
|
+
<ul>
|
103
|
+
<li><a href="#anchor50">Summary</a></li>
|
104
|
+
<li><a href="#anchor51">Detail</a></li>
|
105
|
+
</ul>
|
106
|
+
</li>
|
107
|
+
<li><a href="#anchor52" title="2006-08-29">Version 7.0.0</a>
|
108
|
+
<ul>
|
109
|
+
<li><a href="#anchor53">Summary</a></li>
|
110
|
+
<li><a href="#anchor54">Notice</a></li>
|
111
|
+
<li><a href="#anchor55">Detail</a></li>
|
112
|
+
</ul>
|
113
|
+
</li>
|
114
|
+
<li><a href="#anchor56" title="2006-08-27">Version 6.3.0</a>
|
115
|
+
<ul>
|
116
|
+
<li><a href="#anchor57">Summary</a></li>
|
117
|
+
<li><a href="#anchor58">Notice</a></li>
|
118
|
+
<li><a href="#anchor59">Detail</a></li>
|
119
|
+
</ul>
|
120
|
+
</li>
|
121
|
+
<li><a href="#anchor60" title="2006-08-26">Version 6.2.0</a>
|
122
|
+
<ul>
|
123
|
+
<li><a href="#anchor61">Summary</a></li>
|
124
|
+
<li><a href="#anchor62">Notice</a></li>
|
125
|
+
<li><a href="#anchor63">Detail</a></li>
|
126
|
+
</ul>
|
127
|
+
</li>
|
128
|
+
<li><a href="#anchor64" title="2006-08-09">Version 6.1.0</a>
|
129
|
+
<ul>
|
130
|
+
<li><a href="#anchor65">Summary</a></li>
|
131
|
+
<li><a href="#anchor66">Detail</a></li>
|
132
|
+
</ul>
|
133
|
+
</li>
|
134
|
+
<li><a href="#anchor67" title="2006-08-07">Version 6.0.0</a>
|
135
|
+
<ul>
|
136
|
+
<li><a href="#anchor68">Summary</a></li>
|
137
|
+
<li><a href="#anchor69">Notice</a></li>
|
138
|
+
<li><a href="#anchor70">Detail</a></li>
|
139
|
+
</ul>
|
140
|
+
</li>
|
141
|
+
<li><a href="#anchor71" title="2006-08-04">Version 5.1.1</a>
|
142
|
+
<ul>
|
143
|
+
<li><a href="#anchor72">Summary</a></li>
|
144
|
+
<li><a href="#anchor73">Acknowledgment</a></li>
|
145
|
+
<li><a href="#anchor74">Detail</a></li>
|
146
|
+
</ul>
|
147
|
+
</li>
|
148
|
+
<li><a href="#anchor75" title="2006-07-29">Version 5.1.0</a>
|
149
|
+
<ul>
|
150
|
+
<li><a href="#anchor76">Summary</a></li>
|
151
|
+
<li><a href="#anchor77">Acknowledgment</a></li>
|
152
|
+
<li><a href="#anchor78">Detail</a>
|
153
|
+
<ul>
|
154
|
+
<li><a href="#anchor79">User manual</a></li>
|
155
|
+
<li><a href="#anchor80">Examples</a></li>
|
156
|
+
<li><a href="#anchor81"><span class="caps">VPI</span> utility layer</a></li>
|
157
|
+
</ul>
|
158
|
+
</li>
|
159
|
+
</ul>
|
160
|
+
</li>
|
161
|
+
<li><a href="#anchor82" title="2006-07-22">Version 5.0.0</a>
|
162
|
+
<ul>
|
163
|
+
<li><a href="#anchor83">Summary</a></li>
|
164
|
+
<li><a href="#anchor84">Acknowledgment</a></li>
|
165
|
+
<li><a href="#anchor85">Notice</a></li>
|
166
|
+
<li><a href="#anchor86">Detail</a></li>
|
167
|
+
</ul>
|
168
|
+
</li>
|
169
|
+
<li><a href="#anchor87" title="2006-05-25">Version 4.0.0</a>
|
170
|
+
<ul>
|
171
|
+
<li><a href="#anchor88">Summary</a></li>
|
172
|
+
<li><a href="#anchor89">Acknowledgment</a></li>
|
173
|
+
<li><a href="#anchor90">Notice</a></li>
|
174
|
+
<li><a href="#anchor91">Detail</a></li>
|
175
|
+
</ul>
|
176
|
+
</li>
|
177
|
+
<li><a href="#anchor92" title="2006-05-13">Version 3.2.0</a>
|
178
|
+
<ul>
|
179
|
+
<li><a href="#anchor93">Summary</a></li>
|
180
|
+
<li><a href="#anchor94">Acknowledgment</a></li>
|
181
|
+
<li><a href="#anchor95">Detail</a></li>
|
182
|
+
</ul>
|
183
|
+
</li>
|
184
|
+
<li><a href="#anchor96" title="2006-04-28">Version 3.1.0</a>
|
185
|
+
<ul>
|
186
|
+
<li><a href="#anchor97">Summary</a></li>
|
187
|
+
<li><a href="#anchor98">Notice</a></li>
|
188
|
+
<li><a href="#anchor99">Detail</a></li>
|
189
|
+
</ul>
|
190
|
+
</li>
|
191
|
+
<li><a href="#anchor100" title="2006-04-23">Version 3.0.0</a>
|
192
|
+
<ul>
|
193
|
+
<li><a href="#anchor101">Summary</a></li>
|
194
|
+
<li><a href="#anchor102">Acknowledgment</a></li>
|
195
|
+
<li><a href="#anchor103">Notice</a></li>
|
196
|
+
<li><a href="#anchor104">Detail</a></li>
|
197
|
+
</ul>
|
198
|
+
</li>
|
199
|
+
<li><a href="#anchor105" title="2006-04-17">Version 2.0.0</a>
|
200
|
+
<ul>
|
201
|
+
<li><a href="#anchor106">Summary</a></li>
|
202
|
+
<li><a href="#anchor107">Acknowledgment</a></li>
|
203
|
+
<li><a href="#anchor108">Notice</a></li>
|
204
|
+
<li><a href="#anchor109">Detail</a></li>
|
205
|
+
</ul>
|
206
|
+
</li>
|
207
|
+
<li><a href="#anchor110" title="2006-02-26">Version 1.0.0</a>
|
208
|
+
<ul>
|
209
|
+
<li><a href="#anchor111">Summary</a></li>
|
210
|
+
<li><a href="#anchor112">Acknowledgment</a></li>
|
211
|
+
<li><a href="#anchor113">Detail</a></li>
|
212
|
+
</ul>
|
213
|
+
</li>
|
214
|
+
<li><a href="#anchor114" title="1999-10-31">Version 0.0.0</a>
|
215
|
+
<ul>
|
216
|
+
<li><a href="#anchor115">Summary</a></li>
|
217
|
+
<li><a href="#anchor116">Detail</a></li>
|
218
|
+
</ul></li>
|
219
|
+
</ul>
|
220
|
+
|
221
|
+
<h2>Sections</h2>
|
222
|
+
<ol>
|
223
|
+
<li><a href="#anchor0">Release history</a></li>
|
224
|
+
<li><a href="#anchor1">Version numbering system</a></li>
|
225
|
+
<li><a href="#anchor2" title="2006-11-15">Version 11.1.1</a></li>
|
226
|
+
<li><a href="#anchor3">Summary</a></li>
|
227
|
+
<li><a href="#anchor4">Acknowledgment</a></li>
|
228
|
+
<li><a href="#anchor5">Notice</a></li>
|
229
|
+
<li><a href="#anchor6">Detail</a></li>
|
230
|
+
<li><a href="#anchor7" title="2006-11-08">Version 11.1.0</a></li>
|
231
|
+
<li><a href="#anchor8">Summary</a></li>
|
232
|
+
<li><a href="#anchor9">Acknowledgment</a></li>
|
233
|
+
<li><a href="#anchor10">Notice</a></li>
|
234
|
+
<li><a href="#anchor11">Detail</a></li>
|
235
|
+
<li><a href="#anchor12" title="2006-11-05">Version 11.0.0</a></li>
|
236
|
+
<li><a href="#anchor13">Summary</a></li>
|
237
|
+
<li><a href="#anchor14">Notice</a></li>
|
238
|
+
<li><a href="#anchor15">Detail</a></li>
|
239
|
+
<li><a href="#anchor16" title="2006-11-05">Version 10.0.0</a></li>
|
240
|
+
<li><a href="#anchor17">Summary</a></li>
|
241
|
+
<li><a href="#anchor18">Acknowledgment</a></li>
|
242
|
+
<li><a href="#anchor19">Notice</a></li>
|
243
|
+
<li><a href="#anchor20">Detail</a></li>
|
244
|
+
<li><a href="#anchor21">Automated test generator</a></li>
|
245
|
+
<li><a href="#anchor22">User manual</a></li>
|
246
|
+
<li><a href="#anchor23" title="2006-10-28">Version 9.0.0</a></li>
|
247
|
+
<li><a href="#anchor24">Summary</a></li>
|
248
|
+
<li><a href="#anchor25">Acknowledgment</a></li>
|
249
|
+
<li><a href="#anchor26">Notice</a></li>
|
250
|
+
<li><a href="#anchor27">Detail</a></li>
|
251
|
+
<li><a href="#anchor28" title="2006-10-24">Version 8.2.0</a></li>
|
252
|
+
<li><a href="#anchor29">Summary</a></li>
|
253
|
+
<li><a href="#anchor30">Acknowledgment</a></li>
|
254
|
+
<li><a href="#anchor31">Notice</a></li>
|
255
|
+
<li><a href="#anchor32">Detail</a></li>
|
256
|
+
<li><a href="#anchor33" title="2006-10-21">Version 8.1.0</a></li>
|
257
|
+
<li><a href="#anchor34">Summary</a></li>
|
258
|
+
<li><a href="#anchor35">Notice</a></li>
|
259
|
+
<li><a href="#anchor36">Detail</a></li>
|
260
|
+
<li><a href="#anchor37" title="2006-10-13">Version 8.0.0</a></li>
|
261
|
+
<li><a href="#anchor38">Summary</a></li>
|
262
|
+
<li><a href="#anchor39">Notice</a></li>
|
263
|
+
<li><a href="#anchor40">Detail</a></li>
|
264
|
+
<li><a href="#anchor41" title="2006-09-30">Version 7.3.0</a></li>
|
265
|
+
<li><a href="#anchor42">Summary</a></li>
|
266
|
+
<li><a href="#anchor43">Notice</a></li>
|
267
|
+
<li><a href="#anchor44">Detail</a></li>
|
268
|
+
<li><a href="#anchor45" title="2006-09-15">Version 7.2.0</a></li>
|
269
|
+
<li><a href="#anchor46">Summary</a></li>
|
270
|
+
<li><a href="#anchor47">Acknowledgment</a></li>
|
271
|
+
<li><a href="#anchor48">Detail</a></li>
|
272
|
+
<li><a href="#anchor49" title="2006-08-29">Version 7.1.0</a></li>
|
273
|
+
<li><a href="#anchor50">Summary</a></li>
|
274
|
+
<li><a href="#anchor51">Detail</a></li>
|
275
|
+
<li><a href="#anchor52" title="2006-08-29">Version 7.0.0</a></li>
|
276
|
+
<li><a href="#anchor53">Summary</a></li>
|
277
|
+
<li><a href="#anchor54">Notice</a></li>
|
278
|
+
<li><a href="#anchor55">Detail</a></li>
|
279
|
+
<li><a href="#anchor56" title="2006-08-27">Version 6.3.0</a></li>
|
280
|
+
<li><a href="#anchor57">Summary</a></li>
|
281
|
+
<li><a href="#anchor58">Notice</a></li>
|
282
|
+
<li><a href="#anchor59">Detail</a></li>
|
283
|
+
<li><a href="#anchor60" title="2006-08-26">Version 6.2.0</a></li>
|
284
|
+
<li><a href="#anchor61">Summary</a></li>
|
285
|
+
<li><a href="#anchor62">Notice</a></li>
|
286
|
+
<li><a href="#anchor63">Detail</a></li>
|
287
|
+
<li><a href="#anchor64" title="2006-08-09">Version 6.1.0</a></li>
|
288
|
+
<li><a href="#anchor65">Summary</a></li>
|
289
|
+
<li><a href="#anchor66">Detail</a></li>
|
290
|
+
<li><a href="#anchor67" title="2006-08-07">Version 6.0.0</a></li>
|
291
|
+
<li><a href="#anchor68">Summary</a></li>
|
292
|
+
<li><a href="#anchor69">Notice</a></li>
|
293
|
+
<li><a href="#anchor70">Detail</a></li>
|
294
|
+
<li><a href="#anchor71" title="2006-08-04">Version 5.1.1</a></li>
|
295
|
+
<li><a href="#anchor72">Summary</a></li>
|
296
|
+
<li><a href="#anchor73">Acknowledgment</a></li>
|
297
|
+
<li><a href="#anchor74">Detail</a></li>
|
298
|
+
<li><a href="#anchor75" title="2006-07-29">Version 5.1.0</a></li>
|
299
|
+
<li><a href="#anchor76">Summary</a></li>
|
300
|
+
<li><a href="#anchor77">Acknowledgment</a></li>
|
301
|
+
<li><a href="#anchor78">Detail</a></li>
|
302
|
+
<li><a href="#anchor79">User manual</a></li>
|
303
|
+
<li><a href="#anchor80">Examples</a></li>
|
304
|
+
<li><a href="#anchor81"><span class="caps">VPI</span> utility layer</a></li>
|
305
|
+
<li><a href="#anchor82" title="2006-07-22">Version 5.0.0</a></li>
|
306
|
+
<li><a href="#anchor83">Summary</a></li>
|
307
|
+
<li><a href="#anchor84">Acknowledgment</a></li>
|
308
|
+
<li><a href="#anchor85">Notice</a></li>
|
309
|
+
<li><a href="#anchor86">Detail</a></li>
|
310
|
+
<li><a href="#anchor87" title="2006-05-25">Version 4.0.0</a></li>
|
311
|
+
<li><a href="#anchor88">Summary</a></li>
|
312
|
+
<li><a href="#anchor89">Acknowledgment</a></li>
|
313
|
+
<li><a href="#anchor90">Notice</a></li>
|
314
|
+
<li><a href="#anchor91">Detail</a></li>
|
315
|
+
<li><a href="#anchor92" title="2006-05-13">Version 3.2.0</a></li>
|
316
|
+
<li><a href="#anchor93">Summary</a></li>
|
317
|
+
<li><a href="#anchor94">Acknowledgment</a></li>
|
318
|
+
<li><a href="#anchor95">Detail</a></li>
|
319
|
+
<li><a href="#anchor96" title="2006-04-28">Version 3.1.0</a></li>
|
320
|
+
<li><a href="#anchor97">Summary</a></li>
|
321
|
+
<li><a href="#anchor98">Notice</a></li>
|
322
|
+
<li><a href="#anchor99">Detail</a></li>
|
323
|
+
<li><a href="#anchor100" title="2006-04-23">Version 3.0.0</a></li>
|
324
|
+
<li><a href="#anchor101">Summary</a></li>
|
325
|
+
<li><a href="#anchor102">Acknowledgment</a></li>
|
326
|
+
<li><a href="#anchor103">Notice</a></li>
|
327
|
+
<li><a href="#anchor104">Detail</a></li>
|
328
|
+
<li><a href="#anchor105" title="2006-04-17">Version 2.0.0</a></li>
|
329
|
+
<li><a href="#anchor106">Summary</a></li>
|
330
|
+
<li><a href="#anchor107">Acknowledgment</a></li>
|
331
|
+
<li><a href="#anchor108">Notice</a></li>
|
332
|
+
<li><a href="#anchor109">Detail</a></li>
|
333
|
+
<li><a href="#anchor110" title="2006-02-26">Version 1.0.0</a></li>
|
334
|
+
<li><a href="#anchor111">Summary</a></li>
|
335
|
+
<li><a href="#anchor112">Acknowledgment</a></li>
|
336
|
+
<li><a href="#anchor113">Detail</a></li>
|
337
|
+
<li><a href="#anchor114" title="1999-10-31">Version 0.0.0</a></li>
|
338
|
+
<li><a href="#anchor115">Summary</a></li>
|
339
|
+
<li><a href="#anchor116">Detail</a></li>
|
340
|
+
</ol>
|
341
|
+
|
342
|
+
</div>
|
343
|
+
|
344
|
+
<h1 id="anchor0">Release history</h1>
|
345
|
+
|
346
|
+
|
347
|
+
<p>This is a record of important changes that have occurred with each release.</p>
|
348
|
+
|
349
|
+
|
350
|
+
<h2 id="anchor1">Version numbering system</h2>
|
351
|
+
|
352
|
+
|
353
|
+
We <em>strictly</em> follow the RubyGems project’s <a href="http://www.rubygems.org/read/chapter/7">rational versioning policy</a> since release 6.3.0. To summarize<sup><a href="#fn1">1</a></sup> this “major.minor.build” numbering policy,
|
354
|
+
<ul>
|
355
|
+
<li>an increase in the <em>major</em> number indicates that <em>functionally incompatible</em> changes have occurred. Thus, what may have worked in the previous version may not work in the new one.</li>
|
356
|
+
<li>an increase in the <em>minor</em> number indicates that <em>functionally compatible</em> changes have occurred. Thus, what worked in the previous version will work in the new one.</li>
|
357
|
+
<li>an increase in the <em>build</em> number indicates that the <em>underlying implementation</em> has changed. The functionality has not changed and no features have been added. Thus, what worked in the previous version will work in the new one.</li>
|
358
|
+
</ul>
|
359
|
+
|
360
|
+
|
361
|
+
<p id="fn1"><sup>1</sup> C. Gross, “Explaining Open Source Version Numbers”, [Online document], 2005 Nov 28, [cited 2006 Aug 27], Available <span class="caps">HTTP</span>: <a href="http://ablog.apress.com/?p=738">http://ablog.apress.com/?p=738</a></p>
|
362
|
+
|
363
|
+
|
364
|
+
<h1 id="anchor2">Version 11.1.1 (2006-11-15)</h1>
|
365
|
+
|
366
|
+
|
367
|
+
<h2 id="anchor3">Summary</h2>
|
368
|
+
|
369
|
+
|
370
|
+
<p>This release fixes a bug in the automated test generator, unifies the user manual and the website into a single documentation system, and adds support for rSpec 0.7.2.</p>
|
371
|
+
|
372
|
+
|
373
|
+
<h2 id="anchor4">Acknowledgment</h2>
|
374
|
+
|
375
|
+
|
376
|
+
<p>Thanks to John Burr for finding the bug in the automated test generator.</p>
|
377
|
+
|
378
|
+
|
379
|
+
<h2 id="anchor5">Notice</h2>
|
380
|
+
|
381
|
+
|
382
|
+
<ul>
|
383
|
+
<li>The user manual is now available <em>only</em> in <span class="caps">HTML</span> format. If you still wish to have a plain-text version, you can use a text-based browser, such as <a href="http://lynx.browser.org/">lynx</a>, to perform the necessary conversion.</li>
|
384
|
+
</ul>
|
385
|
+
|
386
|
+
|
387
|
+
<h2 id="anchor6">Detail</h2>
|
388
|
+
|
389
|
+
|
390
|
+
<ul>
|
391
|
+
<li>The automated test generator no longer crashes when parsing a Verilog module declaration that contains multiple module parameters.</li>
|
392
|
+
</ul>
|
393
|
+
|
394
|
+
|
395
|
+
<ul>
|
396
|
+
<li>The user manual and the website are now written using a custom documentation system based on RedCloth and <span class="caps">ERB</span> instead of DocBook-XML. This makes it easier to edit the user manual and reuse its content in other areas of the website.</li>
|
397
|
+
</ul>
|
398
|
+
|
399
|
+
|
400
|
+
<h1 id="anchor7">Version 11.1.0 (2006-11-08)</h1>
|
401
|
+
|
402
|
+
|
403
|
+
<h2 id="anchor8">Summary</h2>
|
404
|
+
|
405
|
+
|
406
|
+
<p>This release fixes a bug in generated benches, improves the <a href="../ref/ruby/classes/Vpi/Handle.html">the <code class="code"><span style="color:#036; font-weight:bold">Vpi</span>::<span style="color:#036; font-weight:bold">Handle</span></code> class</a>, and improves performance by roughly 20%.</p>
|
407
|
+
|
408
|
+
|
409
|
+
<h2 id="anchor9">Acknowledgment</h2>
|
410
|
+
|
411
|
+
|
412
|
+
<p>Thanks to Matt Fischler for finding the bug in generated benches (see below).</p>
|
413
|
+
|
414
|
+
|
415
|
+
<h2 id="anchor10">Notice</h2>
|
416
|
+
|
417
|
+
|
418
|
+
<ul>
|
419
|
+
<li>A bug in generated Verilog and Ruby benches, which caused the <pre>ruby: no such file to load -- ruby-vpi (LoadError)</pre> error, has been fixed. Please regenerate your tests to apply this bug fix to your tests.</li>
|
420
|
+
</ul>
|
421
|
+
|
422
|
+
|
423
|
+
<h2 id="anchor11">Detail</h2>
|
424
|
+
|
425
|
+
|
426
|
+
<ul>
|
427
|
+
<li>The class <code class="code"><span style="color:#036; font-weight:bold">SWIG</span>::<span style="color:#036; font-weight:bold">TYPE_p_unsigned_int</span></code> has been aliased as <code class="code"><span style="color:#036; font-weight:bold">Vpi</span>::<span style="color:#036; font-weight:bold">Handle</span></code> for easier access.</li>
|
428
|
+
</ul>
|
429
|
+
|
430
|
+
|
431
|
+
<ul>
|
432
|
+
<li><code class="code"><span style="color:#036; font-weight:bold">Vpi</span>::<span style="color:#036; font-weight:bold">Handle</span>.to_s</code> and <code class="code"><span style="color:#036; font-weight:bold">Vpi</span>::<span style="color:#036; font-weight:bold">Handle</span>.inspect</code> now produce more informative output. For example, what used to appear as <pre>#<SWIG::TYPE_p_unsigned_int:0x2aaab6574fa0></pre> now appears as <pre>#<Vpi::Handle vpiModule fullName=counter_rspec_bench, size=-1, file=counter_rspec_bench.v, lineNo=2></pre> in this release.
|
433
|
+
<ul>
|
434
|
+
<li>You can also provide a list of <span class="caps">VPI</span> properties, as names or integer constants, to those methods to see additional information in the output.</li>
|
435
|
+
</ul></li>
|
436
|
+
</ul>
|
437
|
+
|
438
|
+
|
439
|
+
<ul>
|
440
|
+
<li><code class="code"><span style="color:#036; font-weight:bold">Vpi</span>::<span style="color:#036; font-weight:bold">Handle</span></code> now implements all methods from <code class="code"><span style="color:#036; font-weight:bold">Enumerable</span></code>, such as <code class="code">map</code>, <code class="code">each</code>, <code class="code">select</code>, and so on. However, unlike their counterparts in <code class="code"><span style="color:#036; font-weight:bold">Enumerable</span></code>, these methods also accept a list of <span class="caps">VPI</span> properties, as names or integer constants. Thus, you are now able to write <code class="code">handle.select(<span style="color:#A60">:reg</span>, <span style="color:#A60">:net</span>) {|h| h.size > <span style="color:#00D; font-weight:bold">5</span>}</code> to obtain a list of child handles to registers and nets whose capacity is greater than 5 bits.</li>
|
441
|
+
</ul>
|
442
|
+
|
443
|
+
|
444
|
+
<ul>
|
445
|
+
<li>The <code class="code"><span style="color:#036; font-weight:bold">Vpi</span>::<span style="color:#036; font-weight:bold">Handle</span>.[]</code>, <code class="code"><span style="color:#036; font-weight:bold">Vpi</span>::<span style="color:#036; font-weight:bold">Handle</span>.get_value</code>, and <code class="code"><span style="color:#036; font-weight:bold">Vpi</span>::<span style="color:#036; font-weight:bold">Handle</span>.put_value</code> methods now accept names of <span class="caps">VPI</span> properties as well as their integer constants. Thus, you are now able to write <code class="code">handle[<span style="color:#A60">:reg</span>, <span style="color:#A60">:net</span>]</code> to obtain a list of handles to all child registers and nets.</li>
|
446
|
+
</ul>
|
447
|
+
|
448
|
+
|
449
|
+
<ul>
|
450
|
+
<li><code class="code"><span style="color:#036; font-weight:bold">Vpi</span>::<span style="color:#036; font-weight:bold">Handle</span>.method_missing</code> has been refactored to cache queries. There is now, approximately, 20% improvement in performance.</li>
|
451
|
+
</ul>
|
452
|
+
|
453
|
+
|
454
|
+
<ul>
|
455
|
+
<li><code class="code"><span style="color:#036; font-weight:bold">Vpi</span>::<span style="color:#036; font-weight:bold">Handle</span>.method_missing</code> has been fixed to accept operations with multiple underscores. For example, before this release, you could not write <code class="code">handle.find_all_reg {|r| r.name =~ <span style="background-color:#fff0ff"><span style="color:#404">/</span><span style="color:#808">foo</span><span style="color:#404">/</span></span>}</code> because the “find_all_reg” method would be interpreted as the operation “find” and the <span class="caps">VPI</span> property “all_reg”.</li>
|
456
|
+
</ul>
|
457
|
+
|
458
|
+
|
459
|
+
<ul>
|
460
|
+
<li><code class="code"><span style="color:#036; font-weight:bold">Vpi</span>::<span style="color:#036; font-weight:bold">Handle</span>.method_missing</code> no longer requires that the first letter of a method be lower case. For example, now you can now write <code class="code">handle.<span style="color:#036; font-weight:bold">IntVal</span></code> in addition to <code class="code">handle.intVal</code>.</li>
|
461
|
+
</ul>
|
462
|
+
|
463
|
+
|
464
|
+
<ul>
|
465
|
+
<li>The <code class="code"><span style="color:#036; font-weight:bold">IntegerGenerator</span></code> class, in the pipelined <span class="caps">ALU</span> example, has been fixed so that multiple instances do not interfere with the generation of each other’s prime integers.</li>
|
466
|
+
</ul>
|
467
|
+
|
468
|
+
|
469
|
+
<ul>
|
470
|
+
<li>Due to a bug in the <tt>Rakefile</tt>, the reference documentation was not included in the previous few releases. This has been fixed.</li>
|
471
|
+
</ul>
|
472
|
+
|
473
|
+
|
474
|
+
<h1 id="anchor12">Version 11.0.0 (2006-11-05)</h1>
|
475
|
+
|
476
|
+
|
477
|
+
<h2 id="anchor13">Summary</h2>
|
478
|
+
|
479
|
+
|
480
|
+
<p>This release shortens generated Ruby benches and uses the less confusing notation for defining <a href="http://wiki.rubygarden.org/Ruby/page/show/SingletonTutorial">singleton methods</a> in generated designs and prototypes.</p>
|
481
|
+
|
482
|
+
|
483
|
+
<h2 id="anchor14">Notice</h2>
|
484
|
+
|
485
|
+
|
486
|
+
<ul>
|
487
|
+
<li>The arguments for the <a href="../ref/ruby/classes/RubyVpi.html"><code class="code"><span style="color:#036; font-weight:bold">RubyVPI</span>.init_bench</code> method</a> have changed.</li>
|
488
|
+
</ul>
|
489
|
+
|
490
|
+
|
491
|
+
<ul>
|
492
|
+
<li><strong>generate_test.rb</strong> no longer emits undocumented status indicators: <em>name</em> and <em>format</em>.</li>
|
493
|
+
</ul>
|
494
|
+
|
495
|
+
|
496
|
+
<ul>
|
497
|
+
<li>The source code is no longer distributed as a <strong>zip</strong> package, because it seems to be quite underutilized in comparison to the <strong>tgz</strong> and <strong>gem</strong> packages.</li>
|
498
|
+
</ul>
|
499
|
+
|
500
|
+
|
501
|
+
<h2 id="anchor15">Detail</h2>
|
502
|
+
|
503
|
+
|
504
|
+
<ul>
|
505
|
+
<li>Generated Ruby benches have been shortened to just <em>one</em> line of code!</li>
|
506
|
+
</ul>
|
507
|
+
|
508
|
+
|
509
|
+
<ul>
|
510
|
+
<li>The less confusing notation of <pre class="code"><span style="color:#080; font-weight:bold">def</span> some_object.a_singleton_method
|
511
|
+
do_stuff
|
512
|
+
<span style="color:#080; font-weight:bold">end</span></pre> is now used instead of the <pre class="code"><span style="color:#080; font-weight:bold">class</span> << <span style="color:#B06; font-weight:bold">some_object</span>
|
513
|
+
<span style="color:#080; font-weight:bold">def</span> <span style="color:#06B; font-weight:bold">a_singleton_method</span>
|
514
|
+
do_stuff
|
515
|
+
<span style="color:#080; font-weight:bold">end</span>
|
516
|
+
<span style="color:#080; font-weight:bold">end</span></pre> notation.
|
517
|
+
<ul>
|
518
|
+
<li>The tutorial and examples have been updated accordingly.</li>
|
519
|
+
</ul></li>
|
520
|
+
</ul>
|
521
|
+
|
522
|
+
|
523
|
+
<ul>
|
524
|
+
<li>The pipelined <span class="caps">ALU</span> example now has an updated <code class="code"><span style="color:#036; font-weight:bold">IntegerGenerator</span></code> class.</li>
|
525
|
+
</ul>
|
526
|
+
|
527
|
+
|
528
|
+
<h1 id="anchor16">Version 10.0.0 (2006-11-05)</h1>
|
529
|
+
|
530
|
+
|
531
|
+
<h2 id="anchor17">Summary</h2>
|
532
|
+
|
533
|
+
|
534
|
+
<p>This release adds the ability to access a handle’s children and reduces the amount of code produced by the automated test generator.</p>
|
535
|
+
|
536
|
+
|
537
|
+
<h2 id="anchor18">Acknowledgment</h2>
|
538
|
+
|
539
|
+
|
540
|
+
<p>Thanks to Matt Fischler for finding the problem of misdirected compilation errors in Verilog benches.</p>
|
541
|
+
|
542
|
+
|
543
|
+
<h2 id="anchor19">Notice</h2>
|
544
|
+
|
545
|
+
|
546
|
+
<ul>
|
547
|
+
<li>The way in which Ruby-VPI and generated tests interact has changed: the design is now a <span class="caps">VPI</span> handle object and the <tt>design.rb</tt> and <tt>proto.rb</tt> files define <a href="http://wiki.rubygarden.org/Ruby/page/show/SingletonTutorial">singleton methods</a> for that object.
|
548
|
+
<ul>
|
549
|
+
<li>I suggest that you regenerate your existing tests (just run <strong>generate_test.rb</strong> again) whilst employing the service of a text merging tool (see the user manual).</li>
|
550
|
+
</ul></li>
|
551
|
+
</ul>
|
552
|
+
|
553
|
+
|
554
|
+
<ul>
|
555
|
+
<li>You can now access a handle’s children by simply calling methods on it. In the event that a child handle has the same name as a <span class="caps">VPI</span> property, the child is given priority. However, you can always access <span class="caps">VPI</span> properties explicitly via the <code class="code">get_value</code> and <code class="code">put_value</code> methods.</li>
|
556
|
+
</ul>
|
557
|
+
|
558
|
+
|
559
|
+
<ul>
|
560
|
+
<li><strong>generate_test.rb</strong> no longer accepts the <pre>-s</pre> and <pre>-u</pre> options. Use their longer counterparts <pre>--rspec</pre> and <pre>--xunit</pre> instead.</li>
|
561
|
+
</ul>
|
562
|
+
|
563
|
+
|
564
|
+
<h2 id="anchor20">Detail</h2>
|
565
|
+
|
566
|
+
|
567
|
+
<h3 id="anchor21">Automated test generator</h3>
|
568
|
+
|
569
|
+
|
570
|
+
<ul>
|
571
|
+
<li>Generated Verilog benches no longer divert compilation errors from Verilog design files. That is, if the Verilog simulator finds compilation errors in a Verilog design file, it will report that the Verilog design file is at fault (instead of reporting that the generated Verilog bench is at fault).</li>
|
572
|
+
</ul>
|
573
|
+
|
574
|
+
|
575
|
+
<ul>
|
576
|
+
<li>The user is now notified when a backup of an existing file is made.</li>
|
577
|
+
</ul>
|
578
|
+
|
579
|
+
|
580
|
+
<ul>
|
581
|
+
<li>Generated tests have been greatly simplified to reduce the amount of work for the user.
|
582
|
+
<ul>
|
583
|
+
<li>The design is now just a handle to the module in the Verilog bench.</li>
|
584
|
+
<li><code class="code">include <span style="color:#036; font-weight:bold">Vpi</span></code> and <code class="code"><span style="color:#33B">@design</span></code> are no longer generated.</li>
|
585
|
+
<li>The tutorial and examples have been updated accordingly.</li>
|
586
|
+
</ul></li>
|
587
|
+
</ul>
|
588
|
+
|
589
|
+
|
590
|
+
<h3 id="anchor22">User manual</h3>
|
591
|
+
|
592
|
+
|
593
|
+
<ul>
|
594
|
+
<li>Revised the stylesheet to make disjoint sections readily distinguishable from each other, through generous spacing and minor coloring.</li>
|
595
|
+
</ul>
|
596
|
+
|
597
|
+
|
598
|
+
<ul>
|
599
|
+
<li>Added tips about <tt>ruby-vpi/runner_proxy</tt>, <pre>rake -T</pre>, and using <strong>kdiff3</strong> with <strong>generate_test.rb</strong>.</li>
|
600
|
+
</ul>
|
601
|
+
|
602
|
+
|
603
|
+
<ul>
|
604
|
+
<li>Moved installation information into a new “setup” chapter.</li>
|
605
|
+
</ul>
|
606
|
+
|
607
|
+
|
608
|
+
<h1 id="anchor23">Version 9.0.0 (2006-10-28)</h1>
|
609
|
+
|
610
|
+
|
611
|
+
<h2 id="anchor24">Summary</h2>
|
612
|
+
|
613
|
+
|
614
|
+
<p>This release improves the automated test generator and adds new content to the user manual.</p>
|
615
|
+
|
616
|
+
|
617
|
+
<h2 id="anchor25">Acknowledgment</h2>
|
618
|
+
|
619
|
+
|
620
|
+
<p>Thanks to Matt Fischler for helping test and debug the installation of Ruby-VPI on Windows.</p>
|
621
|
+
|
622
|
+
|
623
|
+
<h2 id="anchor26">Notice</h2>
|
624
|
+
|
625
|
+
|
626
|
+
<ul>
|
627
|
+
<li>The command-line options for <strong>generate_test.rb</strong> have changed. Run the command <pre>generate_test.rb --help</pre> for details.</li>
|
628
|
+
</ul>
|
629
|
+
|
630
|
+
|
631
|
+
<h2 id="anchor27">Detail</h2>
|
632
|
+
|
633
|
+
|
634
|
+
<ul>
|
635
|
+
<li>Test runners now attempt to resolve paths in <code class="code"><span style="color:#036; font-weight:bold">SIMULATOR_SOURCES</span></code> by searching for them within the directories specified in <code class="code"><span style="color:#036; font-weight:bold">SIMULATOR_INCLUDES</span></code>.</li>
|
636
|
+
</ul>
|
637
|
+
|
638
|
+
|
639
|
+
<ul>
|
640
|
+
<li>Synopsys <span class="caps">VCS</span> is now used in a better way (via the <pre>-load</pre> option).
|
641
|
+
<ul>
|
642
|
+
<li>The old <span class="caps">PLI</span> table file (<tt>synopsys_vcs.tab</tt>) has been removed.</li>
|
643
|
+
<li>The C extension has been revised accordingly.</li>
|
644
|
+
</ul></li>
|
645
|
+
</ul>
|
646
|
+
|
647
|
+
|
648
|
+
<ul>
|
649
|
+
<li>The C extension now compiles without errors in Cygwin.</li>
|
650
|
+
</ul>
|
651
|
+
|
652
|
+
|
653
|
+
<ul>
|
654
|
+
<li>The automated test generator now:
|
655
|
+
<ul>
|
656
|
+
<li>Only creates output files when necessary.</li>
|
657
|
+
<li>Updates existing output files using <a href="manual.html#setup.recom">text merging tools</a> if possible. (Refer to <code class="code"><span style="color:#036; font-weight:bold">MERGER</span></code> in the help information of <strong>generate_test.rb</strong>.)</li>
|
658
|
+
<li>Emits progress information similar to Ruby on Rails.</li>
|
659
|
+
</ul></li>
|
660
|
+
</ul>
|
661
|
+
|
662
|
+
|
663
|
+
<ul>
|
664
|
+
<li>The user manual now:
|
665
|
+
<ul>
|
666
|
+
<li>Includes instructions for installing on Windows (via Cygwin).</li>
|
667
|
+
<li>Has a recommended software section, with links to text merging tools.</li>
|
668
|
+
<li>Uses the term <a href="http://en.wikipedia.org/wiki/XUnit">xUnit</a> instead of “unit test”.</li>
|
669
|
+
<li>Correctly spells “rSpec”.</li>
|
670
|
+
</ul></li>
|
671
|
+
</ul>
|
672
|
+
|
673
|
+
|
674
|
+
<h1 id="anchor28">Version 8.2.0 (2006-10-24)</h1>
|
675
|
+
|
676
|
+
|
677
|
+
<h2 id="anchor29">Summary</h2>
|
678
|
+
|
679
|
+
|
680
|
+
<p>This release simplifies configuration of generated tests.</p>
|
681
|
+
|
682
|
+
|
683
|
+
<h2 id="anchor30">Acknowledgment</h2>
|
684
|
+
|
685
|
+
|
686
|
+
<p>Thanks to <a href="http://www.soe.ucsc.edu/classes/cmpe126/Fall06/">students in <span class="caps">CMPE</span>-126</a> for their comments.</p>
|
687
|
+
|
688
|
+
|
689
|
+
<h2 id="anchor31">Notice</h2>
|
690
|
+
|
691
|
+
|
692
|
+
<ul>
|
693
|
+
<li>Generated runners now have a <code class="code"><span style="color:#036; font-weight:bold">SIMULATOR_INCLUDES</span></code> array, whose entries specify places where Verilog source files, needed by the Verilog design, reside.</li>
|
694
|
+
</ul>
|
695
|
+
|
696
|
+
|
697
|
+
<h2 id="anchor32">Detail</h2>
|
698
|
+
|
699
|
+
|
700
|
+
<ul>
|
701
|
+
<li>Generated Verilog benches now inherit all <code class="code"><span style="background-color:#f0fff0"><span style="color:#161">`</span><span style="color:#2B2">include</span></span></code> and <code class="code"><span style="background-color:#f0fff0"><span style="color:#161">`</span><span style="color:#2B2">define</span></span></code> directives from the Verilog design in a simpler manner.</li>
|
702
|
+
<li>A generated test no longer requires its Verilog design to reside in the same directory.</li>
|
703
|
+
<li>The sample tests have been updated accordingly.</li>
|
704
|
+
</ul>
|
705
|
+
|
706
|
+
|
707
|
+
<h1 id="anchor33">Version 8.1.0 (2006-10-21)</h1>
|
708
|
+
|
709
|
+
|
710
|
+
<h2 id="anchor34">Summary</h2>
|
711
|
+
|
712
|
+
|
713
|
+
<p>This release adds an integer library and renames the vpi_util library.</p>
|
714
|
+
|
715
|
+
|
716
|
+
<h2 id="anchor35">Notice</h2>
|
717
|
+
|
718
|
+
|
719
|
+
<ul>
|
720
|
+
<li>The <strong>vpi_util</strong> library has been renamed to <strong>vpi</strong>. This change should not affect your code unless you explicitly imported this library via <code class="code">require <span style="background-color:#fff0f0"><span style="color:#710">'</span><span style="color:#D20">ruby-vpi/vpi_util</span><span style="color:#710">'</span></span></code>. In which case, you should update your code to use <code class="code">require <span style="background-color:#fff0f0"><span style="color:#710">'</span><span style="color:#D20">ruby-vpi/vpi</span><span style="color:#710">'</span></span></code> accordingly.</li>
|
721
|
+
</ul>
|
722
|
+
|
723
|
+
|
724
|
+
<h2 id="anchor36">Detail</h2>
|
725
|
+
|
726
|
+
|
727
|
+
<ul>
|
728
|
+
<li>An integer library has been added to simplify common tasks related to hardware and the binary number system. You can import this library for use via <code class="code">require <span style="background-color:#fff0f0"><span style="color:#710">'</span><span style="color:#D20">ruby-vpi/integer</span><span style="color:#710">'</span></span></code>.</li>
|
729
|
+
</ul>
|
730
|
+
|
731
|
+
|
732
|
+
<h1 id="anchor37">Version 8.0.0 (2006-10-13)</h1>
|
733
|
+
|
734
|
+
|
735
|
+
<h2 id="anchor38">Summary</h2>
|
736
|
+
|
737
|
+
|
738
|
+
<p>This release renames some identifiers for consistency, updates the documentation, and improves integration with RubyGems.</p>
|
739
|
+
|
740
|
+
|
741
|
+
<h2 id="anchor39">Notice</h2>
|
742
|
+
|
743
|
+
|
744
|
+
<ul>
|
745
|
+
<li>The <code class="code"><span style="color:#036; font-weight:bold">RubyVPI</span></code> module has been renamed to <code class="code"><span style="color:#036; font-weight:bold">RubyVpi</span></code>.</li>
|
746
|
+
</ul>
|
747
|
+
|
748
|
+
|
749
|
+
<ul>
|
750
|
+
<li>The <code class="code"><span style="color:#036; font-weight:bold">PROTO</span></code> environment variable has been renamed to <code class="code"><span style="color:#036; font-weight:bold">PROTOTYPE</span></code>.
|
751
|
+
<ul>
|
752
|
+
<li>In addition to using <strong>unset</strong>, you can now disable simulation of the prototype by assigning an empty value to this variable.</li>
|
753
|
+
</ul></li>
|
754
|
+
</ul>
|
755
|
+
|
756
|
+
|
757
|
+
<h2 id="anchor40">Detail</h2>
|
758
|
+
|
759
|
+
|
760
|
+
<ul>
|
761
|
+
<li>We now use <a href="http://darcs.net">Darcs</a> for revision control, instead of Subversion. The source repository can now be accessed at <a href="http://ruby-vpi.rubyforge.org/src/ruby-vpi">http://ruby-vpi.rubyforge.org/src/ruby-vpi</a>.</li>
|
762
|
+
</ul>
|
763
|
+
|
764
|
+
|
765
|
+
<ul>
|
766
|
+
<li>The source code is now distributed in tar.gz and zip form, in addition to gem.</li>
|
767
|
+
</ul>
|
768
|
+
|
769
|
+
|
770
|
+
<ul>
|
771
|
+
<li>Some identifiers have been renamed for better consistency.</li>
|
772
|
+
</ul>
|
773
|
+
|
774
|
+
|
775
|
+
<ul>
|
776
|
+
<li>The user manual now resides directly within the <tt>doc/</tt> directory.
|
777
|
+
<ul>
|
778
|
+
<li>The integration of documentation in <strong>gem_server</strong> has been improved.</li>
|
779
|
+
</ul></li>
|
780
|
+
</ul>
|
781
|
+
|
782
|
+
|
783
|
+
<ul>
|
784
|
+
<li>The glossary and tutorial in the user manual have been revised.</li>
|
785
|
+
</ul>
|
786
|
+
|
787
|
+
|
788
|
+
<h1 id="anchor41">Version 7.3.0 (2006-09-30)</h1>
|
789
|
+
|
790
|
+
|
791
|
+
<h2 id="anchor42">Summary</h2>
|
792
|
+
|
793
|
+
|
794
|
+
<p>This release fixes a bug in generated Verilog benches, includes parsed constants in generated tests, and adds new methods to handles.</p>
|
795
|
+
|
796
|
+
|
797
|
+
<h2 id="anchor43">Notice</h2>
|
798
|
+
|
799
|
+
|
800
|
+
<ul>
|
801
|
+
<li>Handles now have two new methods:
|
802
|
+
<ul>
|
803
|
+
<li><code class="code">handle.x?</code> checks if the logic value is “don’t care” </li>
|
804
|
+
<li><code class="code">handle.z?</code> checks if the logic value is high impedance</li>
|
805
|
+
</ul></li>
|
806
|
+
</ul>
|
807
|
+
|
808
|
+
|
809
|
+
<h2 id="anchor44">Detail</h2>
|
810
|
+
|
811
|
+
|
812
|
+
<ul>
|
813
|
+
<li>Module instantiation code in generated Verilog benches has been fixed. Whitespace between the module type and instance variable was missing.</li>
|
814
|
+
</ul>
|
815
|
+
|
816
|
+
|
817
|
+
<ul>
|
818
|
+
<li>The test generator tool now provides parsed Verilog constants and include-directives in generated Verilog benches; and parsed Verilog constants in generated Ruby designs.
|
819
|
+
<ul>
|
820
|
+
<li>The pipelined <span class="caps">ALU</span> example has been revised accordingly.</li>
|
821
|
+
</ul></li>
|
822
|
+
</ul>
|
823
|
+
|
824
|
+
|
825
|
+
<ul>
|
826
|
+
<li>A library for parsing Verilog source code has been added as <tt>lib/ruby-vpi/verilog_parser.rb</tt>.</li>
|
827
|
+
</ul>
|
828
|
+
|
829
|
+
|
830
|
+
<h1 id="anchor45">Version 7.2.0 (2006-09-15)</h1>
|
831
|
+
|
832
|
+
|
833
|
+
<h2 id="anchor46">Summary</h2>
|
834
|
+
|
835
|
+
|
836
|
+
<p>This release adds initial<sup><a href="#fn1">1</a></sup> support for code coverage analysis via the <a href="http://eigenclass.org/hiki.rb?rcov">rcov library</a>.</p>
|
837
|
+
|
838
|
+
|
839
|
+
<h2 id="anchor47">Acknowledgment</h2>
|
840
|
+
|
841
|
+
|
842
|
+
<p>Thanks to Mauricio Fernandez for helping me use rcov without its runner.</p>
|
843
|
+
|
844
|
+
|
845
|
+
<h2 id="anchor48">Detail</h2>
|
846
|
+
|
847
|
+
|
848
|
+
<ul>
|
849
|
+
<li>Added initial support (full capabilites of the rcov library, such as its various analysis modes, are not yet utilized) for code coverage analysis, which can be enabled by setting the <code class="code"><span style="color:#036; font-weight:bold">COVERAGE</span></code> environment variable to a non-empty value before running a test.
|
850
|
+
<ul>
|
851
|
+
<li>For example, you can run a test with the <span class="caps">GPL</span> Cver simulator while enabling the generation of code coverage reports as follows: <pre>export COVERAGE=1; rake cver</pre></li>
|
852
|
+
</ul></li>
|
853
|
+
</ul>
|
854
|
+
|
855
|
+
|
856
|
+
<ul>
|
857
|
+
<li>Coverage reports are generated in text and <span class="caps">HTML</span> formats.</li>
|
858
|
+
</ul>
|
859
|
+
|
860
|
+
|
861
|
+
<h1 id="anchor49">Version 7.1.0 (2006-08-29)</h1>
|
862
|
+
|
863
|
+
|
864
|
+
<h2 id="anchor50">Summary</h2>
|
865
|
+
|
866
|
+
|
867
|
+
<p>This release simplifies running of multiple tests, restores compatibility with Synopsys <span class="caps">VCS</span>, and better integrates with RubyGems.</p>
|
868
|
+
|
869
|
+
|
870
|
+
<h2 id="anchor51">Detail</h2>
|
871
|
+
|
872
|
+
|
873
|
+
<ul>
|
874
|
+
<li>Added <tt>lib/ruby-vpi/runner_proxy.rb</tt> library which, when embedded into a Rakefile, runs all generated tests in the working directory with any specified arguments. For example, have a look at the <tt>samp/counter/Rakefile</tt> file.</li>
|
875
|
+
</ul>
|
876
|
+
|
877
|
+
|
878
|
+
<ul>
|
879
|
+
<li>Fixed a bug that prevented one from running tests with Synopsys <span class="caps">VCS</span>.</li>
|
880
|
+
</ul>
|
881
|
+
|
882
|
+
|
883
|
+
<ul>
|
884
|
+
<li>Ruby-VPI documentation is now available through RubyGems’ <a href="http://docs.rubygems.org/read/chapter/2#page10"><strong>gem_server</strong> web interface</a>.</li>
|
885
|
+
</ul>
|
886
|
+
|
887
|
+
|
888
|
+
<ul>
|
889
|
+
<li>The user manual now discusses how to determine the location of a Ruby-VPI installation.</li>
|
890
|
+
</ul>
|
891
|
+
|
892
|
+
|
893
|
+
<ul>
|
894
|
+
<li>The <tt>tpl/</tt> directory has been removed.</li>
|
895
|
+
</ul>
|
896
|
+
|
897
|
+
|
898
|
+
<h1 id="anchor52">Version 7.0.0 (2006-08-29)</h1>
|
899
|
+
|
900
|
+
|
901
|
+
<h2 id="anchor53">Summary</h2>
|
902
|
+
|
903
|
+
|
904
|
+
<p>This release distributes Ruby-VPI as a gem, improves portability of generated tests, and fixes a bug.</p>
|
905
|
+
|
906
|
+
|
907
|
+
<h2 id="anchor54">Notice</h2>
|
908
|
+
|
909
|
+
|
910
|
+
<ul>
|
911
|
+
<li><code class="code">put_value()</code> now accomodates register value overflows when verifying the value it has written.</li>
|
912
|
+
</ul>
|
913
|
+
|
914
|
+
|
915
|
+
<ul>
|
916
|
+
<li>The test generator’s templates and the examples have been updated as follows:
|
917
|
+
<ul>
|
918
|
+
<li>Test runners no longer have to specify the path to Ruby-VPI installation directory. Instead, they simply <code class="code">require <span style="background-color:#fff0f0"><span style="color:#710">'</span><span style="color:#D20">ruby-vpi/runner</span><span style="color:#710">'</span></span></code>. Thus, you can run your tests on any machine with Ruby-VPI without having to know where it is installed.</li>
|
919
|
+
<li>Ruby benches now invoke <code class="code"><span style="color:#036; font-weight:bold">RubyVPI</span>.init_bench</code> instead of <code class="code">require <span style="background-color:#fff0f0"><span style="color:#710">'</span><span style="color:#D20">bench</span><span style="color:#710">'</span></span>; setup_bench</code> to become initialized.</li>
|
920
|
+
</ul></li>
|
921
|
+
</ul>
|
922
|
+
|
923
|
+
|
924
|
+
<ul>
|
925
|
+
<li>All Ruby libraries in the <tt>lib/</tt> directory have been moved into <tt>lib/ruby-vpi/</tt> to prevent load-path clashes with other gems. You should access these libraries by prefixing their path with “ruby-vpi”. For example, <code class="code">require <span style="background-color:#fff0f0"><span style="color:#710">'</span><span style="color:#D20">vpi_util</span><span style="color:#710">'</span></span></code> should now be written as <code class="code">require <span style="background-color:#fff0f0"><span style="color:#710">'</span><span style="color:#D20">ruby-vpi/vpi_util</span><span style="color:#710">'</span></span></code>.</li>
|
926
|
+
</ul>
|
927
|
+
|
928
|
+
|
929
|
+
<ul>
|
930
|
+
<li>The <tt>src/</tt> directory has been renamed to <tt>ext/</tt> to follow RubyGems convention.</li>
|
931
|
+
</ul>
|
932
|
+
|
933
|
+
|
934
|
+
<h2 id="anchor55">Detail</h2>
|
935
|
+
|
936
|
+
|
937
|
+
<ul>
|
938
|
+
<li>Ruby-VPI is now distributed only as a <a href="http://www.rubygems.org">source gem</a>. You can decompress the gem without installing it onto your system by running the command <pre>gem install -i output_directory ruby-vpi-7.0.0.gem</pre>. In addition, you can still obtain the source code directly from the Subversion repository.</li>
|
939
|
+
</ul>
|
940
|
+
|
941
|
+
|
942
|
+
<ul>
|
943
|
+
<li>The tools in <tt>bin/</tt> become available in your system’s <tt>bin/</tt> directory when the gem is installed.
|
944
|
+
<ul>
|
945
|
+
<li>Usage and help information has been added to the <strong>header_to_ruby.rb</strong> tool.</li>
|
946
|
+
</ul></li>
|
947
|
+
</ul>
|
948
|
+
|
949
|
+
|
950
|
+
<ul>
|
951
|
+
<li>Incorrect spelling of <span class="caps">GPL</span> Cver (v should be uncapitalized) has been fixed.</li>
|
952
|
+
</ul>
|
953
|
+
|
954
|
+
|
955
|
+
<ul>
|
956
|
+
<li>Incorrect link to <span class="caps">GPL</span> Cver website has been fixed.</li>
|
957
|
+
</ul>
|
958
|
+
|
959
|
+
|
960
|
+
<ul>
|
961
|
+
<li>The user manual has been updated according to all of the above changes.</li>
|
962
|
+
</ul>
|
963
|
+
|
964
|
+
|
965
|
+
<h1 id="anchor56">Version 6.3.0 (2006-08-27)</h1>
|
966
|
+
|
967
|
+
|
968
|
+
<h2 id="anchor57">Summary</h2>
|
969
|
+
|
970
|
+
|
971
|
+
<p>This release adds support for the <span class="caps">GPL</span> Cver simulator, provides both binary and source packages, and explicitly defines the version numbering system.</p>
|
972
|
+
|
973
|
+
|
974
|
+
<h2 id="anchor58">Notice</h2>
|
975
|
+
|
976
|
+
|
977
|
+
<ul>
|
978
|
+
<li>Ruby-VPI now only needs to be built once.
|
979
|
+
<ul>
|
980
|
+
<li>You can run tests with different Verilog simulators without having to re-compile Ruby-VPI.</li>
|
981
|
+
</ul></li>
|
982
|
+
</ul>
|
983
|
+
|
984
|
+
|
985
|
+
<h2 id="anchor59">Detail</h2>
|
986
|
+
|
987
|
+
|
988
|
+
<ul>
|
989
|
+
<li>The <span class="caps">GPL</span> Cver simulator is now supported.</li>
|
990
|
+
</ul>
|
991
|
+
|
992
|
+
|
993
|
+
<ul>
|
994
|
+
<li>Release packages are now available in both source and binary form.</li>
|
995
|
+
</ul>
|
996
|
+
|
997
|
+
|
998
|
+
<ul>
|
999
|
+
<li>The RSpec based specifications for the counter example now use the <code class="code">should_equal</code> instead of the <code class="code">should_be</code> assertion, because the latter ensures strict equivalence. For instance, it will fail when a Fixnum is compared to a Bignum.</li>
|
1000
|
+
</ul>
|
1001
|
+
|
1002
|
+
|
1003
|
+
<ul>
|
1004
|
+
<li>We now follow the RubyGems project’s <a href="http://www.rubygems.org/read/chapter/7">rational versioning policy</a>. The version numbers of previous releases have been revised accordingly:
|
1005
|
+
<table>
|
1006
|
+
<tr>
|
1007
|
+
<th>Release date </th>
|
1008
|
+
<th>Original version number </th>
|
1009
|
+
<th>New version number </th>
|
1010
|
+
</tr>
|
1011
|
+
<tr>
|
1012
|
+
<td> 1999-10-31 </td>
|
1013
|
+
<td> 0.0 </td>
|
1014
|
+
<td> 0.0.0 </td>
|
1015
|
+
</tr>
|
1016
|
+
<tr>
|
1017
|
+
<td> 2006-02-26 </td>
|
1018
|
+
<td> 0.1 </td>
|
1019
|
+
<td> 1.0.0 </td>
|
1020
|
+
</tr>
|
1021
|
+
<tr>
|
1022
|
+
<td> 2006-04-17 </td>
|
1023
|
+
<td> 0.2 </td>
|
1024
|
+
<td> 2.0.0 </td>
|
1025
|
+
</tr>
|
1026
|
+
<tr>
|
1027
|
+
<td> 2006-04-23 </td>
|
1028
|
+
<td> 0.3 </td>
|
1029
|
+
<td> 3.0.0 </td>
|
1030
|
+
</tr>
|
1031
|
+
<tr>
|
1032
|
+
<td> 2006-04-28 </td>
|
1033
|
+
<td> 0.4 </td>
|
1034
|
+
<td> 3.1.0 </td>
|
1035
|
+
</tr>
|
1036
|
+
<tr>
|
1037
|
+
<td> 2006-05-13 </td>
|
1038
|
+
<td> 0.5 </td>
|
1039
|
+
<td> 3.2.0 </td>
|
1040
|
+
</tr>
|
1041
|
+
<tr>
|
1042
|
+
<td> 2006-05-25 </td>
|
1043
|
+
<td> 0.6 </td>
|
1044
|
+
<td> 4.0.0 </td>
|
1045
|
+
</tr>
|
1046
|
+
<tr>
|
1047
|
+
<td> 2006-07-22 </td>
|
1048
|
+
<td> 0.7 </td>
|
1049
|
+
<td> 5.0.0 </td>
|
1050
|
+
</tr>
|
1051
|
+
<tr>
|
1052
|
+
<td> 2006-07-29 </td>
|
1053
|
+
<td> 0.8 </td>
|
1054
|
+
<td> 5.1.0 </td>
|
1055
|
+
</tr>
|
1056
|
+
<tr>
|
1057
|
+
<td> 2006-08-04 </td>
|
1058
|
+
<td> 0.8.1 </td>
|
1059
|
+
<td> 5.1.1 </td>
|
1060
|
+
</tr>
|
1061
|
+
<tr>
|
1062
|
+
<td> 2006-08-07 </td>
|
1063
|
+
<td> 0.9 </td>
|
1064
|
+
<td> 6.0.0 </td>
|
1065
|
+
</tr>
|
1066
|
+
<tr>
|
1067
|
+
<td> 2006-08-09 </td>
|
1068
|
+
<td> 0.9.1 </td>
|
1069
|
+
<td> 6.1.0 </td>
|
1070
|
+
</tr>
|
1071
|
+
<tr>
|
1072
|
+
<td> 2006-08-26 </td>
|
1073
|
+
<td> 0.9.2 </td>
|
1074
|
+
<td> 6.2.0 </td>
|
1075
|
+
</tr>
|
1076
|
+
</table></li>
|
1077
|
+
</ul>
|
1078
|
+
|
1079
|
+
|
1080
|
+
<h1 id="anchor60">Version 6.2.0 (2006-08-26)</h1>
|
1081
|
+
|
1082
|
+
|
1083
|
+
<h2 id="anchor61">Summary</h2>
|
1084
|
+
|
1085
|
+
|
1086
|
+
<p>This release beautifies generated tests, adds checks to find signal width bugs, and includes a new tool.</p>
|
1087
|
+
|
1088
|
+
|
1089
|
+
<h2 id="anchor62">Notice</h2>
|
1090
|
+
|
1091
|
+
|
1092
|
+
<ul>
|
1093
|
+
<li><code class="code">put_value()</code> now returns the value it puts. Therefore, it is easier to chain together a series of assignments: <code class="code">foo.intVal = bar.intVal = baz.intVal = <span style="color:#00D; font-weight:bold">10</span></code></li>
|
1094
|
+
</ul>
|
1095
|
+
|
1096
|
+
|
1097
|
+
<ul>
|
1098
|
+
<li><code class="code">put_value()</code> now verifies that the value it puts was written correctly. This helps to find bugs regarding invalid assumptions about the number of bits supported by a signal.</li>
|
1099
|
+
</ul>
|
1100
|
+
|
1101
|
+
|
1102
|
+
<h2 id="anchor63">Detail</h2>
|
1103
|
+
|
1104
|
+
|
1105
|
+
<ul>
|
1106
|
+
<li>The test generator now uses <span class="caps">ERB</span> templates which ensures nice indentation of generated output.</li>
|
1107
|
+
</ul>
|
1108
|
+
|
1109
|
+
|
1110
|
+
<ul>
|
1111
|
+
<li>The test generator now decouples Ruby-VPI paths from Verilog benches via the <span class="caps">RUBYLIB</span> environment variable.</li>
|
1112
|
+
</ul>
|
1113
|
+
|
1114
|
+
|
1115
|
+
<ul>
|
1116
|
+
<li>A tool which converts Verilog headers into Ruby has been added.</li>
|
1117
|
+
</ul>
|
1118
|
+
|
1119
|
+
|
1120
|
+
<ul>
|
1121
|
+
<li>The source code is now indented with two spaces instead of one tab character.</li>
|
1122
|
+
</ul>
|
1123
|
+
|
1124
|
+
|
1125
|
+
<h1 id="anchor64">Version 6.1.0 (2006-08-09)</h1>
|
1126
|
+
|
1127
|
+
|
1128
|
+
<h2 id="anchor65">Summary</h2>
|
1129
|
+
|
1130
|
+
|
1131
|
+
<p>This release simplifies generated tests and fixes a bug.</p>
|
1132
|
+
|
1133
|
+
|
1134
|
+
<h2 id="anchor66">Detail</h2>
|
1135
|
+
|
1136
|
+
|
1137
|
+
<ul>
|
1138
|
+
<li>The test generator now produces simpler Ruby benches and specifications.
|
1139
|
+
<ul>
|
1140
|
+
<li>A template used by generated specifications has been added.</li>
|
1141
|
+
<li>The counter example and tutorial have also been simplified accordingly.</li>
|
1142
|
+
</ul></li>
|
1143
|
+
</ul>
|
1144
|
+
|
1145
|
+
|
1146
|
+
<ul>
|
1147
|
+
<li>Boolean <span class="caps">VPI</span> property values are now correctly converted into Ruby truth values.</li>
|
1148
|
+
</ul>
|
1149
|
+
|
1150
|
+
|
1151
|
+
<h1 id="anchor67">Version 6.0.0 (2006-08-07)</h1>
|
1152
|
+
|
1153
|
+
|
1154
|
+
<h2 id="anchor68">Summary</h2>
|
1155
|
+
|
1156
|
+
|
1157
|
+
<p>This release adds support and documentation for rapid prototyping of Verilog designs in Ruby.</p>
|
1158
|
+
|
1159
|
+
|
1160
|
+
<h2 id="anchor69">Notice</h2>
|
1161
|
+
|
1162
|
+
|
1163
|
+
<ul>
|
1164
|
+
<li>The directory structure has been reorganized as follows:
|
1165
|
+
<ul>
|
1166
|
+
<li><tt>ext</tt> → <tt>src</tt></li>
|
1167
|
+
<li><tt>tools</tt> → <tt>bin</tt></li>
|
1168
|
+
<li><tt>examples</tt> → <tt>samp</tt></li>
|
1169
|
+
</ul></li>
|
1170
|
+
</ul>
|
1171
|
+
|
1172
|
+
|
1173
|
+
<ul>
|
1174
|
+
<li>All template files have been moved into the <tt>tpl</tt> directory.</li>
|
1175
|
+
</ul>
|
1176
|
+
|
1177
|
+
|
1178
|
+
<h2 id="anchor70">Detail</h2>
|
1179
|
+
|
1180
|
+
|
1181
|
+
<ul>
|
1182
|
+
<li>Support for prototyping designs in Ruby, before they are implemented in Verilog, has been added.
|
1183
|
+
<ul>
|
1184
|
+
<li>The <em>same</em> specification can be used to verify both prototype <em>and</em> design! :-)</li>
|
1185
|
+
<li>The tutorial in the user manual has been updated to discuss prototyping.
|
1186
|
+
<ul>
|
1187
|
+
<li>Prototypes have been added to the counter example.</li>
|
1188
|
+
</ul></li>
|
1189
|
+
</ul></li>
|
1190
|
+
</ul>
|
1191
|
+
|
1192
|
+
|
1193
|
+
<ul>
|
1194
|
+
<li>The user manual has been revised for consistency.</li>
|
1195
|
+
</ul>
|
1196
|
+
|
1197
|
+
|
1198
|
+
<h1 id="anchor71">Version 5.1.1 (2006-08-04)</h1>
|
1199
|
+
|
1200
|
+
|
1201
|
+
<h2 id="anchor72">Summary</h2>
|
1202
|
+
|
1203
|
+
|
1204
|
+
<p>This release fixes unreadable syntax coloring in the user manual.</p>
|
1205
|
+
|
1206
|
+
|
1207
|
+
<h2 id="anchor73">Acknowledgment</h2>
|
1208
|
+
|
1209
|
+
|
1210
|
+
<ul>
|
1211
|
+
<li>Thanks to Todd Nagengast and Matt Fischler for notifying me about unreadable text in the user manual.</li>
|
1212
|
+
</ul>
|
1213
|
+
|
1214
|
+
|
1215
|
+
<h2 id="anchor74">Detail</h2>
|
1216
|
+
|
1217
|
+
|
1218
|
+
<ul>
|
1219
|
+
<li>Source code comments in the user manual are now readable.</li>
|
1220
|
+
</ul>
|
1221
|
+
|
1222
|
+
|
1223
|
+
<ul>
|
1224
|
+
<li>The <tt><span class="caps">README</span></tt> and <tt><span class="caps">HISTORY</span></tt> files have been converted to <a href="http://www.textism.com/tools/textile/">textile</a> format.</li>
|
1225
|
+
</ul>
|
1226
|
+
|
1227
|
+
|
1228
|
+
<h1 id="anchor75">Version 5.1.0 (2006-07-29)</h1>
|
1229
|
+
|
1230
|
+
|
1231
|
+
<h2 id="anchor76">Summary</h2>
|
1232
|
+
|
1233
|
+
|
1234
|
+
<p>This release adds a tutorial to the user manual, and improves the tools and examples.</p>
|
1235
|
+
|
1236
|
+
|
1237
|
+
<h2 id="anchor77">Acknowledgment</h2>
|
1238
|
+
|
1239
|
+
|
1240
|
+
<ul>
|
1241
|
+
<li>Thanks to Phil Tomson for correcting the <span class="caps">URL</span> of the <span class="caps">RHDL</span> website, in the user manual.</li>
|
1242
|
+
</ul>
|
1243
|
+
|
1244
|
+
|
1245
|
+
<h2 id="anchor78">Detail</h2>
|
1246
|
+
|
1247
|
+
|
1248
|
+
<h3 id="anchor79">User manual</h3>
|
1249
|
+
|
1250
|
+
|
1251
|
+
<ul>
|
1252
|
+
<li>A tutorial, based on the counter example, has been added to the user manual.</li>
|
1253
|
+
</ul>
|
1254
|
+
|
1255
|
+
|
1256
|
+
<ul>
|
1257
|
+
<li>The user manual’s appearance has been dramatically improved with syntax coloring for source code, and <a href="http://tango.freedesktop.org">graphics for admonitions and navigation</a>.</li>
|
1258
|
+
</ul>
|
1259
|
+
|
1260
|
+
|
1261
|
+
<h3 id="anchor80">Examples</h3>
|
1262
|
+
|
1263
|
+
|
1264
|
+
<ul>
|
1265
|
+
<li>A specification, expressed in unit test format, has been added to the counter example.</li>
|
1266
|
+
</ul>
|
1267
|
+
|
1268
|
+
|
1269
|
+
<ul>
|
1270
|
+
<li>The <pre>--name</pre> and <pre>-n</pre> options, which lets you specify an identifier for a generated test, have been added to the <strong>generate_test.rb</strong> tool.</li>
|
1271
|
+
</ul>
|
1272
|
+
|
1273
|
+
|
1274
|
+
<ul>
|
1275
|
+
<li>Running <pre>rake clobber</pre> in an example directory no longer destroys documentation in the Ruby-VPI directory.</li>
|
1276
|
+
</ul>
|
1277
|
+
|
1278
|
+
|
1279
|
+
<ul>
|
1280
|
+
<li>The examples’ Rakefiles now invoke all tests present in the directory via the <tt>launcher_template.rake</tt> template.</li>
|
1281
|
+
</ul>
|
1282
|
+
|
1283
|
+
|
1284
|
+
<ul>
|
1285
|
+
<li>The Rake template for test runners (generated by <tt>tools/generate_test.rb</tt>) has moved from <tt>examples/template.rake</tt> to <tt>examples/runner_template.rake</tt>.</li>
|
1286
|
+
</ul>
|
1287
|
+
|
1288
|
+
|
1289
|
+
<h3 id="anchor81"><span class="caps">VPI</span> utility layer</h3>
|
1290
|
+
|
1291
|
+
|
1292
|
+
<ul>
|
1293
|
+
<li>The value of a handle’s boolean <span class="caps">VPI</span> property is treated as <code class="code"><span style="color:#038; font-weight:bold">false</span></code> if it is zero, because zero is <code class="code"><span style="color:#038; font-weight:bold">false</span></code> in the C language.</li>
|
1294
|
+
</ul>
|
1295
|
+
|
1296
|
+
|
1297
|
+
<h1 id="anchor82">Version 5.0.0 (2006-07-22)</h1>
|
1298
|
+
|
1299
|
+
|
1300
|
+
<h2 id="anchor83">Summary</h2>
|
1301
|
+
|
1302
|
+
|
1303
|
+
<p>This release enhances the <span class="caps">VPI</span> utility layer and adds new content to the user manual.</p>
|
1304
|
+
|
1305
|
+
|
1306
|
+
<h2 id="anchor84">Acknowledgment</h2>
|
1307
|
+
|
1308
|
+
|
1309
|
+
<ul>
|
1310
|
+
<li>Thanks to Jan Decaluwe for correcting the description of MyHDL in the user manual.</li>
|
1311
|
+
</ul>
|
1312
|
+
|
1313
|
+
|
1314
|
+
<h2 id="anchor85">Notice</h2>
|
1315
|
+
|
1316
|
+
|
1317
|
+
<ul>
|
1318
|
+
<li><span class="caps">SWIG</span> is no longer required for users because its output is included in the release package.</li>
|
1319
|
+
</ul>
|
1320
|
+
|
1321
|
+
|
1322
|
+
<ul>
|
1323
|
+
<li>The <code class="code">handle.value</code> and <code class="code">handle.value=</code> methods have been removed.</li>
|
1324
|
+
</ul>
|
1325
|
+
|
1326
|
+
|
1327
|
+
<h2 id="anchor86">Detail</h2>
|
1328
|
+
|
1329
|
+
|
1330
|
+
<ul>
|
1331
|
+
<li>The <span class="caps">VPI</span> utility layer provides access to <span class="caps">VPI</span> properties of handles in a <a href="manual.html#background.org.vpi">simpler, more powerful way</a>.</li>
|
1332
|
+
</ul>
|
1333
|
+
|
1334
|
+
|
1335
|
+
<ul>
|
1336
|
+
<li>All <span class="caps">VPI</span> properties, except delay values, are now accessible from a handle.</li>
|
1337
|
+
</ul>
|
1338
|
+
|
1339
|
+
|
1340
|
+
<ul>
|
1341
|
+
<li>The user manual has been revised and new content in the organization and usage sections has been added.</li>
|
1342
|
+
</ul>
|
1343
|
+
|
1344
|
+
|
1345
|
+
<ul>
|
1346
|
+
<li>This release was tested and developed using:
|
1347
|
+
<ul>
|
1348
|
+
<li>Ruby 1.8.4 and Icarus Verilog 0.8 on i686 <span class="caps">GNU</span>/Linux</li>
|
1349
|
+
<li>Ruby 1.8.4 and Mentor Modelsim 6.1d on x86_64 <span class="caps">GNU</span>/Linux</li>
|
1350
|
+
</ul></li>
|
1351
|
+
</ul>
|
1352
|
+
|
1353
|
+
|
1354
|
+
<h1 id="anchor87">Version 4.0.0 (2006-05-25)</h1>
|
1355
|
+
|
1356
|
+
|
1357
|
+
<h2 id="anchor88">Summary</h2>
|
1358
|
+
|
1359
|
+
|
1360
|
+
<p>This release adds a comprehensive user manual, upgrades from make to <a href="http://rake.rubyforge.org">Rake</a>, and improves the test generation tool.</p>
|
1361
|
+
|
1362
|
+
|
1363
|
+
<h2 id="anchor89">Acknowledgment</h2>
|
1364
|
+
|
1365
|
+
|
1366
|
+
<ul>
|
1367
|
+
<li>Thanks to Jose Renau for solving the problem of strange delays that occurred whenever a design was reset.</li>
|
1368
|
+
</ul>
|
1369
|
+
|
1370
|
+
|
1371
|
+
<h2 id="anchor90">Notice</h2>
|
1372
|
+
|
1373
|
+
|
1374
|
+
<ul>
|
1375
|
+
<li>Rake has replaced the role of <strong>make</strong>. All makefiles have been converted accordingly.</li>
|
1376
|
+
</ul>
|
1377
|
+
|
1378
|
+
|
1379
|
+
<ul>
|
1380
|
+
<li>The test generation tool now generates multiple files (runner, bench, design, spec) and makes backups of existing files. See its help information for details.</li>
|
1381
|
+
</ul>
|
1382
|
+
|
1383
|
+
|
1384
|
+
<h2 id="anchor91">Detail</h2>
|
1385
|
+
|
1386
|
+
|
1387
|
+
<ul>
|
1388
|
+
<li>A comprehensive user manual, written in DocBook-XML, has been added.</li>
|
1389
|
+
</ul>
|
1390
|
+
|
1391
|
+
|
1392
|
+
<ul>
|
1393
|
+
<li>Support for RSpec 0.5.4 has been added.
|
1394
|
+
<ul>
|
1395
|
+
<li>The counter example now makes use of RSpec.</li>
|
1396
|
+
</ul></li>
|
1397
|
+
</ul>
|
1398
|
+
|
1399
|
+
|
1400
|
+
<ul>
|
1401
|
+
<li>This release was tested and developed using:
|
1402
|
+
<ul>
|
1403
|
+
<li>Ruby 1.8.4 and Icarus Verilog 0.8 on i686 <span class="caps">GNU</span>/Linux</li>
|
1404
|
+
<li>Ruby 1.8.4 and Mentor Modelsim 6.1d on x86_64 <span class="caps">GNU</span>/Linux</li>
|
1405
|
+
</ul></li>
|
1406
|
+
</ul>
|
1407
|
+
|
1408
|
+
|
1409
|
+
<h1 id="anchor92">Version 3.2.0 (2006-05-13)</h1>
|
1410
|
+
|
1411
|
+
|
1412
|
+
<h2 id="anchor93">Summary</h2>
|
1413
|
+
|
1414
|
+
|
1415
|
+
<p>This release adds a tool which generates test benches, and adds support for <a href="http://behaviour-driven.org">Behavior Driven Development</a> via the <a href="http://rspec.rubyforge.org">RSpec</a> library.</p>
|
1416
|
+
|
1417
|
+
|
1418
|
+
<h2 id="anchor94">Acknowledgment</h2>
|
1419
|
+
|
1420
|
+
|
1421
|
+
<ul>
|
1422
|
+
<li>Thanks to Scott L Holmes for helping me <a href="http://article.gmane.org/gmane.comp.lang.ruby.general/150087">use the RSpec library without its runner</a> program.</li>
|
1423
|
+
</ul>
|
1424
|
+
|
1425
|
+
|
1426
|
+
<h2 id="anchor95">Detail</h2>
|
1427
|
+
|
1428
|
+
|
1429
|
+
<ul>
|
1430
|
+
<li>A tool, which generates most of a Ruby-VPI test bench from a Verilog 2001 module declaration, has been added.</li>
|
1431
|
+
</ul>
|
1432
|
+
|
1433
|
+
|
1434
|
+
<ul>
|
1435
|
+
<li>Ability to use RSpec in a test bench has been added.</li>
|
1436
|
+
</ul>
|
1437
|
+
|
1438
|
+
|
1439
|
+
<ul>
|
1440
|
+
<li>Ability to specify arbitrary command-line arguments to Verilog simulators has been added in the examples’ makefile template.</li>
|
1441
|
+
</ul>
|
1442
|
+
|
1443
|
+
|
1444
|
+
<ul>
|
1445
|
+
<li>This release was tested and developed using:
|
1446
|
+
<ul>
|
1447
|
+
<li>Ruby 1.8.4 and Icarus Verilog 0.8 on i686 <span class="caps">GNU</span>/Linux</li>
|
1448
|
+
<li>Ruby 1.8.4 and Mentor Modelsim 6.1d on x86_64 <span class="caps">GNU</span>/Linux</li>
|
1449
|
+
</ul></li>
|
1450
|
+
</ul>
|
1451
|
+
|
1452
|
+
|
1453
|
+
<h1 id="anchor96">Version 3.1.0 (2006-04-28)</h1>
|
1454
|
+
|
1455
|
+
|
1456
|
+
<h2 id="anchor97">Summary</h2>
|
1457
|
+
|
1458
|
+
|
1459
|
+
<p>This release adds simple ways of reading and writing values to <span class="caps">VPI</span> handles, adds documentation for the <span class="caps">VPI</span> utility layer, and fixes the pipelined <span class="caps">ALU</span> example.</p>
|
1460
|
+
|
1461
|
+
|
1462
|
+
<h2 id="anchor98">Notice</h2>
|
1463
|
+
|
1464
|
+
|
1465
|
+
<ul>
|
1466
|
+
<li>The <strong>msim</strong> Makefile target for Mentor Modelsim has been renamed back to <strong>vsim</strong>.</li>
|
1467
|
+
</ul>
|
1468
|
+
|
1469
|
+
|
1470
|
+
<h2 id="anchor99">Detail</h2>
|
1471
|
+
|
1472
|
+
|
1473
|
+
<ul>
|
1474
|
+
<li>Simple, consistent ways of reading and writing values to handles have been added to the <span class="caps">VPI</span> utility layer. These ways are described in the <code class="code"><span style="color:#036; font-weight:bold">SWIG</span>::<span style="color:#036; font-weight:bold">TYPE_p_unsigned_int</span></code> class’ documentation.</li>
|
1475
|
+
</ul>
|
1476
|
+
|
1477
|
+
|
1478
|
+
<ul>
|
1479
|
+
<li>The makefiles now use the <strong>rbconfig</strong> library to determine the default compiler and linker flags for Ruby.</li>
|
1480
|
+
</ul>
|
1481
|
+
|
1482
|
+
|
1483
|
+
<ul>
|
1484
|
+
<li>A race condition in the pipelined <span class="caps">ALU</span> example has been fixed. This example should now run successfully in all Verilog simulators.</li>
|
1485
|
+
</ul>
|
1486
|
+
|
1487
|
+
|
1488
|
+
<ul>
|
1489
|
+
<li>The project wiki has been abandoned in favor of RDoc.</li>
|
1490
|
+
</ul>
|
1491
|
+
|
1492
|
+
|
1493
|
+
<ul>
|
1494
|
+
<li>The project website is now generated by RDoc.</li>
|
1495
|
+
</ul>
|
1496
|
+
|
1497
|
+
|
1498
|
+
<ul>
|
1499
|
+
<li>This release was tested and developed using:
|
1500
|
+
<ul>
|
1501
|
+
<li>Ruby 1.8.4 and Icarus Verilog 0.8 on i686 <span class="caps">GNU</span>/Linux</li>
|
1502
|
+
<li>Ruby 1.8.4 and Mentor Modelsim 6.1d on x86_64 <span class="caps">GNU</span>/Linux</li>
|
1503
|
+
</ul></li>
|
1504
|
+
</ul>
|
1505
|
+
|
1506
|
+
|
1507
|
+
<h1 id="anchor100">Version 3.0.0 (2006-04-23)</h1>
|
1508
|
+
|
1509
|
+
|
1510
|
+
<h2 id="anchor101">Summary</h2>
|
1511
|
+
|
1512
|
+
|
1513
|
+
<p>This release adds support for the <em>entire</em> <a href="http://ieeexplore.ieee.org/xpl/standardstoc.jsp?isnumber=33945"><span class="caps">IEEE</span> Std. 1364-2005</a> VPI interface, and updates the examples into unit tests.</p>
|
1514
|
+
|
1515
|
+
|
1516
|
+
<h2 id="anchor102">Acknowledgment</h2>
|
1517
|
+
|
1518
|
+
|
1519
|
+
<ul>
|
1520
|
+
<li>Thanks to the <a href="http://www.swig.org/guilty.html"><span class="caps">SWIG</span> developers</a> for making this project <em>much</em> easier! ;-)</li>
|
1521
|
+
</ul>
|
1522
|
+
|
1523
|
+
|
1524
|
+
<h2 id="anchor103">Notice</h2>
|
1525
|
+
|
1526
|
+
|
1527
|
+
<ul>
|
1528
|
+
<li>The <strong>vsim</strong> Makefile target for Mentor Modelsim has been renamed to <strong>msim</strong>.</li>
|
1529
|
+
</ul>
|
1530
|
+
|
1531
|
+
|
1532
|
+
<h2 id="anchor104">Detail</h2>
|
1533
|
+
|
1534
|
+
|
1535
|
+
<ul>
|
1536
|
+
<li>The Ruby interface to <span class="caps">VPI</span> is now generated by <a href="http://www.swig.org"><span class="caps">SWIG</span></a>.
|
1537
|
+
<ul>
|
1538
|
+
<li>The main <code class="code"><span style="color:#036; font-weight:bold">VPI</span></code> module has been renamed to <code class="code"><span style="color:#036; font-weight:bold">Vpi</span></code>.</li>
|
1539
|
+
<li>The <code class="code"><span style="color:#036; font-weight:bold">VPI</span>::<span style="color:#036; font-weight:bold">Handle</span></code> class has been removed.</li>
|
1540
|
+
<li>The <code class="code"><span style="color:#036; font-weight:bold">VPI</span>::stop</code>, <code class="code"><span style="color:#036; font-weight:bold">VPI</span>::finish</code>, and <code class="code"><span style="color:#036; font-weight:bold">VPI</span>::reset</code> methods have been removed.</li>
|
1541
|
+
</ul></li>
|
1542
|
+
</ul>
|
1543
|
+
|
1544
|
+
|
1545
|
+
<ul>
|
1546
|
+
<li>The <a href="http://www.boydtechinc.com/ptf/archive/ptf_2005/0737.html"><em>final ballot</em> version</a> of the <tt>vpi_user.h</tt> header file is now packaged along with and used by Ruby-VPI.</li>
|
1547
|
+
</ul>
|
1548
|
+
|
1549
|
+
|
1550
|
+
<ul>
|
1551
|
+
<li>The <span class="caps">VPI</span> module, its sub-classes, and its functionality have been replaced by the <span class="caps">VPI</span> utility layer (see <tt>src/vpi_util.rb</tt>).</li>
|
1552
|
+
</ul>
|
1553
|
+
|
1554
|
+
|
1555
|
+
<ul>
|
1556
|
+
<li>The examples now make use of the <strong>test/unit</strong> unit testing framework.</li>
|
1557
|
+
</ul>
|
1558
|
+
|
1559
|
+
|
1560
|
+
<ul>
|
1561
|
+
<li>The makefiles for the examples have been simplified through the use of a common template.</li>
|
1562
|
+
</ul>
|
1563
|
+
|
1564
|
+
|
1565
|
+
<ul>
|
1566
|
+
<li>This release was tested and developed using:
|
1567
|
+
<ul>
|
1568
|
+
<li>Ruby 1.8.4 and Icarus Verilog 0.8 on i686 <span class="caps">GNU</span>/Linux</li>
|
1569
|
+
<li>Ruby 1.8.4 and Mentor Modelsim 6.1d on x86_64 <span class="caps">GNU</span>/Linux</li>
|
1570
|
+
</ul></li>
|
1571
|
+
</ul>
|
1572
|
+
|
1573
|
+
|
1574
|
+
<h1 id="anchor105">Version 2.0.0 (2006-04-17)</h1>
|
1575
|
+
|
1576
|
+
|
1577
|
+
<h2 id="anchor106">Summary</h2>
|
1578
|
+
|
1579
|
+
|
1580
|
+
<p>This release fixes major bugs, adds support for Mentor Modelsim, and removes the <code class="code"><span style="color:#d70; font-weight:bold">$ruby_task</span></code> callback.</p>
|
1581
|
+
|
1582
|
+
|
1583
|
+
<h2 id="anchor107">Acknowledgment</h2>
|
1584
|
+
|
1585
|
+
|
1586
|
+
<ul>
|
1587
|
+
<li>Thanks to Nobu Nakada for explaining the <a href="http://article.gmane.org/gmane.comp.lang.ruby.general/146653">cross-thread violation on rb_gc()</a> error.</li>
|
1588
|
+
</ul>
|
1589
|
+
|
1590
|
+
|
1591
|
+
<h2 id="anchor108">Notice</h2>
|
1592
|
+
|
1593
|
+
|
1594
|
+
<ul>
|
1595
|
+
<li>Removed <code class="code"><span style="color:#d70; font-weight:bold">$ruby_task</span></code> callback and ability to dynamically register system tasks from Ruby because inter-process communication is complicated at present.</li>
|
1596
|
+
</ul>
|
1597
|
+
|
1598
|
+
|
1599
|
+
<h2 id="anchor109">Detail</h2>
|
1600
|
+
|
1601
|
+
|
1602
|
+
<ul>
|
1603
|
+
<li>The “cross-thread violation on rb_gc()” error has been fixed.
|
1604
|
+
<ul>
|
1605
|
+
<li>The “stack level too deep (SystemStackError)” error has been fixed.</li>
|
1606
|
+
<li>The test/unit library can be used in Ruby test bench.</li>
|
1607
|
+
<li>Mentor Modelsim Verilog simulator works with Ruby-VPI.</li>
|
1608
|
+
</ul></li>
|
1609
|
+
</ul>
|
1610
|
+
|
1611
|
+
|
1612
|
+
<ul>
|
1613
|
+
<li>Added piplelined <span class="caps">ALU</span> example.</li>
|
1614
|
+
</ul>
|
1615
|
+
|
1616
|
+
|
1617
|
+
<ul>
|
1618
|
+
<li>This release was tested and developed using:
|
1619
|
+
<ul>
|
1620
|
+
<li>Ruby 1.8.4 and Icarus Verilog 0.8 on i686 <span class="caps">GNU</span>/Linux</li>
|
1621
|
+
<li>Ruby 1.8.4 and Modelsim 6.1d on x86_64 <span class="caps">GNU</span>/Linux</li>
|
1622
|
+
<li>Ruby 1.8.4 and Synopsys <span class="caps">VCS</span>-MX X-2005.06-SP1 on <span class="caps">SPARC4</span> SunOS 5.10</li>
|
1623
|
+
</ul></li>
|
1624
|
+
</ul>
|
1625
|
+
|
1626
|
+
|
1627
|
+
<h1 id="anchor110">Version 1.0.0 (2006-02-26)</h1>
|
1628
|
+
|
1629
|
+
|
1630
|
+
<h2 id="anchor111">Summary</h2>
|
1631
|
+
|
1632
|
+
|
1633
|
+
This release adds enough Verilog <span class="caps">VPI</span> functionality to make Ruby-VPI usable for simple test benches:
|
1634
|
+
<ul>
|
1635
|
+
<li>access Verilog objects through <span class="caps">VPI</span> handles</li>
|
1636
|
+
<li>read and change <span class="caps">VPI</span> handle values</li>
|
1637
|
+
<li>stop, finish, restart the simulation</li>
|
1638
|
+
</ul>
|
1639
|
+
|
1640
|
+
|
1641
|
+
<h2 id="anchor112">Acknowledgment</h2>
|
1642
|
+
|
1643
|
+
|
1644
|
+
<ul>
|
1645
|
+
<li>Thanks to Jose Renau for helping me debug how Synopsys <span class="caps">VCS</span> works with Verilog <span class="caps">VPI</span>. The problem was that <span class="caps">VCS</span> required calltf signatures to be <code class="code">void (*)(void)</code>, whereas the Verilog standard defines a calltf signature as <code class="code"><span style="color:#036; font-weight:bold">PLI_INT32</span> (*)(<span style="color:#036; font-weight:bold">PLI_BYTE8</span>*)</code>.</li>
|
1646
|
+
</ul>
|
1647
|
+
|
1648
|
+
|
1649
|
+
<ul>
|
1650
|
+
<li>Thanks to Ross Bamford, Eric Hodel, and Yukihiro Matsumoto for <a href="http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/180662">helping me discover</a> why the <code class="code"><span style="color:#036; font-weight:bold">SystemStackError</span></code> was happening.</li>
|
1651
|
+
</ul>
|
1652
|
+
|
1653
|
+
|
1654
|
+
<h2 id="anchor113">Detail</h2>
|
1655
|
+
|
1656
|
+
|
1657
|
+
<ul>
|
1658
|
+
<li>Implemented some Verilog <span class="caps">VPI</span> functionality:
|
1659
|
+
<ul>
|
1660
|
+
<li><code class="code"><span style="color:#036; font-weight:bold">VPI</span>::handle_by_name(string, <span style="color:#036; font-weight:bold">VPI</span>::<span style="color:#036; font-weight:bold">Handle</span>)</code> → <code class="code"><span style="color:#036; font-weight:bold">VPI</span>::<span style="color:#036; font-weight:bold">Handle</span></code></li>
|
1661
|
+
<li><code class="code"><span style="color:#036; font-weight:bold">VPI</span>::handle_by_name(string)</code> → <code class="code"><span style="color:#036; font-weight:bold">VPI</span>::<span style="color:#036; font-weight:bold">Handle</span></code></li>
|
1662
|
+
<li><code class="code"><span style="color:#036; font-weight:bold">VPI</span>::<span style="color:#036; font-weight:bold">Handle</span>.put_value(integer)</code></li>
|
1663
|
+
<li><code class="code"><span style="color:#036; font-weight:bold">VPI</span>::<span style="color:#036; font-weight:bold">Handle</span>.value = integer</code></li>
|
1664
|
+
<li><code class="code"><span style="color:#036; font-weight:bold">VPI</span>::<span style="color:#036; font-weight:bold">Handle</span>.get_value</code> → <code class="code">integer</code></li>
|
1665
|
+
<li><code class="code"><span style="color:#036; font-weight:bold">VPI</span>::<span style="color:#036; font-weight:bold">Handle</span>.value</code> → <code class="code">integer</code></li>
|
1666
|
+
<li><code class="code"><span style="color:#036; font-weight:bold">VPI</span>::stop</code></li>
|
1667
|
+
<li><code class="code"><span style="color:#036; font-weight:bold">VPI</span>::finish</code></li>
|
1668
|
+
<li><code class="code"><span style="color:#036; font-weight:bold">VPI</span>::reset</code></li>
|
1669
|
+
</ul></li>
|
1670
|
+
</ul>
|
1671
|
+
|
1672
|
+
|
1673
|
+
<ul>
|
1674
|
+
<li>Implemented some additional functionality:
|
1675
|
+
<ul>
|
1676
|
+
<li><code class="code"><span style="color:#036; font-weight:bold">VPI</span>::register_task(string, &proc)</code></li>
|
1677
|
+
</ul></li>
|
1678
|
+
</ul>
|
1679
|
+
|
1680
|
+
|
1681
|
+
<ul>
|
1682
|
+
<li>Added ability to pass arbitrary command-line arguments to the Ruby interpreter (using <code class="code"><span style="color:#d70; font-weight:bold">$ruby_init</span></code>). Now you can invoke any Ruby script you want, instead of <tt>pli_init.rb</tt>.</li>
|
1683
|
+
</ul>
|
1684
|
+
|
1685
|
+
|
1686
|
+
<ul>
|
1687
|
+
<li>Added ability to dynamically register system tasks from Ruby, using <code class="code"><span style="color:#036; font-weight:bold">VPI</span>::register_task(<span style="background-color:#fff0f0"><span style="color:#710">"</span><span style="color:#D20">task name</span><span style="color:#710">"</span></span>)</code>, and call them from Verilog, using <code class="code"><span style="color:#d70; font-weight:bold">$ruby_task</span>(<span style="background-color:#fff0f0"><span style="color:#710">"</span><span style="color:#D20">task name</span><span style="color:#710">"</span></span>)</code>.</li>
|
1688
|
+
</ul>
|
1689
|
+
|
1690
|
+
|
1691
|
+
<ul>
|
1692
|
+
<li>Added <code class="code"><span style="color:#036; font-weight:bold">VPI</span>::<span style="color:#036; font-weight:bold">Handle</span></code> class which encapsulates a <code class="code">vpiHandle</code> VPI object.</li>
|
1693
|
+
</ul>
|
1694
|
+
|
1695
|
+
|
1696
|
+
<ul>
|
1697
|
+
<li>This release was tested and developed using:
|
1698
|
+
<ul>
|
1699
|
+
<li>Ruby 1.8.2 and Icarus Verilog 0.8 on i686 <span class="caps">GNU</span>/Linux</li>
|
1700
|
+
<li>Ruby 1.8.4, Synopsys <span class="caps">VCS X</span>-2005.06, and Mentor Modelsim 6.1b on i686 <span class="caps">GNU</span>/Linux</li>
|
1701
|
+
</ul></li>
|
1702
|
+
</ul>
|
1703
|
+
|
1704
|
+
|
1705
|
+
<h1 id="anchor114">Version 0.0.0 (1999-10-31)</h1>
|
1706
|
+
|
1707
|
+
|
1708
|
+
<h2 id="anchor115">Summary</h2>
|
1709
|
+
|
1710
|
+
|
1711
|
+
<p>This is Kazuhiro <span class="caps">HIWADA</span>’s initial testing release of Ruby-VPI. See its <a href="http://www.ruby-talk.org/cgi-bin/scat.rb/ruby/ruby-list/18193">original announcement</a> and <a href="http://easter.kuee.kyoto-u.ac.jp/~hiwada/ruby/memo/src/ruby-vpi-test.tgz">source code</a>.</p>
|
1712
|
+
|
1713
|
+
|
1714
|
+
<h2 id="anchor116">Detail</h2>
|
1715
|
+
|
1716
|
+
|
1717
|
+
<ul>
|
1718
|
+
<li>Added ability to relay control from Verilog test bench to Ruby (using <code class="code"><span style="color:#d70; font-weight:bold">$ruby_callback</span></code>) and vice versa (using <code class="code"><span style="color:#036; font-weight:bold">PLI</span>::relay_Verilog</code>).</li>
|
1719
|
+
</ul>
|
1720
|
+
|
1721
|
+
|
1722
|
+
<ul>
|
1723
|
+
<li>Tested and developed using Ruby 1.4 and Verilog-XL from Cadence systems, on a <span class="caps">SPARC</span> machine running Solaris 2.6.</li>
|
1724
|
+
</ul>
|
1725
|
+
</body>
|
1726
|
+
</html>
|