ruby-vpi 19.0.0 → 20.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/LICENSE +12 -13
- data/README +1 -1
- data/Rakefile +104 -118
- data/TODO +77 -0
- data/bin/convert.rb +1 -1
- data/bin/generate/design.rb +3 -2
- data/bin/generate/loader.rb +1 -0
- data/bin/generate/proto.rb +16 -14
- data/bin/generate/runner.rake +8 -3
- data/bin/generate/spec.rb +11 -13
- data/bin/generate.rb +23 -18
- data/bin/ruby-vpi +36 -27
- data/doc/api/c/annotated.html +36 -0
- data/{ref → doc/api}/c/common_8h.html +9 -13
- data/{ref → doc/api}/c/doxygen.css +0 -0
- data/{ref → doc/api}/c/doxygen.png +0 -0
- data/{ref → doc/api}/c/files.html +10 -8
- data/doc/api/c/functions.html +184 -0
- data/doc/api/c/functions_vars.html +184 -0
- data/{ref → doc/api}/c/globals.html +12 -11
- data/{ref → doc/api}/c/globals_0x63.html +12 -11
- data/{ref → doc/api}/c/globals_0x65.html +12 -11
- data/{ref → doc/api}/c/globals_0x66.html +12 -11
- data/{ref → doc/api}/c/globals_0x6d.html +14 -13
- data/{ref → doc/api}/c/globals_0x70.html +21 -20
- data/{ref → doc/api}/c/globals_0x72.html +14 -13
- data/{ref → doc/api}/c/globals_0x74.html +12 -11
- data/{ref → doc/api}/c/globals_0x76.html +17 -16
- data/{ref → doc/api}/c/globals_0x78.html +12 -11
- data/{ref → doc/api}/c/globals_defs.html +12 -10
- data/{ref → doc/api}/c/globals_defs_0x65.html +12 -10
- data/{ref → doc/api}/c/globals_defs_0x70.html +12 -10
- data/{ref → doc/api}/c/globals_defs_0x76.html +14 -12
- data/{ref → doc/api}/c/globals_defs_0x78.html +12 -10
- data/{ref → doc/api}/c/globals_enum.html +11 -9
- data/{ref → doc/api}/c/globals_eval.html +11 -9
- data/{ref → doc/api}/c/globals_func.html +17 -15
- data/doc/api/c/globals_type.html +72 -0
- data/{ref → doc/api}/c/globals_vars.html +13 -11
- data/{ref → doc/api}/c/index.html +7 -6
- data/{ref → doc/api}/c/main_8c.html +7 -11
- data/{ref → doc/api}/c/main_8h.html +7 -11
- data/{ref → doc/api}/c/relay_8c.html +7 -11
- data/{ref → doc/api}/c/relay_8h.html +7 -11
- data/{ref/c/structt__cb__data.html → doc/api/c/structs__cb__data.html} +32 -30
- data/{ref/c/structt__vpi__delay.html → doc/api/c/structs__vpi__delay.html} +29 -27
- data/{ref/c/structt__vpi__error__info.html → doc/api/c/structs__vpi__error__info.html} +32 -30
- data/{ref/c/structt__vpi__strengthval.html → doc/api/c/structs__vpi__strengthval.html} +20 -18
- data/{ref/c/structt__vpi__systf__data.html → doc/api/c/structs__vpi__systf__data.html} +32 -30
- data/{ref/c/structt__vpi__time.html → doc/api/c/structs__vpi__time.html} +23 -21
- data/doc/api/c/structs__vpi__value.html +207 -0
- data/{ref/c/structt__vpi__vecval.html → doc/api/c/structs__vpi__vecval.html} +17 -15
- data/{ref/c/structt__vpi__vlog__info.html → doc/api/c/structs__vpi__vlog__info.html} +23 -21
- data/{ref → doc/api}/c/tab_b.gif +0 -0
- data/{ref → doc/api}/c/tab_l.gif +0 -0
- data/{ref → doc/api}/c/tab_r.gif +0 -0
- data/{ref → doc/api}/c/tabs.css +2 -2
- data/{ref → doc/api}/c/verilog_8h.html +11 -15
- data/{ref → doc/api}/c/vlog_8c.html +14 -18
- data/{ref → doc/api}/c/vlog_8h.html +9 -13
- data/{ref → doc/api}/c/vpi__user_8h.html +120 -239
- data/{ref → doc/api}/ruby/classes/ERB.html +7 -7
- data/doc/api/ruby/classes/ERB.src/M000025.html +29 -0
- data/{ref → doc/api}/ruby/classes/FileUtils.html +6 -23
- data/doc/api/ruby/classes/FileUtils.src/M000026.html +20 -0
- data/{ref → doc/api}/ruby/classes/Float.html +8 -8
- data/doc/api/ruby/classes/Float.src/M000020.html +19 -0
- data/{ref → doc/api}/ruby/classes/Integer.html +67 -67
- data/doc/api/ruby/classes/Integer.src/M000008.html +25 -0
- data/doc/api/ruby/classes/Integer.src/M000009.html +18 -0
- data/doc/api/ruby/classes/Integer.src/M000010.html +18 -0
- data/doc/api/ruby/classes/Integer.src/M000011.html +18 -0
- data/doc/api/ruby/classes/Integer.src/M000012.html +18 -0
- data/doc/api/ruby/classes/Integer.src/M000013.html +18 -0
- data/doc/api/ruby/classes/Integer.src/M000016.html +25 -0
- data/doc/api/ruby/classes/Integer.src/M000017.html +31 -0
- data/doc/api/ruby/classes/Integer.src/M000018.html +25 -0
- data/doc/api/ruby/classes/Integer.src/M000019.html +30 -0
- data/{ref → doc/api}/ruby/classes/Object.html +3 -3
- data/{ref → doc/api}/ruby/classes/RDoc.html +7 -7
- data/doc/api/ruby/classes/RDoc.src/M000541.html +40 -0
- data/doc/api/ruby/classes/RubyVPI/SIMULATORS.html +130 -0
- data/doc/api/ruby/classes/RubyVPI/SIMULATORS.src/M000028.html +19 -0
- data/{ref → doc/api}/ruby/classes/RubyVPI.html +96 -55
- data/doc/api/ruby/classes/RubyVPI.src/M000027.html +34 -0
- data/{ref → doc/api}/ruby/classes/String.html +16 -16
- data/doc/api/ruby/classes/String.src/M000021.html +36 -0
- data/doc/api/ruby/classes/String.src/M000022.html +18 -0
- data/doc/api/ruby/classes/String.src/M000023.html +18 -0
- data/doc/api/ruby/classes/String.src/M000024.html +41 -0
- data/doc/api/ruby/classes/VPI/Handle.html +2098 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000434.html +31 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000435.html +18 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000436.html +18 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000439.html +18 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000440.html +18 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000443.html +18 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000444.html +18 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000447.html +18 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000448.html +18 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000451.html +18 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000452.html +18 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000455.html +18 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000456.html +18 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000459.html +24 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000461.html +21 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000462.html +28 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000463.html +50 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000464.html +19 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000465.html +19 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000466.html +18 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000467.html +18 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000468.html +30 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000469.html +18 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000470.html +18 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000471.html +40 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000472.html +18 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000473.html +21 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000474.html +16 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000475.html +16 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000476.html +16 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000477.html +16 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000478.html +16 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000479.html +16 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000480.html +16 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000481.html +16 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000482.html +16 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000483.html +16 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000484.html +16 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000485.html +16 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000486.html +16 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000487.html +16 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000488.html +16 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000489.html +16 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000490.html +16 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000491.html +16 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000492.html +16 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000493.html +16 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000494.html +16 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000495.html +16 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000496.html +16 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000497.html +16 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000498.html +16 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000499.html +16 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000500.html +16 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000501.html +16 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000502.html +16 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000503.html +16 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000504.html +16 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000505.html +16 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000506.html +16 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000507.html +16 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000508.html +16 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000509.html +16 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000510.html +16 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000511.html +16 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000512.html +16 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000513.html +16 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000514.html +16 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000515.html +16 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000516.html +16 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000517.html +16 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000518.html +16 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000519.html +16 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000520.html +16 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000521.html +16 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000522.html +16 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000523.html +16 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000524.html +16 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000525.html +16 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000526.html +16 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000527.html +16 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000528.html +16 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000529.html +16 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000530.html +16 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000531.html +16 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000532.html +16 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000533.html +16 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000534.html +16 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000535.html +16 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000536.html +16 -0
- data/doc/api/ruby/classes/VPI/Handle.src/M000537.html +16 -0
- data/{ref → doc/api}/ruby/classes/VPI/S_vpi_time.html +18 -18
- data/doc/api/ruby/classes/VPI/S_vpi_time.src/M000538.html +18 -0
- data/doc/api/ruby/classes/VPI/S_vpi_time.src/M000539.html +19 -0
- data/{ref → doc/api}/ruby/classes/VPI/S_vpi_value.html +17 -17
- data/doc/api/ruby/classes/VPI/S_vpi_value.src/M000431.html +35 -0
- data/doc/api/ruby/classes/VPI/S_vpi_value.src/M000432.html +42 -0
- data/doc/api/ruby/classes/VPI/S_vpi_value.src/M000433.html +42 -0
- data/doc/api/ruby/classes/VPI.html +11152 -0
- data/doc/api/ruby/classes/VPI.src/M000029.html +19 -0
- data/doc/api/ruby/classes/VPI.src/M000030.html +18 -0
- data/doc/api/ruby/classes/VPI.src/M000031.html +19 -0
- data/doc/api/ruby/classes/VPI.src/M000033.html +25 -0
- data/doc/api/ruby/classes/VPI.src/M000034.html +26 -0
- data/doc/api/ruby/classes/VPI.src/M000036.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000037.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000038.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000039.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000040.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000041.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000042.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000043.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000044.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000045.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000046.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000047.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000048.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000049.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000050.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000051.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000052.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000053.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000054.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000055.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000056.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000057.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000058.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000059.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000060.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000061.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000062.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000063.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000064.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000065.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000066.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000067.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000068.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000069.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000070.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000071.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000072.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000073.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000074.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000075.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000076.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000077.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000078.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000079.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000080.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000081.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000082.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000083.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000084.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000085.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000086.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000087.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000088.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000089.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000090.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000091.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000092.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000093.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000094.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000095.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000096.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000097.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000098.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000099.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000100.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000101.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000102.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000103.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000104.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000105.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000106.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000107.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000108.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000109.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000110.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000111.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000112.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000113.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000114.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000115.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000116.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000117.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000118.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000119.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000120.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000121.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000122.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000123.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000124.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000125.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000126.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000127.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000128.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000129.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000130.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000131.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000132.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000133.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000134.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000135.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000136.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000137.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000138.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000139.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000140.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000141.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000142.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000143.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000144.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000145.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000146.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000147.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000148.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000149.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000150.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000151.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000152.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000153.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000154.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000155.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000156.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000157.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000158.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000159.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000160.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000161.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000162.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000163.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000164.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000165.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000166.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000167.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000168.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000169.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000170.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000171.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000172.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000173.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000174.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000175.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000176.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000177.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000178.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000179.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000180.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000181.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000182.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000183.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000184.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000185.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000186.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000187.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000188.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000189.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000190.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000191.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000192.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000193.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000194.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000195.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000196.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000197.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000198.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000199.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000200.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000201.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000202.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000203.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000204.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000205.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000206.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000207.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000208.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000209.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000210.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000211.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000212.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000213.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000214.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000215.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000216.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000217.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000218.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000219.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000220.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000221.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000222.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000223.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000224.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000225.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000226.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000227.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000228.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000229.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000230.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000231.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000232.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000233.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000234.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000235.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000236.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000237.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000238.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000239.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000240.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000241.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000242.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000243.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000244.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000245.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000246.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000247.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000248.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000249.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000250.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000251.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000252.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000253.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000254.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000255.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000256.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000257.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000258.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000259.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000260.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000261.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000262.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000263.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000264.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000265.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000266.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000267.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000268.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000269.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000270.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000271.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000272.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000273.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000274.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000275.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000276.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000277.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000278.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000279.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000280.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000281.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000282.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000283.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000284.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000285.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000286.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000287.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000288.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000289.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000290.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000291.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000292.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000293.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000294.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000295.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000296.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000297.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000298.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000299.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000300.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000301.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000302.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000303.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000304.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000305.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000306.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000307.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000308.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000309.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000310.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000311.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000312.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000313.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000314.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000315.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000316.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000317.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000318.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000319.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000320.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000321.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000322.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000323.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000324.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000325.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000326.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000327.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000328.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000329.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000330.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000331.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000332.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000333.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000334.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000335.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000336.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000337.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000338.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000339.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000340.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000341.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000342.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000343.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000344.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000345.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000346.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000347.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000348.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000349.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000350.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000351.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000352.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000353.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000354.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000355.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000356.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000357.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000358.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000359.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000360.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000361.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000362.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000363.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000364.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000365.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000366.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000367.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000368.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000369.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000370.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000371.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000372.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000373.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000374.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000375.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000376.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000377.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000378.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000379.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000380.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000381.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000382.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000383.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000384.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000385.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000386.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000387.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000388.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000389.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000390.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000391.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000392.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000393.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000394.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000395.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000396.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000397.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000398.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000399.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000400.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000401.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000402.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000403.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000404.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000405.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000406.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000407.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000408.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000409.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000410.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000411.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000412.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000413.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000414.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000415.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000416.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000417.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000418.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000419.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000420.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000421.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000422.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000423.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000424.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000425.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000426.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000427.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000428.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000429.html +16 -0
- data/doc/api/ruby/classes/VPI.src/M000430.html +16 -0
- data/{ref → doc/api}/ruby/classes/VerilogParser/Module/Port.html +17 -17
- data/doc/api/ruby/classes/VerilogParser/Module/Port.src/M000005.html +23 -0
- data/doc/api/ruby/classes/VerilogParser/Module/Port.src/M000006.html +18 -0
- data/doc/api/ruby/classes/VerilogParser/Module/Port.src/M000007.html +18 -0
- data/{ref → doc/api}/ruby/classes/VerilogParser/Module.html +7 -7
- data/doc/api/ruby/classes/VerilogParser/Module.src/M000004.html +29 -0
- data/{ref → doc/api}/ruby/classes/VerilogParser.html +7 -7
- data/doc/api/ruby/classes/VerilogParser.src/M000003.html +26 -0
- data/doc/api/ruby/created.rid +1 -0
- data/{ref → doc/api}/ruby/files/bin/convert_rb.html +4 -4
- data/{ref → doc/api}/ruby/files/bin/generate_rb.html +10 -6
- data/doc/api/ruby/files/bin/ruby-vpi.html +169 -0
- data/doc/api/ruby/files/bin/ruby-vpi.src/M000001.html +35 -0
- data/{ref → doc/api}/ruby/files/lib/ruby-vpi/core/callback_rb.html +3 -3
- data/doc/api/ruby/files/lib/ruby-vpi/core/edge-methods_rb.html +107 -0
- data/{ref → doc/api}/ruby/files/lib/ruby-vpi/core/edge_rb.html +3 -3
- data/{ref → doc/api}/ruby/files/lib/ruby-vpi/core/handle_rb.html +10 -3
- data/{ref → doc/api}/ruby/files/lib/ruby-vpi/core/scheduler_rb.html +3 -3
- data/{ref → doc/api}/ruby/files/lib/ruby-vpi/core/struct_rb.html +2 -2
- data/{ref → doc/api}/ruby/files/lib/ruby-vpi/core_rb.html +3 -3
- data/{ref → doc/api}/ruby/files/lib/ruby-vpi/erb_rb.html +2 -2
- data/{ref → doc/api}/ruby/files/lib/ruby-vpi/float_rb.html +2 -2
- data/{ref → doc/api}/ruby/files/lib/ruby-vpi/integer_rb.html +2 -2
- data/{ref → doc/api}/ruby/files/lib/ruby-vpi/rake_rb.html +3 -3
- data/{ref → doc/api}/ruby/files/lib/ruby-vpi/rcov_rb.html +3 -4
- data/{ref → doc/api}/ruby/files/lib/ruby-vpi/rdoc_rb.html +2 -2
- data/{ref → doc/api}/ruby/files/lib/ruby-vpi/runner_boot_loader_rb.html +9 -10
- data/doc/api/ruby/files/lib/ruby-vpi/runner_boot_loader_rb.src/M000002.html +17 -0
- data/{ref → doc/api}/ruby/files/lib/ruby-vpi/runner_proxy_rb.html +3 -3
- data/{ref → doc/api}/ruby/files/lib/ruby-vpi/runner_rb.html +3 -3
- data/{ref → doc/api}/ruby/files/lib/ruby-vpi/util_rb.html +2 -2
- data/{ref → doc/api}/ruby/files/lib/ruby-vpi/verilog_parser_rb.html +2 -2
- data/{ref → doc/api}/ruby/files/lib/ruby-vpi_rb.html +3 -3
- data/doc/api/ruby/files/ruby-vpi-dynamic_rb.html +110 -0
- data/{ref → doc/api}/ruby/fr_class_index.html +3 -2
- data/{ref → doc/api}/ruby/fr_file_index.html +5 -2
- data/doc/api/ruby/fr_method_index.html +567 -0
- data/{ref → doc/api}/ruby/index.html +5 -5
- data/{ref → doc/api}/ruby/rdoc-style.css +0 -0
- data/doc/{manual.doc → guide.erb} +379 -121
- data/doc/guide.html +3524 -0
- data/examples/counter/RSpec/counter_design.rb +7 -7
- data/examples/counter/RSpec/counter_loader.rb +1 -0
- data/examples/counter/RSpec/counter_proto.rb +8 -6
- data/examples/counter/RSpec/counter_runner.rake +9 -4
- data/examples/counter/RSpec/counter_spec.rb +13 -13
- data/examples/counter/xUnit/counter_design.rb +7 -6
- data/examples/counter/xUnit/counter_loader.rb +1 -0
- data/examples/counter/xUnit/counter_proto.rb +8 -6
- data/examples/counter/xUnit/counter_runner.rake +9 -4
- data/examples/counter/xUnit/counter_spec.rb +15 -15
- data/examples/pipelined_alu/hw5_unit_design.rb +11 -10
- data/examples/pipelined_alu/hw5_unit_loader.rb +1 -0
- data/examples/pipelined_alu/hw5_unit_proto.rb +4 -2
- data/examples/pipelined_alu/hw5_unit_runner.rake +9 -4
- data/examples/pipelined_alu/hw5_unit_spec.rb +18 -18
- data/examples/register_file/register_file_design.rb +2 -2
- data/examples/register_file/register_file_loader.rb +1 -0
- data/examples/register_file/register_file_proto.rb +15 -8
- data/examples/register_file/register_file_runner.rake +9 -4
- data/examples/register_file/register_file_spec.rb +15 -15
- data/ext/main.c +4 -4
- data/lib/ruby-vpi/core/edge-methods.rb +32 -0
- data/lib/ruby-vpi/core/edge.rb +8 -43
- data/lib/ruby-vpi/core/handle.rb +127 -91
- data/lib/ruby-vpi/core/scheduler.rb +14 -15
- data/lib/ruby-vpi/core.rb +1 -1
- data/lib/ruby-vpi/rake.rb +5 -7
- data/lib/ruby-vpi/rcov.rb +2 -7
- data/lib/ruby-vpi/runner.rb +16 -11
- data/lib/ruby-vpi/runner_boot_loader.rb +24 -60
- data/lib/ruby-vpi/runner_proxy.rb +2 -6
- data/lib/ruby-vpi.rb +56 -14
- metadata +809 -368
- data/doc/README +0 -9
- data/doc/Rakefile +0 -92
- data/doc/common.css +0 -108
- data/doc/common.inc +0 -14
- data/doc/common.tpl +0 -90
- data/doc/history.doc +0 -17
- data/doc/history.html +0 -2694
- data/doc/history.inc +0 -1077
- data/doc/history.rb +0 -22
- data/doc/history.yaml +0 -1409
- data/doc/images/feed-icon-28x28.png +0 -0
- data/doc/images/tango/LICENSE +0 -67
- data/doc/images/tango/caution.png +0 -0
- data/doc/images/tango/caution.svg +0 -290
- data/doc/images/tango/home.png +0 -0
- data/doc/images/tango/home.svg +0 -386
- data/doc/images/tango/important.png +0 -0
- data/doc/images/tango/important.svg +0 -163
- data/doc/images/tango/next.png +0 -0
- data/doc/images/tango/next.svg +0 -191
- data/doc/images/tango/note.png +0 -0
- data/doc/images/tango/note.svg +0 -483
- data/doc/images/tango/prev.png +0 -0
- data/doc/images/tango/prev.svg +0 -852
- data/doc/images/tango/tip.png +0 -0
- data/doc/images/tango/tip.svg +0 -1145
- data/doc/images/tango/up.png +0 -0
- data/doc/images/tango/up.svg +0 -195
- data/doc/images/tango/warning.png +0 -0
- data/doc/images/tango/warning.svg +0 -334
- data/doc/intro.inc +0 -215
- data/doc/lib/doc_format.rb +0 -137
- data/doc/lib/doc_proxy.rb +0 -562
- data/doc/lib/erb_content.rb +0 -55
- data/doc/lib/erb_proxy.rb +0 -42
- data/doc/manual.html +0 -3061
- data/doc/memo.doc +0 -66
- data/doc/memo.html +0 -210
- data/doc/print.css +0 -69
- data/doc/readme.doc +0 -10
- data/doc/readme.html +0 -515
- data/doc/rss.erb +0 -29
- data/doc/rss.xml +0 -186
- data/doc/screen.css +0 -146
- data/doc/spacing.css +0 -57
- data/index.html +0 -2
- data/ref/c/annotated.html +0 -34
- data/ref/c/functions.html +0 -182
- data/ref/c/functions_vars.html +0 -182
- data/ref/c/globals_0x73.html +0 -73
- data/ref/c/globals_type.html +0 -88
- data/ref/c/structt__vpi__value.html +0 -204
- data/ref/ruby/classes/ERB.src/M000024.html +0 -29
- data/ref/ruby/classes/FileUtils.src/M000025.html +0 -18
- data/ref/ruby/classes/FileUtils.src/M000026.html +0 -18
- data/ref/ruby/classes/Float.src/M000019.html +0 -19
- data/ref/ruby/classes/Integer.src/M000007.html +0 -25
- data/ref/ruby/classes/Integer.src/M000008.html +0 -18
- data/ref/ruby/classes/Integer.src/M000009.html +0 -18
- data/ref/ruby/classes/Integer.src/M000010.html +0 -18
- data/ref/ruby/classes/Integer.src/M000011.html +0 -18
- data/ref/ruby/classes/Integer.src/M000012.html +0 -18
- data/ref/ruby/classes/Integer.src/M000015.html +0 -25
- data/ref/ruby/classes/Integer.src/M000016.html +0 -31
- data/ref/ruby/classes/Integer.src/M000017.html +0 -25
- data/ref/ruby/classes/Integer.src/M000018.html +0 -30
- data/ref/ruby/classes/RDoc.src/M000081.html +0 -40
- data/ref/ruby/classes/String.src/M000020.html +0 -36
- data/ref/ruby/classes/String.src/M000021.html +0 -41
- data/ref/ruby/classes/String.src/M000022.html +0 -18
- data/ref/ruby/classes/String.src/M000023.html +0 -18
- data/ref/ruby/classes/VPI/Handle.html +0 -898
- data/ref/ruby/classes/VPI/Handle.src/M000037.html +0 -18
- data/ref/ruby/classes/VPI/Handle.src/M000038.html +0 -21
- data/ref/ruby/classes/VPI/Handle.src/M000039.html +0 -18
- data/ref/ruby/classes/VPI/Handle.src/M000040.html +0 -18
- data/ref/ruby/classes/VPI/Handle.src/M000045.html +0 -18
- data/ref/ruby/classes/VPI/Handle.src/M000046.html +0 -18
- data/ref/ruby/classes/VPI/Handle.src/M000057.html +0 -18
- data/ref/ruby/classes/VPI/Handle.src/M000058.html +0 -18
- data/ref/ruby/classes/VPI/Handle.src/M000061.html +0 -18
- data/ref/ruby/classes/VPI/Handle.src/M000062.html +0 -18
- data/ref/ruby/classes/VPI/Handle.src/M000065.html +0 -24
- data/ref/ruby/classes/VPI/Handle.src/M000067.html +0 -21
- data/ref/ruby/classes/VPI/Handle.src/M000068.html +0 -28
- data/ref/ruby/classes/VPI/Handle.src/M000069.html +0 -50
- data/ref/ruby/classes/VPI/Handle.src/M000070.html +0 -19
- data/ref/ruby/classes/VPI/Handle.src/M000071.html +0 -19
- data/ref/ruby/classes/VPI/Handle.src/M000072.html +0 -18
- data/ref/ruby/classes/VPI/Handle.src/M000073.html +0 -30
- data/ref/ruby/classes/VPI/Handle.src/M000075.html +0 -18
- data/ref/ruby/classes/VPI/Handle.src/M000076.html +0 -40
- data/ref/ruby/classes/VPI/Handle.src/M000077.html +0 -31
- data/ref/ruby/classes/VPI/S_vpi_time.src/M000078.html +0 -18
- data/ref/ruby/classes/VPI/S_vpi_time.src/M000079.html +0 -19
- data/ref/ruby/classes/VPI/S_vpi_value.src/M000034.html +0 -35
- data/ref/ruby/classes/VPI/S_vpi_value.src/M000035.html +0 -42
- data/ref/ruby/classes/VPI/S_vpi_value.src/M000036.html +0 -42
- data/ref/ruby/classes/VPI.html +0 -356
- data/ref/ruby/classes/VPI.src/M000027.html +0 -19
- data/ref/ruby/classes/VPI.src/M000028.html +0 -18
- data/ref/ruby/classes/VPI.src/M000029.html +0 -19
- data/ref/ruby/classes/VPI.src/M000031.html +0 -25
- data/ref/ruby/classes/VPI.src/M000032.html +0 -26
- data/ref/ruby/classes/VerilogParser/Module/Port.src/M000004.html +0 -23
- data/ref/ruby/classes/VerilogParser/Module/Port.src/M000005.html +0 -18
- data/ref/ruby/classes/VerilogParser/Module/Port.src/M000006.html +0 -18
- data/ref/ruby/classes/VerilogParser/Module.src/M000003.html +0 -29
- data/ref/ruby/classes/VerilogParser.src/M000002.html +0 -26
- data/ref/ruby/created.rid +0 -1
- data/ref/ruby/files/lib/ruby-vpi/runner_boot_loader_rb.src/M000001.html +0 -17
- data/ref/ruby/fr_method_index.html +0 -107
data/LICENSE
CHANGED
@@ -1,21 +1,20 @@
|
|
1
1
|
Copyright 2006 Suraj N. Kurapati <SNK at GNA dot ORG>
|
2
2
|
Copyright 1999 Kazuhiro HIWADA <HIWADA at KUEE dot KYOTO-U dot AC dot JP>
|
3
3
|
|
4
|
-
Permission is hereby granted, free of charge, to any person obtaining a
|
5
|
-
this software and associated documentation files (the "Software"),
|
6
|
-
the Software without restriction, including without limitation
|
7
|
-
use, copy, modify, merge, publish, distribute, sublicense,
|
8
|
-
the Software, and to permit persons to whom the
|
9
|
-
subject to the following conditions:
|
4
|
+
Permission is hereby granted, free of charge, to any person obtaining a
|
5
|
+
copy of this software and associated documentation files (the "Software"),
|
6
|
+
to deal in the Software without restriction, including without limitation
|
7
|
+
the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
8
|
+
and/or sell copies of the Software, and to permit persons to whom the
|
9
|
+
Software is furnished to do so, subject to the following conditions:
|
10
10
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
permission notice.
|
11
|
+
* All copies and substantial portions of the Software (the "Derivatives")
|
12
|
+
and their corresponding machine-readable source code (the "Code") must
|
13
|
+
include the above copyright notice and this permission notice.
|
15
14
|
|
16
|
-
|
17
|
-
|
18
|
-
|
15
|
+
* Upon distribution, the Derivatives must be accompanied either by the Code
|
16
|
+
or--provided that the Code is obtainable for no more than the cost of
|
17
|
+
distribution plus a nominal fee--by information on how to obtain the Code.
|
19
18
|
|
20
19
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
21
20
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
data/README
CHANGED
@@ -1 +1 @@
|
|
1
|
-
Please see ./
|
1
|
+
Please see ./doc/guide.html in your web browser.
|
data/Rakefile
CHANGED
@@ -13,24 +13,15 @@ require 'tempfile'
|
|
13
13
|
require 'rbconfig'
|
14
14
|
|
15
15
|
PROJECT_LIBS = File.join(File.dirname(__FILE__), 'lib')
|
16
|
+
DYNAMIC_DOCS = 'ruby-vpi-dynamic.rb'
|
16
17
|
|
17
18
|
$:.unshift PROJECT_LIBS
|
18
19
|
require 'ruby-vpi'
|
19
20
|
require 'ruby-vpi/rake'
|
21
|
+
require 'ruby-vpi/util'
|
20
22
|
|
21
23
|
task :default => :build
|
22
24
|
|
23
|
-
|
24
|
-
# load project information
|
25
|
-
include RubyVPI
|
26
|
-
PROJECT_SSH_URL = "snk@rubyforge.org:/var/www/gforge-projects/#{PROJECT_ID}"
|
27
|
-
|
28
|
-
load 'doc/history.rb'
|
29
|
-
head = @history.first
|
30
|
-
PROJECT_VERSION = head['Version']
|
31
|
-
PROJECT_BIRTHDAY = head['Date']
|
32
|
-
|
33
|
-
|
34
25
|
# utility
|
35
26
|
|
36
27
|
# Returns a temporary, unique path ready for
|
@@ -41,16 +32,10 @@ task :default => :build
|
|
41
32
|
path
|
42
33
|
end
|
43
34
|
|
44
|
-
# uploads the given sources to the given destination URL
|
45
|
-
def upload aDestUrl, *aSources
|
46
|
-
sh 'rsync', '-avz', '--delete', aSources, aDestUrl
|
47
|
-
end
|
48
|
-
|
49
35
|
# propogate cleaning tasks recursively to lower levels
|
50
36
|
%w[clean clobber].each do |t|
|
51
37
|
task t do
|
52
|
-
files = FileList['**/Rakefile'].exclude('_darcs')
|
53
|
-
files.shift # avoid infinite loop on _this_ file
|
38
|
+
files = FileList['**/Rakefile'].exclude('_darcs') - %w[Rakefile]
|
54
39
|
|
55
40
|
# allows propogation to lower levels when gem not installed
|
56
41
|
ENV['RUBYLIB'] = PROJECT_LIBS
|
@@ -63,9 +48,7 @@ task :default => :build
|
|
63
48
|
end
|
64
49
|
end
|
65
50
|
|
66
|
-
|
67
51
|
# extension
|
68
|
-
|
69
52
|
desc "Builds object files for all simulators."
|
70
53
|
task :build
|
71
54
|
|
@@ -75,20 +58,20 @@ task :default => :build
|
|
75
58
|
ccFlags = ENV['CFLAGS']
|
76
59
|
ldFlags = ENV['LDFLAGS']
|
77
60
|
|
78
|
-
SIMULATORS.
|
79
|
-
taskName = "build_#{id}"
|
61
|
+
RubyVPI::SIMULATORS.each do |sim|
|
62
|
+
taskName = "build_#{sim.id}"
|
80
63
|
|
81
64
|
desc "Builds object files for #{sim.name}."
|
82
65
|
task taskName => ['obj', 'ext'] do
|
83
|
-
src =
|
84
|
-
dst = File.expand_path(File.join('obj', "#{id}.so"))
|
66
|
+
src = RubyVPI::Project[:name] + '.' + Config::CONFIG['DLEXT']
|
67
|
+
dst = File.expand_path(File.join('obj', "#{sim.id}.so"))
|
85
68
|
|
86
69
|
unless File.exist? dst
|
87
70
|
cd 'ext' do
|
88
71
|
ENV['CFLAGS'] = [ccFlags, sim.compiler_args].compact.join(' ')
|
89
72
|
ENV['LDFLAGS'] = [ldFlags, sim.linker_args].compact.join(' ')
|
90
73
|
|
91
|
-
sh "rake SIMULATOR=#{id}"
|
74
|
+
sh "rake SIMULATOR=#{sim.id}"
|
92
75
|
mv src, dst
|
93
76
|
sh 'rake clean'
|
94
77
|
end
|
@@ -98,41 +81,88 @@ task :default => :build
|
|
98
81
|
task :build => taskName
|
99
82
|
end
|
100
83
|
|
101
|
-
|
102
84
|
# documentation
|
85
|
+
desc "Build the documentation."
|
86
|
+
task :doc
|
103
87
|
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
sh 'rake'
|
108
|
-
end
|
88
|
+
# the user guide
|
89
|
+
file 'doc/guide.html' => 'doc/guide.erb' do |t|
|
90
|
+
sh "gerbil html #{t.prerequisites} > #{t.name}"
|
109
91
|
end
|
92
|
+
task :doc => 'doc/guide.html'
|
93
|
+
CLOBBER.include 'doc/guide.html'
|
110
94
|
|
95
|
+
# API reference
|
96
|
+
directory 'doc/api'
|
97
|
+
CLOBBER.include 'doc/api'
|
111
98
|
|
112
|
-
|
113
|
-
|
99
|
+
desc "Build API reference."
|
100
|
+
task :ref => ['doc/api/ruby', 'doc/api/c']
|
114
101
|
|
115
|
-
|
116
|
-
|
102
|
+
file DYNAMIC_DOCS => 'ext/vpi_user.h' do |t|
|
103
|
+
File.open t.name, 'w' do |f|
|
104
|
+
f.puts "# This module encapsulates all functionality provided by the C-language Application Programming Interface (API) of the Verilog Procedural Interface (VPI). See the ext/vpi_user.h file for details."
|
105
|
+
f.puts "module VPI"
|
106
|
+
body = File.read(t.prerequisites[0])
|
117
107
|
|
108
|
+
# constants
|
109
|
+
body.scan %r{^#define\s+(vpi\S+)\s+(\S+)\s+/\*+(.*?)\*+/} do |var, val, info|
|
110
|
+
const = var.to_ruby_const_name
|
111
|
+
f.puts '# ' << info
|
112
|
+
f.puts "#{const}=#{val}"
|
118
113
|
|
119
|
-
|
120
|
-
|
114
|
+
f.puts "# Returns the #{const} constant: #{info}"
|
115
|
+
f.puts "def self.#{var}; end"
|
116
|
+
end
|
121
117
|
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
118
|
+
# functions
|
119
|
+
body.scan /^XXTERN\s+(\S+\s+\*?)(\S+)\s+PROTO_PARAMS\(\((.*?)\)\);/m do |type, func, args|
|
120
|
+
meth = func.gsub(/\W/, '')
|
121
|
+
args = args.gsub(/[\r\n]/, ' ')
|
122
|
+
|
123
|
+
[
|
124
|
+
[ /PLI_BYTE8(\s*)\*(\s*data)/ , 'Object\1\2' ],
|
125
|
+
[ /PLI_BYTE8(\s*)\*?/ , 'String\1' ],
|
126
|
+
[ /PLI_U?INT32(\s*)\*/ , 'Array\1' ],
|
127
|
+
[ /PLI_U?INT32/ , 'Integer' ],
|
128
|
+
[ /\b[ps]_/ , 'VPI::S_' ],
|
129
|
+
[ 'vpiHandle' , 'VPI::Handle' ],
|
130
|
+
[ /va_list\s+\w+/ , '...' ],
|
131
|
+
[ /\bvoid(\s*)\*/ , 'Object\1' ],
|
132
|
+
[ 'void' , 'nil' ],
|
133
|
+
].each do |(a, b)|
|
134
|
+
args.gsub! a, b
|
135
|
+
type.gsub! a, b
|
136
|
+
end
|
137
|
+
|
138
|
+
f.puts "# #{func}(#{args}) returns #{type}"
|
139
|
+
f.puts "def self.#{meth}; end"
|
140
|
+
end
|
141
|
+
|
142
|
+
# VPI::Handle methods
|
143
|
+
f.puts "class Handle"
|
144
|
+
require 'lib/ruby-vpi/core/edge-methods.rb'
|
145
|
+
RubyVPI::EdgeClass::DETECTION_METHODS.each do |m|
|
146
|
+
f.puts "# #{m.info}"
|
147
|
+
f.puts "def #{m.name}; end"
|
148
|
+
end
|
149
|
+
f.puts "end"
|
150
|
+
f.puts "end"
|
151
|
+
end
|
128
152
|
end
|
153
|
+
CLOBBER.include DYNAMIC_DOCS
|
129
154
|
|
155
|
+
Rake::RDocTask.new 'doc/api/ruby' do |t|
|
156
|
+
Rake::Task['doc/api'].invoke
|
157
|
+
t.rdoc_dir = t.name
|
130
158
|
|
131
|
-
|
132
|
-
|
159
|
+
Rake::Task[DYNAMIC_DOCS].invoke
|
160
|
+
t.rdoc_files.include 'bin/{ruby-vpi,*.rb}', 'lib/**/*.rb', DYNAMIC_DOCS
|
161
|
+
end
|
133
162
|
|
134
|
-
|
135
|
-
|
163
|
+
|
164
|
+
desc 'Build API reference for C.'
|
165
|
+
file 'doc/api/c' => 'doc/api' do |t|
|
136
166
|
# doxygen outputs to this temporary destination
|
137
167
|
tempDest = 'ext/html'
|
138
168
|
|
@@ -140,67 +170,25 @@ task :default => :build
|
|
140
170
|
sh "doxygen"
|
141
171
|
end
|
142
172
|
|
143
|
-
mv
|
144
|
-
rmdir tempDest
|
145
|
-
end
|
146
|
-
|
147
|
-
|
148
|
-
# distribution
|
149
|
-
|
150
|
-
desc 'Publish documentation to website.'
|
151
|
-
task :web => ['ref/web', 'doc/web']
|
152
|
-
|
153
|
-
desc "Publish reference documentation."
|
154
|
-
task 'ref/web' => 'ref' do |t|
|
155
|
-
upload PROJECT_SSH_URL, *t.prerequisites
|
156
|
-
end
|
157
|
-
|
158
|
-
desc "Publish user documentation."
|
159
|
-
task 'doc/web' => 'doc' do |t|
|
160
|
-
upload PROJECT_SSH_URL, *t.prerequisites
|
161
|
-
end
|
162
|
-
|
163
|
-
desc 'Connect to website FTP.'
|
164
|
-
task :ftp do
|
165
|
-
sh 'lftp', "sftp://#{PROJECT_SSH_URL}"
|
166
|
-
end
|
167
|
-
|
168
|
-
desc 'Generate release announcement.'
|
169
|
-
task :ann => 'doc/history.rb' do |t|
|
170
|
-
require t.prerequisites[0]
|
171
|
-
|
172
|
-
$: << File.join(File.dirname(__FILE__), 'doc', 'lib')
|
173
|
-
require 'doc_proxy'
|
174
|
-
|
175
|
-
text = [
|
176
|
-
PROJECT_DETAIL,
|
177
|
-
"* See #{PROJECT_URL} for details.",
|
178
|
-
"---",
|
179
|
-
@history.first
|
180
|
-
].join "\n\n"
|
181
|
-
|
182
|
-
IO.popen('w3m -T text/html -dump -cols 60', 'w+') do |pipe|
|
183
|
-
pipe.write text.to_html
|
184
|
-
pipe.close_write
|
185
|
-
puts pipe.read
|
186
|
-
end
|
173
|
+
mv tempDest, t.name
|
187
174
|
end
|
188
175
|
|
189
|
-
|
190
176
|
# packaging
|
191
|
-
|
192
|
-
desc "Generate release packages."
|
193
|
-
task :release => [:ref, :doc] do
|
194
|
-
sh 'rake package'
|
195
|
-
end
|
196
|
-
|
197
177
|
spec = Gem::Specification.new do |s|
|
198
|
-
s.name =
|
199
|
-
s.
|
200
|
-
s.summary =
|
201
|
-
s.description =
|
202
|
-
s.homepage =
|
203
|
-
s.
|
178
|
+
s.name = RubyVPI::Project[:name].downcase
|
179
|
+
s.version = RubyVPI::Project[:version]
|
180
|
+
s.summary = "Ruby interface to IEEE 1364-2005 Verilog VPI"
|
181
|
+
s.description = "Ruby-VPI is a #{s.summary} and a platform for unit testing, rapid prototyping, and systems integration of Verilog modules through Ruby. It lets you create complex Verilog test benches easily and wholly in Ruby."
|
182
|
+
s.homepage = RubyVPI::Project[:website]
|
183
|
+
s.rubyforge_project = s.name
|
184
|
+
|
185
|
+
s.files = FileList['**/*'].exclude('_darcs', DYNAMIC_DOCS)
|
186
|
+
s.autorequire = s.name
|
187
|
+
s.extensions << 'gem_extconf.rb'
|
188
|
+
s.executables = s.name
|
189
|
+
|
190
|
+
s.requirements << "POSIX threads library"
|
191
|
+
s.requirements << "C language compiler"
|
204
192
|
|
205
193
|
s.add_dependency 'rake', '>= 0.7.0'
|
206
194
|
s.add_dependency 'rspec', '>= 1.0.0'
|
@@ -208,23 +196,13 @@ task :default => :build
|
|
208
196
|
s.add_dependency 'xx' # needed by rcov
|
209
197
|
s.add_dependency 'ruby-debug', '>= 0.5.2'
|
210
198
|
s.add_dependency 'ruby-prof'
|
211
|
-
|
212
|
-
s.requirements << "POSIX threads library"
|
213
|
-
s.requirements << "C language compiler"
|
214
|
-
|
215
|
-
s.files = FileList['**/*'].exclude('_darcs')
|
216
|
-
s.autorequire = PROJECT_ID
|
217
|
-
s.extensions << 'gem_extconf.rb'
|
218
|
-
s.executables = PROJECT_ID
|
219
199
|
end
|
220
200
|
|
221
201
|
Rake::GemPackageTask.new(spec) do |pkg|
|
222
202
|
pkg.need_tar = true
|
223
203
|
end
|
224
204
|
|
225
|
-
|
226
205
|
# installation
|
227
|
-
|
228
206
|
desc "Configures the gem during installation."
|
229
207
|
task :gem_config_inst do |t|
|
230
208
|
# make documentation available to gem_server
|
@@ -236,8 +214,18 @@ task :default => :build
|
|
236
214
|
ln_s gemDir, File.join(docDir, 'rdoc')
|
237
215
|
end
|
238
216
|
|
217
|
+
# releasing
|
218
|
+
desc 'Build release packages.'
|
219
|
+
task :dist => [:clobber, :doc, :ref] do
|
220
|
+
system 'rake package'
|
221
|
+
end
|
239
222
|
|
240
|
-
#
|
223
|
+
# utility
|
224
|
+
desc 'Upload to project website.'
|
225
|
+
task :upload => [:doc, :ref] do
|
226
|
+
sh "rsync -av doc/ ~/www/lib/#{spec.name}"
|
227
|
+
sh "rsync -av doc/api/ ~/www/lib/#{spec.name}/api/ --delete"
|
228
|
+
end
|
241
229
|
|
242
230
|
desc "Ensure that examples work with $SIMULATOR"
|
243
231
|
task :test => :build do
|
@@ -247,8 +235,6 @@ task :default => :build
|
|
247
235
|
sim = ENV['SIMULATOR'] || 'cver'
|
248
236
|
|
249
237
|
FileList['examples/**/*.rake'].each do |runner|
|
250
|
-
|
251
|
-
sh 'rake', '-f', File.basename(runner), sim
|
252
|
-
end
|
238
|
+
sh 'rake', '-f', runner, sim
|
253
239
|
end
|
254
240
|
end
|
data/TODO
ADDED
@@ -0,0 +1,77 @@
|
|
1
|
+
Pending tasks
|
2
|
+
=============
|
3
|
+
|
4
|
+
* add support for multiple Ruby prototypes so that you can do integration
|
5
|
+
testing and ESL stuff
|
6
|
+
|
7
|
+
* add shortcuts for reading & writing VPI delay values
|
8
|
+
|
9
|
+
* add support for GHDL simulator (and thereby VHDL!) because it supports VPI
|
10
|
+
|
11
|
+
* add instructions for using *ruby-debug* with a graphical debugging tool or IDE
|
12
|
+
like RadRails
|
13
|
+
|
14
|
+
* write section about code coverage and prototyping in manual
|
15
|
+
|
16
|
+
* write unit tests for the non-VPI libraries like integer.rb and float.rb
|
17
|
+
|
18
|
+
|
19
|
+
Finished tasks
|
20
|
+
==============
|
21
|
+
|
22
|
+
* add support for ESL prototyping (like SystemC)
|
23
|
+
|
24
|
+
* decouple code generation with $RUBYLIB and erb
|
25
|
+
|
26
|
+
* change should_be to should_equal in examples
|
27
|
+
|
28
|
+
* add support for GPL Cver in the test runner template
|
29
|
+
|
30
|
+
* build ruby-vpi once to generate all .so files
|
31
|
+
|
32
|
+
* test runner should not rebuild ruby-vpi every time
|
33
|
+
|
34
|
+
* distribute as a GEM, binary, and source
|
35
|
+
|
36
|
+
* use RUBYLIB to bypass rubygems site installation for local testing.
|
37
|
+
otherwise have to build & install gem _every_ time!
|
38
|
+
|
39
|
+
* move stuff from lib/ into lib/ruby-vpi/
|
40
|
+
|
41
|
+
* integrate RCov for code-coverage statistics
|
42
|
+
|
43
|
+
* method_missing for Design class
|
44
|
+
|
45
|
+
* define handled methods in Vpi::method_missing for faster response
|
46
|
+
|
47
|
+
* this has been verified as bottleneck from profiling data
|
48
|
+
|
49
|
+
* make RCov correctly profile the code and report useful coverage metrics...
|
50
|
+
|
51
|
+
* add support for VPI callbacks which execute Ruby blocks
|
52
|
+
|
53
|
+
* write section about code coverage and prototyping in manual
|
54
|
+
|
55
|
+
* clean up the teriminology section... unnecessary
|
56
|
+
|
57
|
+
|
58
|
+
Obsolete tasks
|
59
|
+
==============
|
60
|
+
|
61
|
+
* smarter test generation, which adjusts to user modifications in previously
|
62
|
+
generated output
|
63
|
+
|
64
|
+
Just use a smart merging tool like *kdiff3*.
|
65
|
+
|
66
|
+
* interactive console IRB wrapper for spec (just like Breakpoints in Rails)
|
67
|
+
|
68
|
+
Use the *ruby-debug* library with "*debugger* command for
|
69
|
+
breakpoints":http://www.datanoise.com/articles/category/ruby-debug instead!
|
70
|
+
|
71
|
+
* need to dump signal values when expectation fails in rSpec
|
72
|
+
|
73
|
+
You can use the interactive debugger instead.
|
74
|
+
|
75
|
+
* maybe a waveform dump will also help
|
76
|
+
|
77
|
+
After reading some RTL verification books, this is not necessarily true.
|
data/bin/convert.rb
CHANGED
data/bin/generate/design.rb
CHANGED
@@ -1,15 +1,16 @@
|
|
1
1
|
<% clock = aModuleInfo.clock_port.name rescue "YOUR_CLOCK_SIGNAL_HERE" %>
|
2
2
|
# Simulates the design under test for one clock cycle.
|
3
|
-
def cycle!
|
3
|
+
def DUT.cycle!
|
4
4
|
<%= clock %>.high!
|
5
5
|
advance_time
|
6
|
+
|
6
7
|
<%= clock %>.low!
|
7
8
|
advance_time
|
8
9
|
end
|
9
10
|
|
10
11
|
<% reset = aModuleInfo.reset_port.name rescue "YOUR_RESET_SIGNAL_HERE" %>
|
11
12
|
# Brings the design under test into a blank state.
|
12
|
-
def reset!
|
13
|
+
def DUT.reset!
|
13
14
|
<%= reset %>.high!
|
14
15
|
cycle!
|
15
16
|
<%= reset %>.low!
|
@@ -0,0 +1 @@
|
|
1
|
+
RubyVPI.load_test(<%= aModuleInfo.name.inspect %>, <%= aOutputInfo.designPath.inspect %>, <%= aOutputInfo.protoPath.inspect %>, <%= aOutputInfo.specPath.inspect %>)
|
data/bin/generate/proto.rb
CHANGED
@@ -1,18 +1,20 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
if RubyVPI::USE_PROTOTYPE
|
2
|
+
always do
|
3
|
+
wait until DUT.<%= aModuleInfo.clock_port.name rescue "YOUR_CLOCK_SIGNAL_HERE" %>.posedge?
|
3
4
|
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
5
|
+
# discard old outputs
|
6
|
+
<% aModuleInfo.output_ports.each do |port| %>
|
7
|
+
DUT.<%= port.name %>.x!
|
8
|
+
<% end %>
|
8
9
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
10
|
+
# process new inputs
|
11
|
+
<% aModuleInfo.input_ports.each do |port| %>
|
12
|
+
# some_interesting_process( DUT.<%= port.name %> )
|
13
|
+
<% end %>
|
13
14
|
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
15
|
+
# produce new outputs
|
16
|
+
<% aModuleInfo.output_ports.each do |port| %>
|
17
|
+
# DUT.<%= port.name %> = some interesting output
|
18
|
+
<% end %>
|
19
|
+
end
|
18
20
|
end
|
data/bin/generate/runner.rake
CHANGED
@@ -1,3 +1,8 @@
|
|
1
|
+
# Path to a Ruby script that will be invoked before the Verilog
|
2
|
+
# simulation begins. This script shall then load the appropriate
|
3
|
+
# tests to exercise the desired designs in the Verilog simulation.
|
4
|
+
TEST_LOADER = <%= aOutputInfo.loaderPath.inspect %>
|
5
|
+
|
1
6
|
# Array of paths and shell globs (see the Dir.glob method's documentation for
|
2
7
|
# details) to source files and directories that contain source files. These
|
3
8
|
# source files will be loaded by the simulator before the simulation begins.
|
@@ -13,9 +18,9 @@ SIMULATOR_SOURCES = FileList[
|
|
13
18
|
# :cver => %w[these are also separate arguments],
|
14
19
|
#
|
15
20
|
SIMULATOR_ARGUMENTS = {
|
16
|
-
<% RubyVPI::SIMULATORS.
|
21
|
+
<% RubyVPI::SIMULATORS.each do |sim| %>
|
17
22
|
# <%= sim.name %>
|
18
|
-
:<%= id %> => "",
|
23
|
+
:<%= sim.id %> => "<%= aModuleInfo.name if sim.id == :vsim %>",
|
19
24
|
|
20
25
|
<% end %>
|
21
26
|
}
|
@@ -29,5 +34,5 @@ task :setup do
|
|
29
34
|
end
|
30
35
|
|
31
36
|
# This command loads the Ruby-VPI runner template,
|
32
|
-
# which
|
37
|
+
# which starts the simulator with the above parameters.
|
33
38
|
require 'ruby-vpi/runner'
|
data/bin/generate/spec.rb
CHANGED
@@ -1,45 +1,43 @@
|
|
1
|
-
<% dut = aOutputInfo.designClassName %>
|
2
|
-
|
3
1
|
<% case aOutputInfo.specFormat %>
|
4
2
|
<% when :xUnit %>
|
5
3
|
require 'test/unit'
|
6
4
|
|
7
|
-
class <%=
|
5
|
+
class A_<%= aModuleInfo.name %>_when_reset < Test::Unit::TestCase
|
8
6
|
def setup
|
9
|
-
|
7
|
+
DUT.reset!
|
10
8
|
end
|
11
9
|
<% aModuleInfo.ports.each do |port| %>
|
12
10
|
|
13
11
|
def test_<%= port.name %>
|
14
|
-
# assert
|
12
|
+
# assert DUT.<%= port.name %> ..., "<%= port.name %> should ..."
|
15
13
|
end
|
16
14
|
<% end %>
|
17
15
|
end
|
18
16
|
<% when :tSpec %>
|
19
17
|
require 'test/spec'
|
20
18
|
|
21
|
-
context "A
|
19
|
+
context "A #{DUT.name}, when reset" do
|
22
20
|
setup do
|
23
|
-
|
21
|
+
DUT.reset!
|
24
22
|
end
|
25
23
|
|
26
24
|
specify "should ..." do
|
27
|
-
#
|
25
|
+
# DUT.should ...
|
28
26
|
end
|
29
27
|
end
|
30
28
|
<% when :rSpec %>
|
31
29
|
require 'spec'
|
32
30
|
|
33
|
-
describe
|
31
|
+
describe "A #{DUT.name}, when reset" do
|
34
32
|
before do
|
35
|
-
|
33
|
+
DUT.reset!
|
36
34
|
end
|
37
35
|
|
38
36
|
it "should ..." do
|
39
|
-
#
|
37
|
+
# DUT.should ...
|
40
38
|
end
|
41
39
|
end
|
42
40
|
<% else %>
|
43
|
-
|
44
|
-
# raise "should ..." unless
|
41
|
+
DUT.reset!
|
42
|
+
# raise "should ..." unless DUT ...
|
45
43
|
<% end %>
|