ruby-vpi 15.0.2 → 16.0.0
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/LICENSE +23 -340
- data/Rakefile +169 -192
- data/bin/generate_test.rb +26 -25
- data/bin/generate_test_tpl/runner.rake +4 -10
- data/bin/header_to_ruby.rb +3 -20
- data/doc/README +11 -0
- data/doc/Rakefile +8 -21
- data/doc/common.css +44 -10
- data/doc/common.tpl +5 -10
- data/doc/history.doc +8 -7
- data/doc/history.html +228 -560
- data/doc/history.rb +7 -11
- data/doc/{history.yml → history.yaml} +325 -128
- data/doc/images/{feed-icon.png → feed-icon-28x28.png} +0 -0
- data/doc/images/ruby/LICENSE +15 -0
- data/doc/images/ruby/logo-reflection.png +0 -0
- data/doc/images/ruby/logo-reflection.xcf +0 -0
- data/doc/images/ruby/logo.png +0 -0
- data/doc/images/{LICENSE → tango/LICENSE} +0 -0
- data/doc/images/{caution.png → tango/caution.png} +0 -0
- data/doc/images/{caution.svg → tango/caution.svg} +0 -0
- data/doc/images/{home.png → tango/home.png} +0 -0
- data/doc/images/{home.svg → tango/home.svg} +0 -0
- data/doc/images/{important.png → tango/important.png} +0 -0
- data/doc/images/{important.svg → tango/important.svg} +0 -0
- data/doc/images/{next.png → tango/next.png} +0 -0
- data/doc/images/{next.svg → tango/next.svg} +0 -0
- data/doc/images/{note.png → tango/note.png} +0 -0
- data/doc/images/{note.svg → tango/note.svg} +0 -0
- data/doc/images/{prev.png → tango/prev.png} +0 -0
- data/doc/images/{prev.svg → tango/prev.svg} +0 -0
- data/doc/images/{tip.png → tango/tip.png} +0 -0
- data/doc/images/{tip.svg → tango/tip.svg} +0 -0
- data/doc/images/{up.png → tango/up.png} +0 -0
- data/doc/images/{up.svg → tango/up.svg} +0 -0
- data/doc/images/{warning.png → tango/warning.png} +0 -0
- data/doc/images/{warning.svg → tango/warning.svg} +0 -0
- data/doc/intro.inc +105 -36
- data/doc/lib/doc_format.rb +151 -29
- data/doc/lib/doc_proxy.rb +28 -69
- data/doc/lib/erb_content.rb +10 -22
- data/doc/lib/erb_proxy.rb +13 -24
- data/doc/manual.doc +16 -60
- data/doc/manual.html +257 -340
- data/doc/memo.doc +2 -0
- data/doc/memo.html +11 -11
- data/doc/readme.doc +36 -2
- data/doc/readme.html +214 -51
- data/doc/rss.erb +3 -3
- data/doc/rss.xml +217 -269
- data/ext/Rakefile +7 -22
- data/ext/common.h +10 -21
- data/ext/extconf.rb +5 -0
- data/ext/main.c +2 -18
- data/ext/main.h +1 -16
- data/ext/relay.c +3 -17
- data/ext/relay.h +3 -17
- data/ext/verilog.h +6 -18
- data/ext/vlog.c +3 -21
- data/ext/vlog.h +3 -17
- data/lib/ruby-vpi/erb.rb +7 -20
- data/lib/ruby-vpi/float.rb +6 -20
- data/lib/ruby-vpi/integer.rb +27 -47
- data/lib/ruby-vpi/rake.rb +4 -19
- data/lib/ruby-vpi/rcov.rb +6 -21
- data/lib/ruby-vpi/rdoc.rb +3 -21
- data/lib/ruby-vpi/runner.rb +28 -29
- data/lib/ruby-vpi/runner_proxy.rb +5 -21
- data/lib/ruby-vpi/verilog_parser.rb +5 -20
- data/lib/ruby-vpi/vpi.rb +420 -376
- data/lib/ruby-vpi.rb +26 -32
- data/ref/c/annotated.html +1 -1
- data/ref/c/common_8h.html +1 -1
- data/ref/c/files.html +1 -1
- data/ref/c/functions.html +1 -1
- data/ref/c/functions_vars.html +1 -1
- data/ref/c/globals.html +1 -1
- data/ref/c/globals_0x63.html +1 -1
- data/ref/c/globals_0x65.html +1 -1
- data/ref/c/globals_0x66.html +1 -1
- data/ref/c/globals_0x6d.html +1 -1
- data/ref/c/globals_0x70.html +1 -1
- data/ref/c/globals_0x72.html +1 -1
- data/ref/c/globals_0x73.html +1 -1
- data/ref/c/globals_0x74.html +1 -1
- data/ref/c/globals_0x76.html +1 -1
- data/ref/c/globals_0x78.html +1 -1
- data/ref/c/globals_defs.html +1 -1
- data/ref/c/globals_defs_0x65.html +1 -1
- data/ref/c/globals_defs_0x70.html +1 -1
- data/ref/c/globals_defs_0x76.html +1 -1
- data/ref/c/globals_defs_0x78.html +1 -1
- data/ref/c/globals_enum.html +1 -1
- data/ref/c/globals_eval.html +1 -1
- data/ref/c/globals_func.html +1 -1
- data/ref/c/globals_type.html +1 -1
- data/ref/c/globals_vars.html +1 -1
- data/ref/c/index.html +1 -1
- data/ref/c/main_8c.html +1 -1
- data/ref/c/main_8h.html +1 -1
- data/ref/c/relay_8c.html +1 -1
- data/ref/c/relay_8h.html +1 -1
- data/ref/c/structt__cb__data.html +1 -1
- data/ref/c/structt__vpi__delay.html +1 -1
- data/ref/c/structt__vpi__error__info.html +1 -1
- data/ref/c/structt__vpi__strengthval.html +1 -1
- data/ref/c/structt__vpi__systf__data.html +1 -1
- data/ref/c/structt__vpi__time.html +1 -1
- data/ref/c/structt__vpi__value.html +1 -1
- data/ref/c/structt__vpi__vecval.html +1 -1
- data/ref/c/structt__vpi__vlog__info.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 +1 -1
- data/ref/ruby/classes/ERB.html +5 -5
- data/ref/ruby/classes/ERB.src/{M000026.html → M000024.html} +15 -15
- data/ref/ruby/classes/FileUtils.html +10 -10
- data/ref/ruby/classes/FileUtils.src/{M000027.html → M000025.html} +4 -4
- data/ref/ruby/classes/FileUtils.src/{M000028.html → M000026.html} +4 -4
- data/ref/ruby/classes/Float.html +5 -5
- data/ref/ruby/classes/Float.src/{M000022.html → M000020.html} +5 -5
- data/ref/ruby/classes/Integer.html +20 -56
- data/ref/ruby/classes/Integer.src/M000008.html +11 -11
- data/ref/ruby/classes/Integer.src/M000009.html +4 -4
- data/ref/ruby/classes/Integer.src/M000010.html +4 -4
- data/ref/ruby/classes/Integer.src/M000011.html +4 -4
- data/ref/ruby/classes/Integer.src/M000012.html +4 -4
- data/ref/ruby/classes/Integer.src/M000013.html +4 -4
- data/ref/ruby/classes/Integer.src/M000016.html +12 -9
- data/ref/ruby/classes/Integer.src/M000017.html +18 -9
- data/ref/ruby/classes/Integer.src/M000018.html +12 -12
- data/ref/ruby/classes/Integer.src/M000019.html +17 -18
- data/ref/ruby/classes/RDoc.src/M000053.html +25 -25
- data/ref/ruby/classes/RubyVpi/Config.html +3 -3
- data/ref/ruby/classes/RubyVpi.html +11 -5
- data/ref/ruby/classes/RubyVpi.src/{M000029.html → M000027.html} +103 -101
- data/ref/ruby/classes/String.html +21 -15
- data/ref/ruby/classes/String.src/M000021.html +36 -0
- data/ref/ruby/classes/String.src/{M000024.html → M000022.html} +24 -24
- data/ref/ruby/classes/String.src/M000023.html +5 -23
- data/ref/ruby/classes/VerilogParser/Module/Parameter.src/M000007.html +5 -5
- data/ref/ruby/classes/VerilogParser/Module/Port.src/M000003.html +7 -7
- data/ref/ruby/classes/VerilogParser/Module/Port.src/M000004.html +4 -4
- data/ref/ruby/classes/VerilogParser/Module/Port.src/M000005.html +4 -4
- data/ref/ruby/classes/VerilogParser/Module/Port.src/M000006.html +4 -4
- data/ref/ruby/classes/VerilogParser/Module.src/M000002.html +20 -20
- data/ref/ruby/classes/VerilogParser.html +6 -0
- data/ref/ruby/classes/VerilogParser.src/M000001.html +20 -20
- data/ref/ruby/classes/Vpi/Handle.html +89 -88
- data/ref/ruby/classes/Vpi/Handle.src/M000036.html +18 -0
- data/ref/ruby/classes/Vpi/Handle.src/M000037.html +5 -5
- data/ref/ruby/classes/Vpi/Handle.src/M000038.html +5 -5
- data/ref/ruby/classes/Vpi/Handle.src/M000039.html +5 -5
- data/ref/ruby/classes/Vpi/Handle.src/M000040.html +8 -5
- data/ref/ruby/classes/Vpi/Handle.src/M000041.html +8 -8
- data/ref/ruby/classes/Vpi/Handle.src/M000042.html +7 -6
- data/ref/ruby/classes/Vpi/Handle.src/M000043.html +31 -9
- data/ref/ruby/classes/Vpi/Handle.src/M000044.html +74 -31
- data/ref/ruby/classes/Vpi/Handle.src/M000045.html +17 -74
- data/ref/ruby/classes/Vpi/Handle.src/M000046.html +11 -17
- data/ref/ruby/classes/Vpi/Handle.src/M000048.html +31 -0
- data/ref/ruby/classes/Vpi/Handle.src/M000049.html +53 -52
- data/ref/ruby/classes/Vpi/S_vpi_time.src/M000050.html +4 -4
- data/ref/ruby/classes/Vpi/S_vpi_time.src/M000051.html +5 -5
- data/ref/ruby/classes/Vpi/S_vpi_value.html +15 -15
- data/ref/ruby/classes/Vpi/S_vpi_value.src/{M000036.html → M000033.html} +5 -5
- data/ref/ruby/classes/Vpi/S_vpi_value.src/M000034.html +5 -5
- data/ref/ruby/classes/Vpi/S_vpi_value.src/M000035.html +5 -5
- data/ref/ruby/classes/Vpi.html +48 -19
- data/ref/ruby/classes/Vpi.src/M000028.html +28 -0
- data/ref/ruby/classes/Vpi.src/M000029.html +18 -0
- data/ref/ruby/classes/Vpi.src/M000030.html +25 -15
- data/ref/ruby/classes/Vpi.src/M000031.html +9 -5
- data/ref/ruby/classes/Vpi.src/M000032.html +9 -25
- data/ref/ruby/created.rid +1 -1
- data/ref/ruby/files/bin/generate_test_rb.html +2 -1
- data/ref/ruby/files/bin/header_to_ruby_rb.html +1 -1
- data/ref/ruby/files/lib/ruby-vpi/erb_rb.html +7 -1
- data/ref/ruby/files/lib/ruby-vpi/float_rb.html +7 -1
- data/ref/ruby/files/lib/ruby-vpi/integer_rb.html +7 -1
- data/ref/ruby/files/lib/ruby-vpi/rake_rb.html +7 -1
- data/ref/ruby/files/lib/ruby-vpi/rcov_rb.html +7 -1
- data/ref/ruby/files/lib/ruby-vpi/rdoc_rb.html +1 -1
- data/ref/ruby/files/lib/ruby-vpi/runner_proxy_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/files/lib/ruby-vpi/vpi_rb.html +1 -1
- data/ref/ruby/files/lib/ruby-vpi_rb.html +7 -1
- data/ref/ruby/fr_method_index.html +34 -34
- data/samp/counter/counter_rspec_runner.rake +4 -0
- data/samp/counter/counter_xunit_runner.rake +4 -0
- data/samp/pipelined_alu/Hw5UnitModel.rb +3 -19
- data/samp/pipelined_alu/README +38 -13
- data/samp/pipelined_alu/TestHw5UnitModel.rb +9 -20
- data/samp/pipelined_alu/hw5_unit.v +1 -16
- data/samp/pipelined_alu/hw5_unit_test_runner.rake +4 -0
- data/samp/pipelined_alu/hw5_unit_test_spec.rb +3 -20
- data/samp/pipelined_alu/int_gen.rb +6 -20
- metadata +47 -43
- data/doc/LICENSE +0 -397
- data/doc/images/feed-icon.LICENSE +0 -2
- data/doc/images/feed-icon.svg +0 -18
- data/ref/ruby/classes/Integer.src/M000020.html +0 -25
- data/ref/ruby/classes/Integer.src/M000021.html +0 -30
- data/ref/ruby/classes/String.src/M000025.html +0 -18
- data/ref/ruby/classes/Vpi/Handle.src/M000047.html +0 -24
- data/ref/ruby/classes/Vpi.src/M000033.html +0 -22
data/doc/lib/erb_content.rb
CHANGED
|
@@ -1,29 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
This file is part of Ruby-VPI.
|
|
5
|
-
|
|
6
|
-
Ruby-VPI is free software; you can redistribute it and/or
|
|
7
|
-
modify it under the terms of the GNU General Public License
|
|
8
|
-
as published by the Free Software Foundation; either version 2
|
|
9
|
-
of the License, or (at your option) any later version.
|
|
10
|
-
|
|
11
|
-
Ruby-VPI is distributed in the hope that it will be useful,
|
|
12
|
-
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
13
|
-
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
14
|
-
GNU General Public License for more details.
|
|
15
|
-
|
|
16
|
-
You should have received a copy of the GNU General Public License
|
|
17
|
-
along with Ruby-VPI; if not, write to the Free Software Foundation,
|
|
18
|
-
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
19
|
-
=end
|
|
1
|
+
#--
|
|
2
|
+
# Copyright 2006 Suraj N. Kurapati
|
|
3
|
+
# See the file named LICENSE for details.
|
|
20
4
|
|
|
21
5
|
require 'erb'
|
|
22
6
|
|
|
23
|
-
# Returns an array containing the current ERB buffer and the content that the
|
|
7
|
+
# Returns an array containing the current ERB buffer and the content that the
|
|
8
|
+
# given block will append to the buffer when it is invoked.
|
|
24
9
|
#
|
|
25
10
|
# == Example
|
|
26
|
-
# Suppose your ERB template invoked a method with some arguments and some
|
|
11
|
+
# Suppose your ERB template invoked a method with some arguments and some
|
|
12
|
+
# content in a block. You can pass the block to this method to obtain the
|
|
13
|
+
# content contained within the block.
|
|
27
14
|
#
|
|
28
15
|
## template = ERB.new <<-EOS
|
|
29
16
|
## <% wrap_xml "message" do %>
|
|
@@ -31,7 +18,8 @@ require 'erb'
|
|
|
31
18
|
## <% end %>
|
|
32
19
|
## EOS
|
|
33
20
|
#
|
|
34
|
-
# In this case, the ERB template invokes the _wrap_xml_ method to wrap some
|
|
21
|
+
# In this case, the ERB template invokes the _wrap_xml_ method to wrap some
|
|
22
|
+
# content within a pair of XML tags.
|
|
35
23
|
#
|
|
36
24
|
## def wrap_xml tag, &block
|
|
37
25
|
## buffer, content = ERB.buffer_and_content(&block)
|
data/doc/lib/erb_proxy.rb
CHANGED
|
@@ -1,22 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
This file is part of Ruby-VPI.
|
|
5
|
-
|
|
6
|
-
Ruby-VPI is free software; you can redistribute it and/or
|
|
7
|
-
modify it under the terms of the GNU General Public License
|
|
8
|
-
as published by the Free Software Foundation; either version 2
|
|
9
|
-
of the License, or (at your option) any later version.
|
|
10
|
-
|
|
11
|
-
Ruby-VPI is distributed in the hope that it will be useful,
|
|
12
|
-
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
13
|
-
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
14
|
-
GNU General Public License for more details.
|
|
15
|
-
|
|
16
|
-
You should have received a copy of the GNU General Public License
|
|
17
|
-
along with Ruby-VPI; if not, write to the Free Software Foundation,
|
|
18
|
-
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
19
|
-
=end
|
|
1
|
+
#--
|
|
2
|
+
# Copyright 2006 Suraj N. Kurapati
|
|
3
|
+
# See the file named LICENSE for details.
|
|
20
4
|
|
|
21
5
|
require 'erb_content'
|
|
22
6
|
|
|
@@ -27,15 +11,19 @@ class ErbProxy
|
|
|
27
11
|
@handlers = {}
|
|
28
12
|
end
|
|
29
13
|
|
|
30
|
-
# Adds a new handler that can be invoked from a ERB template.
|
|
31
|
-
#
|
|
32
|
-
#
|
|
14
|
+
# Adds a new handler that can be invoked from a ERB template. The arguments
|
|
15
|
+
# passed to the handler are:
|
|
16
|
+
#
|
|
17
|
+
# 1. buffer containing the evaluated results of the ERB template thus far
|
|
18
|
+
#
|
|
33
19
|
# 2. content that was passed to the handler from the ERB template
|
|
20
|
+
#
|
|
34
21
|
# 3. variable number of method arguments passed from the ERB template
|
|
22
|
+
#
|
|
35
23
|
def add_handler aName, &aHandler # :yields: buffer, content, *args
|
|
36
24
|
@handlers[aName] = aHandler
|
|
37
25
|
|
|
38
|
-
#
|
|
26
|
+
# XXX: define_method does not accept a block until Ruby 1.9
|
|
39
27
|
instance_eval %{
|
|
40
28
|
def #{aName} *args, &block
|
|
41
29
|
raise ArgumentError unless block_given?
|
|
@@ -46,7 +34,8 @@ class ErbProxy
|
|
|
46
34
|
}
|
|
47
35
|
end
|
|
48
36
|
|
|
49
|
-
# Evaluates the given ERB template. Used to dynamically include one template
|
|
37
|
+
# Evaluates the given ERB template. Used to dynamically include one template
|
|
38
|
+
# within another.
|
|
50
39
|
def import aErbFile
|
|
51
40
|
ERB.new(File.read(aErbFile)).result
|
|
52
41
|
end
|
data/doc/manual.doc
CHANGED
|
@@ -9,13 +9,11 @@ You can give feedback about this manual and, in general, any aspect of the Ruby-
|
|
|
9
9
|
_Happy reading!_
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
h2(#
|
|
12
|
+
h2(#legal). Legalities
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
This manual is distributed under "the same license as Ruby-VPI":#intro.license.
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
The admonition and navigation graphics used in this manual are Copyright (c) 2005, 2006 "Tango Desktop Project":http://tango.freedesktop.org and are licensed under "these terms":./images/LICENSE.
|
|
16
|
+
The admonition and navigation graphics used in this manual are Copyright (c) 2005, 2006 "Tango Desktop Project":http://tango.freedesktop.org and are licensed under "these terms":./images/tango/LICENSE.
|
|
19
17
|
|
|
20
18
|
|
|
21
19
|
h1(#intro). Introduction
|
|
@@ -23,29 +21,6 @@ h1(#intro). Introduction
|
|
|
23
21
|
<%= import 'intro.inc' %>
|
|
24
22
|
|
|
25
23
|
|
|
26
|
-
h2(#intro.license). License
|
|
27
|
-
|
|
28
|
-
Ruby-VPI is "free software":http://en.wikipedia.org/wiki/Free_software ; you can redistribute it and/or modify it under the terms of the "GNU General Public License":http://www.gnu.org/copyleft/gpl.html as published by the "Free Software Foundation":http://www.fsf.org ; either version 2 of the License, or (at your option) any later version.
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
h2(#intro.related-works). Related works
|
|
32
|
-
|
|
33
|
-
* "JOVE":http://jove.sourceforge.net is a Java interface to VPI.
|
|
34
|
-
* "Teal":http://teal.sourceforge.net is a C++ interface to VPI.
|
|
35
|
-
* "ScriptEDA":http://embedded.eecs.berkeley.edu/Alumni/pinhong/scriptEDA/ is a Perl, Python, and Tcl interface to VPI.
|
|
36
|
-
* "RHDL":http://rhdl.rubyforge.org is a hardware description and verification language based on Ruby.
|
|
37
|
-
* "MyHDL":http://myhdl.jandecaluwe.com is a hardware description and verification language based on Python, which features conversion to Verilog and co-simulation.
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
h3(#intro.related-works.pli). Ye olde PLI
|
|
41
|
-
|
|
42
|
-
The following projects utilize the archaic *tf* and *acc* PLI interfaces, which have been officially deprecated in IEEE Std 1364-2005.
|
|
43
|
-
|
|
44
|
-
* "ScriptSim":http://www.nelsim.com is a Perl, Python, and Tcl/Tk interface to PLI.
|
|
45
|
-
* "Verilog::Pli":http://www.veripool.com/verilog-pli.html is a Perl interface to PLI.
|
|
46
|
-
* "JPLI":http://www.time-rover.com/jpli/ is a proprietary Java interface to PLI.
|
|
47
|
-
|
|
48
|
-
|
|
49
24
|
h1(#background). Background
|
|
50
25
|
|
|
51
26
|
|
|
@@ -126,38 +101,12 @@ When you extract a release package, the following is what you would expect to fi
|
|
|
126
101
|
|
|
127
102
|
h2(#setup.reqs). Requirements
|
|
128
103
|
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
* Verilog simulator
|
|
132
|
-
- Ruby-VPI is known to work with the following simulators. However, you should be able to use it with any Verilog simulator that supports VPI.
|
|
133
|
-
** "GPL Cver":http://www.pragmatic-c.com/gpl-cver/
|
|
134
|
-
- version 2.11a or newer is acceptable.
|
|
135
|
-
** "Icarus Verilog":http://www.icarus.com/eda/Verilog/
|
|
136
|
-
- version 0.8 is _mostly_ acceptable -- you *will not* be able to "access child handles through method calls":#background.org.vpi.util. The reason for this limitation is explained in <xref #problems.ivl.vpi_handle_by_name.absolute-paths>.
|
|
137
|
-
** "Synopsys VCS":http://www.synopsys.com/products/simulation/simulation.html
|
|
138
|
-
- any version that supports the <tt>-load</tt> option is acceptable.
|
|
139
|
-
** "Mentor Modelsim":http://www.model.com
|
|
140
|
-
- any version that supports the <tt>-pli</tt> option is acceptable.
|
|
104
|
+
See <xref#intro.reqs> above.
|
|
141
105
|
|
|
142
106
|
<% tip "Add support for your Verilog simulator" do %>
|
|
143
107
|
Write a "support request":http://rubyforge.org/tracker/?group_id=1339 for your simulator, while providing a sample transcript of the commands you use to run a test with your simulator, and we will add support for your simulator in the next release!
|
|
144
108
|
<% end %>
|
|
145
109
|
|
|
146
|
-
* *make*
|
|
147
|
-
- any distribution should be acceptable.
|
|
148
|
-
|
|
149
|
-
* C compiler
|
|
150
|
-
- the "GNU Compiler Collection (GCC)":http://www.gnu.org/software/gcc/ is preferred, but any C compiler should be acceptable.
|
|
151
|
-
|
|
152
|
-
* "POSIX threads (pthreads)":http://en.wikipedia.org/wiki/Pthreads
|
|
153
|
-
- header and linkable object files, and operating system support for this library are necessary.
|
|
154
|
-
|
|
155
|
-
* "Ruby":http://www.ruby-lang.org
|
|
156
|
-
- version 1.8 or newer, including header and linkable object files for building extensions, is necessary. You can install Ruby by following "these instructions":http://www.rubygarden.org/faq/section/show/3.
|
|
157
|
-
|
|
158
|
-
* "RubyGems":http://rubyforge.org/frs/?group_id=126
|
|
159
|
-
- any recent version should be acceptable. You can install RubyGems by following "these instructions":http://www.rubygems.org/read/chapter/3.
|
|
160
|
-
|
|
161
110
|
|
|
162
111
|
h2(#setup.recom). Recommendations
|
|
163
112
|
|
|
@@ -342,11 +291,11 @@ To access a handle's properties, invoke the property name, using the following f
|
|
|
342
291
|
| @handle.vpiParent_h@ | | | vpiParent | _ | h | |
|
|
343
292
|
| @handle.parent@ | | | parent | | | |
|
|
344
293
|
| @handle.parent_h@ | | | parent | _ | h | |
|
|
345
|
-
| <code>handle.each_vpiNet {|net| puts net.fullName}</code> | each | _ | vpiNet | | | |/2. These expressions print the full name of each
|
|
294
|
+
| <code>handle.each_vpiNet {|net| puts net.fullName}</code> | each | _ | vpiNet | | | |/2. These expressions print the full name of each @VpiNet@ object associated with the handle. |
|
|
346
295
|
| <code>handle.each_net {|net| puts net.fullName}</code> | each | _ | net | | | |
|
|
347
296
|
| <code>handle.all_vpiReg? {|reg| reg.size == 1}</code> | all? | _ | vpiReg | | | |/2. These expressions check if all registers associated with the handle are capable of storing only one bit. |
|
|
348
297
|
| <code>handle.all_reg? {|reg| reg.size == 1}</code> | all? | _ | reg | | | |
|
|
349
|
-
| <code>handle.select_vpiNet {|net| net.x?}</code> | select | _ | VpiNet | | | |/2. These expressions return a list of nets whose logic value is unknown or "don't care" (x).|
|
|
298
|
+
| <code>handle.select_vpiNet {|net| net.x?}</code> | select | _ | VpiNet | | | |/2. These expressions return a list of nets whose *logic value* is unknown or "don't care" (x).|
|
|
350
299
|
| <code>handle.select_net {|net| net.x?}</code> | select | _ | net | | | |
|
|
351
300
|
<% end %>
|
|
352
301
|
|
|
@@ -526,9 +475,9 @@ When you invoke a test runner without any arguments, it will show you a list of
|
|
|
526
475
|
<% end %>
|
|
527
476
|
|
|
528
477
|
<% tip "Running multiple tests at once." do %>
|
|
529
|
-
Create a file named <tt>Rakefile</tt> containing the following line
|
|
478
|
+
Create a file named <tt>Rakefile</tt> containing the following line:
|
|
530
479
|
|
|
531
|
-
|
|
480
|
+
@require 'ruby-vpi/runner_proxy'@
|
|
532
481
|
|
|
533
482
|
Now you can invoke all test runners in the current directory simply by executing <pre>rake cver</pre> (where _cver_ denotes the "GPL Cver simulator":#setup.reqs).
|
|
534
483
|
<% end %>
|
|
@@ -831,6 +780,13 @@ Finished in 0.006766 seconds.
|
|
|
831
780
|
|
|
832
781
|
h1(#hacking). Hacking
|
|
833
782
|
|
|
783
|
+
|
|
784
|
+
h2(#hacking.scm). Getting the source code
|
|
785
|
+
|
|
786
|
+
Check out the source code using "Darcs":http://darcs.net from the project repository:
|
|
787
|
+
|
|
788
|
+
darcs get http://ruby-vpi.rubyforge.org/src/ruby-vpi
|
|
789
|
+
|
|
834
790
|
h2(#hacking.release-packages). Building release packages
|
|
835
791
|
|
|
836
792
|
In addition to the "normal requirements":#setup.reqs, you need the following software to build release packages:
|
|
@@ -972,7 +928,7 @@ h2(#glossary.rake). Rake
|
|
|
972
928
|
|
|
973
929
|
bq. Rake is a build tool, written in Ruby, using Ruby as a build language. Rake is similar to *make* in scope and purpose.
|
|
974
930
|
|
|
975
|
-
|
|
931
|
+
p>. --"Rake documentation":http://docs.rubyrake.org
|
|
976
932
|
|
|
977
933
|
|
|
978
934
|
h2(#glossary.rspec). rSpec
|