ruby-vpi 20.0.0 → 21.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.
Files changed (686) hide show
  1. data/LICENSE +2 -2
  2. data/Rakefile +2 -3
  3. data/bin/generate/runner.rake +1 -1
  4. data/doc/README +9 -0
  5. data/doc/Rakefile +21 -0
  6. data/doc/api/c/annotated.html +1 -1
  7. data/doc/api/c/binding_8c.html +76 -0
  8. data/doc/api/c/binding_8h.html +76 -0
  9. data/doc/api/c/files.html +9 -8
  10. data/doc/api/c/functions.html +1 -1
  11. data/doc/api/c/functions_vars.html +1 -1
  12. data/doc/api/c/globals.html +61 -11
  13. data/doc/api/c/globals_0x65.html +2 -8
  14. data/doc/api/c/globals_0x70.html +2 -8
  15. data/doc/api/c/globals_0x72.html +45 -25
  16. data/doc/api/c/globals_0x76.html +6 -35
  17. data/doc/api/c/globals_0x78.html +2 -8
  18. data/doc/api/c/globals_defs.html +2 -9
  19. data/doc/api/c/globals_defs_0x65.html +2 -3
  20. data/doc/api/c/globals_defs_0x70.html +2 -3
  21. data/doc/api/c/{globals_enum.html → globals_defs_0x72.html} +25 -7
  22. data/doc/api/c/globals_defs_0x76.html +4 -19
  23. data/doc/api/c/globals_defs_0x78.html +2 -3
  24. data/doc/api/c/globals_func.html +32 -37
  25. data/doc/api/c/globals_type.html +1 -3
  26. data/doc/api/c/globals_vars.html +5 -13
  27. data/doc/api/c/host_8c.html +93 -0
  28. data/doc/api/c/host_8h.html +69 -0
  29. data/doc/api/c/index.html +1 -1
  30. data/doc/api/c/main_8c.html +35 -33
  31. data/doc/api/c/structs__cb__data.html +1 -1
  32. data/doc/api/c/structs__vpi__delay.html +1 -1
  33. data/doc/api/c/structs__vpi__error__info.html +1 -1
  34. data/doc/api/c/structs__vpi__strengthval.html +1 -1
  35. data/doc/api/c/structs__vpi__systf__data.html +1 -1
  36. data/doc/api/c/structs__vpi__time.html +1 -1
  37. data/doc/api/c/structs__vpi__value.html +1 -1
  38. data/doc/api/c/structs__vpi__vecval.html +1 -1
  39. data/doc/api/c/structs__vpi__vlog__info.html +1 -1
  40. data/doc/api/c/user_8c.html +170 -0
  41. data/doc/api/c/user_8h.html +98 -0
  42. data/doc/api/c/util_8h.html +171 -0
  43. data/doc/api/c/verilog_8h.html +2 -158
  44. data/doc/api/c/vpi__user_8h.html +1 -1
  45. data/doc/api/ruby/classes/ERB.html +5 -5
  46. data/doc/api/ruby/classes/ERB.src/{M000025.html → M000026.html} +0 -0
  47. data/doc/api/ruby/classes/FileUtils.html +6 -6
  48. data/doc/api/ruby/classes/FileUtils.src/{M000026.html → M000027.html} +0 -0
  49. data/doc/api/ruby/classes/Float.html +6 -6
  50. data/doc/api/ruby/classes/Float.src/{M000020.html → M000021.html} +0 -0
  51. data/doc/api/ruby/classes/Integer.html +65 -65
  52. data/doc/api/ruby/classes/Integer.src/M000009.html +11 -4
  53. data/doc/api/ruby/classes/Integer.src/M000010.html +4 -4
  54. data/doc/api/ruby/classes/Integer.src/M000011.html +4 -4
  55. data/doc/api/ruby/classes/Integer.src/M000012.html +4 -4
  56. data/doc/api/ruby/classes/Integer.src/M000013.html +4 -4
  57. data/doc/api/ruby/classes/Integer.src/M000014.html +18 -0
  58. data/doc/api/ruby/classes/Integer.src/M000017.html +5 -11
  59. data/doc/api/ruby/classes/Integer.src/M000018.html +14 -8
  60. data/doc/api/ruby/classes/Integer.src/M000019.html +8 -13
  61. data/doc/api/ruby/classes/Integer.src/M000020.html +30 -0
  62. data/doc/api/ruby/classes/Kernel.html +143 -0
  63. data/doc/api/ruby/classes/Object.html +5 -0
  64. data/doc/api/ruby/classes/RDoc.html +5 -5
  65. data/doc/api/ruby/classes/RDoc.src/{M000541.html → M000546.html} +0 -0
  66. data/doc/api/ruby/classes/RubyVPI.html +148 -17
  67. data/doc/api/ruby/classes/RubyVPI.src/M000028.html +19 -0
  68. data/doc/api/ruby/classes/RubyVPI.src/M000029.html +19 -0
  69. data/doc/api/ruby/classes/RubyVPI.src/M000030.html +18 -0
  70. data/doc/api/ruby/classes/RubyVPI.src/M000031.html +18 -0
  71. data/doc/api/ruby/classes/RubyVPI.src/{M000027.html → M000032.html} +9 -1
  72. data/doc/api/ruby/classes/RubyVPI/SIMULATORS.html +5 -5
  73. data/doc/api/ruby/classes/RubyVPI/SIMULATORS.src/{M000028.html → M000033.html} +0 -0
  74. data/doc/api/ruby/classes/String.html +20 -20
  75. data/doc/api/ruby/classes/String.src/M000022.html +22 -4
  76. data/doc/api/ruby/classes/String.src/M000023.html +4 -4
  77. data/doc/api/ruby/classes/String.src/M000024.html +4 -27
  78. data/doc/api/ruby/classes/String.src/M000025.html +41 -0
  79. data/doc/api/ruby/classes/VPI.html +2066 -2066
  80. data/doc/api/ruby/classes/VPI.src/M000034.html +5 -12
  81. data/doc/api/ruby/classes/VPI.src/{M000030.html → M000035.html} +1 -1
  82. data/doc/api/ruby/classes/VPI.src/M000036.html +6 -3
  83. data/doc/api/ruby/classes/VPI.src/M000038.html +12 -3
  84. data/doc/api/ruby/classes/VPI.src/M000039.html +13 -3
  85. data/doc/api/ruby/classes/VPI.src/M000041.html +3 -3
  86. data/doc/api/ruby/classes/VPI.src/M000042.html +3 -3
  87. data/doc/api/ruby/classes/VPI.src/M000043.html +3 -3
  88. data/doc/api/ruby/classes/VPI.src/M000044.html +3 -3
  89. data/doc/api/ruby/classes/VPI.src/M000045.html +3 -3
  90. data/doc/api/ruby/classes/VPI.src/M000046.html +3 -3
  91. data/doc/api/ruby/classes/VPI.src/M000047.html +3 -3
  92. data/doc/api/ruby/classes/VPI.src/M000048.html +3 -3
  93. data/doc/api/ruby/classes/VPI.src/M000049.html +3 -3
  94. data/doc/api/ruby/classes/VPI.src/M000050.html +3 -3
  95. data/doc/api/ruby/classes/VPI.src/M000051.html +3 -3
  96. data/doc/api/ruby/classes/VPI.src/M000052.html +3 -3
  97. data/doc/api/ruby/classes/VPI.src/M000053.html +3 -3
  98. data/doc/api/ruby/classes/VPI.src/M000054.html +3 -3
  99. data/doc/api/ruby/classes/VPI.src/M000055.html +3 -3
  100. data/doc/api/ruby/classes/VPI.src/M000056.html +3 -3
  101. data/doc/api/ruby/classes/VPI.src/M000057.html +3 -3
  102. data/doc/api/ruby/classes/VPI.src/M000058.html +3 -3
  103. data/doc/api/ruby/classes/VPI.src/M000059.html +3 -3
  104. data/doc/api/ruby/classes/VPI.src/M000060.html +3 -3
  105. data/doc/api/ruby/classes/VPI.src/M000061.html +3 -3
  106. data/doc/api/ruby/classes/VPI.src/M000062.html +3 -3
  107. data/doc/api/ruby/classes/VPI.src/M000063.html +3 -3
  108. data/doc/api/ruby/classes/VPI.src/M000064.html +3 -3
  109. data/doc/api/ruby/classes/VPI.src/M000065.html +3 -3
  110. data/doc/api/ruby/classes/VPI.src/M000066.html +3 -3
  111. data/doc/api/ruby/classes/VPI.src/M000067.html +3 -3
  112. data/doc/api/ruby/classes/VPI.src/M000068.html +3 -3
  113. data/doc/api/ruby/classes/VPI.src/M000069.html +3 -3
  114. data/doc/api/ruby/classes/VPI.src/M000070.html +3 -3
  115. data/doc/api/ruby/classes/VPI.src/M000071.html +3 -3
  116. data/doc/api/ruby/classes/VPI.src/M000072.html +3 -3
  117. data/doc/api/ruby/classes/VPI.src/M000073.html +3 -3
  118. data/doc/api/ruby/classes/VPI.src/M000074.html +3 -3
  119. data/doc/api/ruby/classes/VPI.src/M000075.html +3 -3
  120. data/doc/api/ruby/classes/VPI.src/M000076.html +3 -3
  121. data/doc/api/ruby/classes/VPI.src/M000077.html +3 -3
  122. data/doc/api/ruby/classes/VPI.src/M000078.html +3 -3
  123. data/doc/api/ruby/classes/VPI.src/M000079.html +3 -3
  124. data/doc/api/ruby/classes/VPI.src/M000080.html +3 -3
  125. data/doc/api/ruby/classes/VPI.src/M000081.html +3 -3
  126. data/doc/api/ruby/classes/VPI.src/M000082.html +3 -3
  127. data/doc/api/ruby/classes/VPI.src/M000083.html +3 -3
  128. data/doc/api/ruby/classes/VPI.src/M000084.html +3 -3
  129. data/doc/api/ruby/classes/VPI.src/M000085.html +3 -3
  130. data/doc/api/ruby/classes/VPI.src/M000086.html +3 -3
  131. data/doc/api/ruby/classes/VPI.src/M000087.html +3 -3
  132. data/doc/api/ruby/classes/VPI.src/M000088.html +3 -3
  133. data/doc/api/ruby/classes/VPI.src/M000089.html +3 -3
  134. data/doc/api/ruby/classes/VPI.src/M000090.html +3 -3
  135. data/doc/api/ruby/classes/VPI.src/M000091.html +3 -3
  136. data/doc/api/ruby/classes/VPI.src/M000092.html +3 -3
  137. data/doc/api/ruby/classes/VPI.src/M000093.html +3 -3
  138. data/doc/api/ruby/classes/VPI.src/M000094.html +3 -3
  139. data/doc/api/ruby/classes/VPI.src/M000095.html +3 -3
  140. data/doc/api/ruby/classes/VPI.src/M000096.html +3 -3
  141. data/doc/api/ruby/classes/VPI.src/M000097.html +3 -3
  142. data/doc/api/ruby/classes/VPI.src/M000098.html +3 -3
  143. data/doc/api/ruby/classes/VPI.src/M000099.html +3 -3
  144. data/doc/api/ruby/classes/VPI.src/M000100.html +3 -3
  145. data/doc/api/ruby/classes/VPI.src/M000101.html +3 -3
  146. data/doc/api/ruby/classes/VPI.src/M000102.html +3 -3
  147. data/doc/api/ruby/classes/VPI.src/M000103.html +3 -3
  148. data/doc/api/ruby/classes/VPI.src/M000104.html +3 -3
  149. data/doc/api/ruby/classes/VPI.src/M000105.html +3 -3
  150. data/doc/api/ruby/classes/VPI.src/M000106.html +3 -3
  151. data/doc/api/ruby/classes/VPI.src/M000107.html +3 -3
  152. data/doc/api/ruby/classes/VPI.src/M000108.html +3 -3
  153. data/doc/api/ruby/classes/VPI.src/M000109.html +3 -3
  154. data/doc/api/ruby/classes/VPI.src/M000110.html +3 -3
  155. data/doc/api/ruby/classes/VPI.src/M000111.html +3 -3
  156. data/doc/api/ruby/classes/VPI.src/M000112.html +3 -3
  157. data/doc/api/ruby/classes/VPI.src/M000113.html +3 -3
  158. data/doc/api/ruby/classes/VPI.src/M000114.html +3 -3
  159. data/doc/api/ruby/classes/VPI.src/M000115.html +3 -3
  160. data/doc/api/ruby/classes/VPI.src/M000116.html +3 -3
  161. data/doc/api/ruby/classes/VPI.src/M000117.html +3 -3
  162. data/doc/api/ruby/classes/VPI.src/M000118.html +3 -3
  163. data/doc/api/ruby/classes/VPI.src/M000119.html +3 -3
  164. data/doc/api/ruby/classes/VPI.src/M000120.html +3 -3
  165. data/doc/api/ruby/classes/VPI.src/M000121.html +3 -3
  166. data/doc/api/ruby/classes/VPI.src/M000122.html +3 -3
  167. data/doc/api/ruby/classes/VPI.src/M000123.html +3 -3
  168. data/doc/api/ruby/classes/VPI.src/M000124.html +3 -3
  169. data/doc/api/ruby/classes/VPI.src/M000125.html +3 -3
  170. data/doc/api/ruby/classes/VPI.src/M000126.html +3 -3
  171. data/doc/api/ruby/classes/VPI.src/M000127.html +3 -3
  172. data/doc/api/ruby/classes/VPI.src/M000128.html +3 -3
  173. data/doc/api/ruby/classes/VPI.src/M000129.html +3 -3
  174. data/doc/api/ruby/classes/VPI.src/M000130.html +3 -3
  175. data/doc/api/ruby/classes/VPI.src/M000131.html +3 -3
  176. data/doc/api/ruby/classes/VPI.src/M000132.html +3 -3
  177. data/doc/api/ruby/classes/VPI.src/M000133.html +3 -3
  178. data/doc/api/ruby/classes/VPI.src/M000134.html +3 -3
  179. data/doc/api/ruby/classes/VPI.src/M000135.html +3 -3
  180. data/doc/api/ruby/classes/VPI.src/M000136.html +3 -3
  181. data/doc/api/ruby/classes/VPI.src/M000137.html +3 -3
  182. data/doc/api/ruby/classes/VPI.src/M000138.html +3 -3
  183. data/doc/api/ruby/classes/VPI.src/M000139.html +3 -3
  184. data/doc/api/ruby/classes/VPI.src/M000140.html +3 -3
  185. data/doc/api/ruby/classes/VPI.src/M000141.html +3 -3
  186. data/doc/api/ruby/classes/VPI.src/M000142.html +3 -3
  187. data/doc/api/ruby/classes/VPI.src/M000143.html +3 -3
  188. data/doc/api/ruby/classes/VPI.src/M000144.html +3 -3
  189. data/doc/api/ruby/classes/VPI.src/M000145.html +3 -3
  190. data/doc/api/ruby/classes/VPI.src/M000146.html +3 -3
  191. data/doc/api/ruby/classes/VPI.src/M000147.html +3 -3
  192. data/doc/api/ruby/classes/VPI.src/M000148.html +3 -3
  193. data/doc/api/ruby/classes/VPI.src/M000149.html +3 -3
  194. data/doc/api/ruby/classes/VPI.src/M000150.html +3 -3
  195. data/doc/api/ruby/classes/VPI.src/M000151.html +3 -3
  196. data/doc/api/ruby/classes/VPI.src/M000152.html +3 -3
  197. data/doc/api/ruby/classes/VPI.src/M000153.html +3 -3
  198. data/doc/api/ruby/classes/VPI.src/M000154.html +3 -3
  199. data/doc/api/ruby/classes/VPI.src/M000155.html +3 -3
  200. data/doc/api/ruby/classes/VPI.src/M000156.html +3 -3
  201. data/doc/api/ruby/classes/VPI.src/M000157.html +3 -3
  202. data/doc/api/ruby/classes/VPI.src/M000158.html +3 -3
  203. data/doc/api/ruby/classes/VPI.src/M000159.html +3 -3
  204. data/doc/api/ruby/classes/VPI.src/M000160.html +3 -3
  205. data/doc/api/ruby/classes/VPI.src/M000161.html +3 -3
  206. data/doc/api/ruby/classes/VPI.src/M000162.html +3 -3
  207. data/doc/api/ruby/classes/VPI.src/M000163.html +3 -3
  208. data/doc/api/ruby/classes/VPI.src/M000164.html +3 -3
  209. data/doc/api/ruby/classes/VPI.src/M000165.html +3 -3
  210. data/doc/api/ruby/classes/VPI.src/M000166.html +3 -3
  211. data/doc/api/ruby/classes/VPI.src/M000167.html +3 -3
  212. data/doc/api/ruby/classes/VPI.src/M000168.html +3 -3
  213. data/doc/api/ruby/classes/VPI.src/M000169.html +3 -3
  214. data/doc/api/ruby/classes/VPI.src/M000170.html +3 -3
  215. data/doc/api/ruby/classes/VPI.src/M000171.html +3 -3
  216. data/doc/api/ruby/classes/VPI.src/M000172.html +3 -3
  217. data/doc/api/ruby/classes/VPI.src/M000173.html +3 -3
  218. data/doc/api/ruby/classes/VPI.src/M000174.html +3 -3
  219. data/doc/api/ruby/classes/VPI.src/M000175.html +3 -3
  220. data/doc/api/ruby/classes/VPI.src/M000176.html +3 -3
  221. data/doc/api/ruby/classes/VPI.src/M000177.html +3 -3
  222. data/doc/api/ruby/classes/VPI.src/M000178.html +3 -3
  223. data/doc/api/ruby/classes/VPI.src/M000179.html +3 -3
  224. data/doc/api/ruby/classes/VPI.src/M000180.html +3 -3
  225. data/doc/api/ruby/classes/VPI.src/M000181.html +3 -3
  226. data/doc/api/ruby/classes/VPI.src/M000182.html +3 -3
  227. data/doc/api/ruby/classes/VPI.src/M000183.html +3 -3
  228. data/doc/api/ruby/classes/VPI.src/M000184.html +3 -3
  229. data/doc/api/ruby/classes/VPI.src/M000185.html +3 -3
  230. data/doc/api/ruby/classes/VPI.src/M000186.html +3 -3
  231. data/doc/api/ruby/classes/VPI.src/M000187.html +3 -3
  232. data/doc/api/ruby/classes/VPI.src/M000188.html +3 -3
  233. data/doc/api/ruby/classes/VPI.src/M000189.html +3 -3
  234. data/doc/api/ruby/classes/VPI.src/M000190.html +3 -3
  235. data/doc/api/ruby/classes/VPI.src/M000191.html +3 -3
  236. data/doc/api/ruby/classes/VPI.src/M000192.html +3 -3
  237. data/doc/api/ruby/classes/VPI.src/M000193.html +3 -3
  238. data/doc/api/ruby/classes/VPI.src/M000194.html +3 -3
  239. data/doc/api/ruby/classes/VPI.src/M000195.html +3 -3
  240. data/doc/api/ruby/classes/VPI.src/M000196.html +3 -3
  241. data/doc/api/ruby/classes/VPI.src/M000197.html +3 -3
  242. data/doc/api/ruby/classes/VPI.src/M000198.html +3 -3
  243. data/doc/api/ruby/classes/VPI.src/M000199.html +3 -3
  244. data/doc/api/ruby/classes/VPI.src/M000200.html +3 -3
  245. data/doc/api/ruby/classes/VPI.src/M000201.html +3 -3
  246. data/doc/api/ruby/classes/VPI.src/M000202.html +3 -3
  247. data/doc/api/ruby/classes/VPI.src/M000203.html +3 -3
  248. data/doc/api/ruby/classes/VPI.src/M000204.html +3 -3
  249. data/doc/api/ruby/classes/VPI.src/M000205.html +3 -3
  250. data/doc/api/ruby/classes/VPI.src/M000206.html +3 -3
  251. data/doc/api/ruby/classes/VPI.src/M000207.html +3 -3
  252. data/doc/api/ruby/classes/VPI.src/M000208.html +3 -3
  253. data/doc/api/ruby/classes/VPI.src/M000209.html +3 -3
  254. data/doc/api/ruby/classes/VPI.src/M000210.html +3 -3
  255. data/doc/api/ruby/classes/VPI.src/M000211.html +3 -3
  256. data/doc/api/ruby/classes/VPI.src/M000212.html +3 -3
  257. data/doc/api/ruby/classes/VPI.src/M000213.html +3 -3
  258. data/doc/api/ruby/classes/VPI.src/M000214.html +3 -3
  259. data/doc/api/ruby/classes/VPI.src/M000215.html +3 -3
  260. data/doc/api/ruby/classes/VPI.src/M000216.html +3 -3
  261. data/doc/api/ruby/classes/VPI.src/M000217.html +3 -3
  262. data/doc/api/ruby/classes/VPI.src/M000218.html +3 -3
  263. data/doc/api/ruby/classes/VPI.src/M000219.html +3 -3
  264. data/doc/api/ruby/classes/VPI.src/M000220.html +3 -3
  265. data/doc/api/ruby/classes/VPI.src/M000221.html +3 -3
  266. data/doc/api/ruby/classes/VPI.src/M000222.html +3 -3
  267. data/doc/api/ruby/classes/VPI.src/M000223.html +3 -3
  268. data/doc/api/ruby/classes/VPI.src/M000224.html +3 -3
  269. data/doc/api/ruby/classes/VPI.src/M000225.html +3 -3
  270. data/doc/api/ruby/classes/VPI.src/M000226.html +3 -3
  271. data/doc/api/ruby/classes/VPI.src/M000227.html +3 -3
  272. data/doc/api/ruby/classes/VPI.src/M000228.html +3 -3
  273. data/doc/api/ruby/classes/VPI.src/M000229.html +3 -3
  274. data/doc/api/ruby/classes/VPI.src/M000230.html +3 -3
  275. data/doc/api/ruby/classes/VPI.src/M000231.html +3 -3
  276. data/doc/api/ruby/classes/VPI.src/M000232.html +3 -3
  277. data/doc/api/ruby/classes/VPI.src/M000233.html +3 -3
  278. data/doc/api/ruby/classes/VPI.src/M000234.html +3 -3
  279. data/doc/api/ruby/classes/VPI.src/M000235.html +3 -3
  280. data/doc/api/ruby/classes/VPI.src/M000236.html +3 -3
  281. data/doc/api/ruby/classes/VPI.src/M000237.html +3 -3
  282. data/doc/api/ruby/classes/VPI.src/M000238.html +3 -3
  283. data/doc/api/ruby/classes/VPI.src/M000239.html +3 -3
  284. data/doc/api/ruby/classes/VPI.src/M000240.html +3 -3
  285. data/doc/api/ruby/classes/VPI.src/M000241.html +3 -3
  286. data/doc/api/ruby/classes/VPI.src/M000242.html +3 -3
  287. data/doc/api/ruby/classes/VPI.src/M000243.html +3 -3
  288. data/doc/api/ruby/classes/VPI.src/M000244.html +3 -3
  289. data/doc/api/ruby/classes/VPI.src/M000245.html +3 -3
  290. data/doc/api/ruby/classes/VPI.src/M000246.html +3 -3
  291. data/doc/api/ruby/classes/VPI.src/M000247.html +3 -3
  292. data/doc/api/ruby/classes/VPI.src/M000248.html +3 -3
  293. data/doc/api/ruby/classes/VPI.src/M000249.html +3 -3
  294. data/doc/api/ruby/classes/VPI.src/M000250.html +3 -3
  295. data/doc/api/ruby/classes/VPI.src/M000251.html +3 -3
  296. data/doc/api/ruby/classes/VPI.src/M000252.html +3 -3
  297. data/doc/api/ruby/classes/VPI.src/M000253.html +3 -3
  298. data/doc/api/ruby/classes/VPI.src/M000254.html +3 -3
  299. data/doc/api/ruby/classes/VPI.src/M000255.html +3 -3
  300. data/doc/api/ruby/classes/VPI.src/M000256.html +3 -3
  301. data/doc/api/ruby/classes/VPI.src/M000257.html +3 -3
  302. data/doc/api/ruby/classes/VPI.src/M000258.html +3 -3
  303. data/doc/api/ruby/classes/VPI.src/M000259.html +3 -3
  304. data/doc/api/ruby/classes/VPI.src/M000260.html +3 -3
  305. data/doc/api/ruby/classes/VPI.src/M000261.html +3 -3
  306. data/doc/api/ruby/classes/VPI.src/M000262.html +3 -3
  307. data/doc/api/ruby/classes/VPI.src/M000263.html +3 -3
  308. data/doc/api/ruby/classes/VPI.src/M000264.html +3 -3
  309. data/doc/api/ruby/classes/VPI.src/M000265.html +3 -3
  310. data/doc/api/ruby/classes/VPI.src/M000266.html +3 -3
  311. data/doc/api/ruby/classes/VPI.src/M000267.html +3 -3
  312. data/doc/api/ruby/classes/VPI.src/M000268.html +3 -3
  313. data/doc/api/ruby/classes/VPI.src/M000269.html +3 -3
  314. data/doc/api/ruby/classes/VPI.src/M000270.html +3 -3
  315. data/doc/api/ruby/classes/VPI.src/M000271.html +3 -3
  316. data/doc/api/ruby/classes/VPI.src/M000272.html +3 -3
  317. data/doc/api/ruby/classes/VPI.src/M000273.html +3 -3
  318. data/doc/api/ruby/classes/VPI.src/M000274.html +3 -3
  319. data/doc/api/ruby/classes/VPI.src/M000275.html +3 -3
  320. data/doc/api/ruby/classes/VPI.src/M000276.html +3 -3
  321. data/doc/api/ruby/classes/VPI.src/M000277.html +3 -3
  322. data/doc/api/ruby/classes/VPI.src/M000278.html +3 -3
  323. data/doc/api/ruby/classes/VPI.src/M000279.html +3 -3
  324. data/doc/api/ruby/classes/VPI.src/M000280.html +3 -3
  325. data/doc/api/ruby/classes/VPI.src/M000281.html +3 -3
  326. data/doc/api/ruby/classes/VPI.src/M000282.html +3 -3
  327. data/doc/api/ruby/classes/VPI.src/M000283.html +3 -3
  328. data/doc/api/ruby/classes/VPI.src/M000284.html +3 -3
  329. data/doc/api/ruby/classes/VPI.src/M000285.html +3 -3
  330. data/doc/api/ruby/classes/VPI.src/M000286.html +3 -3
  331. data/doc/api/ruby/classes/VPI.src/M000287.html +3 -3
  332. data/doc/api/ruby/classes/VPI.src/M000288.html +3 -3
  333. data/doc/api/ruby/classes/VPI.src/M000289.html +3 -3
  334. data/doc/api/ruby/classes/VPI.src/M000290.html +3 -3
  335. data/doc/api/ruby/classes/VPI.src/M000291.html +3 -3
  336. data/doc/api/ruby/classes/VPI.src/M000292.html +3 -3
  337. data/doc/api/ruby/classes/VPI.src/M000293.html +3 -3
  338. data/doc/api/ruby/classes/VPI.src/M000294.html +3 -3
  339. data/doc/api/ruby/classes/VPI.src/M000295.html +3 -3
  340. data/doc/api/ruby/classes/VPI.src/M000296.html +3 -3
  341. data/doc/api/ruby/classes/VPI.src/M000297.html +3 -3
  342. data/doc/api/ruby/classes/VPI.src/M000298.html +3 -3
  343. data/doc/api/ruby/classes/VPI.src/M000299.html +3 -3
  344. data/doc/api/ruby/classes/VPI.src/M000300.html +3 -3
  345. data/doc/api/ruby/classes/VPI.src/M000301.html +3 -3
  346. data/doc/api/ruby/classes/VPI.src/M000302.html +3 -3
  347. data/doc/api/ruby/classes/VPI.src/M000303.html +3 -3
  348. data/doc/api/ruby/classes/VPI.src/M000304.html +3 -3
  349. data/doc/api/ruby/classes/VPI.src/M000305.html +3 -3
  350. data/doc/api/ruby/classes/VPI.src/M000306.html +3 -3
  351. data/doc/api/ruby/classes/VPI.src/M000307.html +3 -3
  352. data/doc/api/ruby/classes/VPI.src/M000308.html +3 -3
  353. data/doc/api/ruby/classes/VPI.src/M000309.html +3 -3
  354. data/doc/api/ruby/classes/VPI.src/M000310.html +3 -3
  355. data/doc/api/ruby/classes/VPI.src/M000311.html +3 -3
  356. data/doc/api/ruby/classes/VPI.src/M000312.html +3 -3
  357. data/doc/api/ruby/classes/VPI.src/M000313.html +3 -3
  358. data/doc/api/ruby/classes/VPI.src/M000314.html +3 -3
  359. data/doc/api/ruby/classes/VPI.src/M000315.html +3 -3
  360. data/doc/api/ruby/classes/VPI.src/M000316.html +3 -3
  361. data/doc/api/ruby/classes/VPI.src/M000317.html +3 -3
  362. data/doc/api/ruby/classes/VPI.src/M000318.html +3 -3
  363. data/doc/api/ruby/classes/VPI.src/M000319.html +3 -3
  364. data/doc/api/ruby/classes/VPI.src/M000320.html +3 -3
  365. data/doc/api/ruby/classes/VPI.src/M000321.html +3 -3
  366. data/doc/api/ruby/classes/VPI.src/M000322.html +3 -3
  367. data/doc/api/ruby/classes/VPI.src/M000323.html +3 -3
  368. data/doc/api/ruby/classes/VPI.src/M000324.html +3 -3
  369. data/doc/api/ruby/classes/VPI.src/M000325.html +3 -3
  370. data/doc/api/ruby/classes/VPI.src/M000326.html +3 -3
  371. data/doc/api/ruby/classes/VPI.src/M000327.html +3 -3
  372. data/doc/api/ruby/classes/VPI.src/M000328.html +3 -3
  373. data/doc/api/ruby/classes/VPI.src/M000329.html +3 -3
  374. data/doc/api/ruby/classes/VPI.src/M000330.html +3 -3
  375. data/doc/api/ruby/classes/VPI.src/M000331.html +3 -3
  376. data/doc/api/ruby/classes/VPI.src/M000332.html +3 -3
  377. data/doc/api/ruby/classes/VPI.src/M000333.html +3 -3
  378. data/doc/api/ruby/classes/VPI.src/M000334.html +3 -3
  379. data/doc/api/ruby/classes/VPI.src/M000335.html +3 -3
  380. data/doc/api/ruby/classes/VPI.src/M000336.html +3 -3
  381. data/doc/api/ruby/classes/VPI.src/M000337.html +3 -3
  382. data/doc/api/ruby/classes/VPI.src/M000338.html +3 -3
  383. data/doc/api/ruby/classes/VPI.src/M000339.html +3 -3
  384. data/doc/api/ruby/classes/VPI.src/M000340.html +3 -3
  385. data/doc/api/ruby/classes/VPI.src/M000341.html +3 -3
  386. data/doc/api/ruby/classes/VPI.src/M000342.html +3 -3
  387. data/doc/api/ruby/classes/VPI.src/M000343.html +3 -3
  388. data/doc/api/ruby/classes/VPI.src/M000344.html +3 -3
  389. data/doc/api/ruby/classes/VPI.src/M000345.html +3 -3
  390. data/doc/api/ruby/classes/VPI.src/M000346.html +3 -3
  391. data/doc/api/ruby/classes/VPI.src/M000347.html +3 -3
  392. data/doc/api/ruby/classes/VPI.src/M000348.html +3 -3
  393. data/doc/api/ruby/classes/VPI.src/M000349.html +3 -3
  394. data/doc/api/ruby/classes/VPI.src/M000350.html +3 -3
  395. data/doc/api/ruby/classes/VPI.src/M000351.html +3 -3
  396. data/doc/api/ruby/classes/VPI.src/M000352.html +3 -3
  397. data/doc/api/ruby/classes/VPI.src/M000353.html +3 -3
  398. data/doc/api/ruby/classes/VPI.src/M000354.html +3 -3
  399. data/doc/api/ruby/classes/VPI.src/M000355.html +3 -3
  400. data/doc/api/ruby/classes/VPI.src/M000356.html +3 -3
  401. data/doc/api/ruby/classes/VPI.src/M000357.html +3 -3
  402. data/doc/api/ruby/classes/VPI.src/M000358.html +3 -3
  403. data/doc/api/ruby/classes/VPI.src/M000359.html +3 -3
  404. data/doc/api/ruby/classes/VPI.src/M000360.html +3 -3
  405. data/doc/api/ruby/classes/VPI.src/M000361.html +3 -3
  406. data/doc/api/ruby/classes/VPI.src/M000362.html +3 -3
  407. data/doc/api/ruby/classes/VPI.src/M000363.html +3 -3
  408. data/doc/api/ruby/classes/VPI.src/M000364.html +3 -3
  409. data/doc/api/ruby/classes/VPI.src/M000365.html +3 -3
  410. data/doc/api/ruby/classes/VPI.src/M000366.html +3 -3
  411. data/doc/api/ruby/classes/VPI.src/M000367.html +3 -3
  412. data/doc/api/ruby/classes/VPI.src/M000368.html +3 -3
  413. data/doc/api/ruby/classes/VPI.src/M000369.html +3 -3
  414. data/doc/api/ruby/classes/VPI.src/M000370.html +3 -3
  415. data/doc/api/ruby/classes/VPI.src/M000371.html +3 -3
  416. data/doc/api/ruby/classes/VPI.src/M000372.html +3 -3
  417. data/doc/api/ruby/classes/VPI.src/M000373.html +3 -3
  418. data/doc/api/ruby/classes/VPI.src/M000374.html +3 -3
  419. data/doc/api/ruby/classes/VPI.src/M000375.html +3 -3
  420. data/doc/api/ruby/classes/VPI.src/M000376.html +3 -3
  421. data/doc/api/ruby/classes/VPI.src/M000377.html +3 -3
  422. data/doc/api/ruby/classes/VPI.src/M000378.html +3 -3
  423. data/doc/api/ruby/classes/VPI.src/M000379.html +3 -3
  424. data/doc/api/ruby/classes/VPI.src/M000380.html +3 -3
  425. data/doc/api/ruby/classes/VPI.src/M000381.html +3 -3
  426. data/doc/api/ruby/classes/VPI.src/M000382.html +3 -3
  427. data/doc/api/ruby/classes/VPI.src/M000383.html +3 -3
  428. data/doc/api/ruby/classes/VPI.src/M000384.html +3 -3
  429. data/doc/api/ruby/classes/VPI.src/M000385.html +3 -3
  430. data/doc/api/ruby/classes/VPI.src/M000386.html +3 -3
  431. data/doc/api/ruby/classes/VPI.src/M000387.html +3 -3
  432. data/doc/api/ruby/classes/VPI.src/M000388.html +3 -3
  433. data/doc/api/ruby/classes/VPI.src/M000389.html +3 -3
  434. data/doc/api/ruby/classes/VPI.src/M000390.html +3 -3
  435. data/doc/api/ruby/classes/VPI.src/M000391.html +3 -3
  436. data/doc/api/ruby/classes/VPI.src/M000392.html +3 -3
  437. data/doc/api/ruby/classes/VPI.src/M000393.html +3 -3
  438. data/doc/api/ruby/classes/VPI.src/M000394.html +3 -3
  439. data/doc/api/ruby/classes/VPI.src/M000395.html +3 -3
  440. data/doc/api/ruby/classes/VPI.src/M000396.html +3 -3
  441. data/doc/api/ruby/classes/VPI.src/M000397.html +3 -3
  442. data/doc/api/ruby/classes/VPI.src/M000398.html +3 -3
  443. data/doc/api/ruby/classes/VPI.src/M000399.html +3 -3
  444. data/doc/api/ruby/classes/VPI.src/M000400.html +3 -3
  445. data/doc/api/ruby/classes/VPI.src/M000401.html +3 -3
  446. data/doc/api/ruby/classes/VPI.src/M000402.html +3 -3
  447. data/doc/api/ruby/classes/VPI.src/M000403.html +3 -3
  448. data/doc/api/ruby/classes/VPI.src/M000404.html +3 -3
  449. data/doc/api/ruby/classes/VPI.src/M000405.html +3 -3
  450. data/doc/api/ruby/classes/VPI.src/M000406.html +3 -3
  451. data/doc/api/ruby/classes/VPI.src/M000407.html +3 -3
  452. data/doc/api/ruby/classes/VPI.src/M000408.html +3 -3
  453. data/doc/api/ruby/classes/VPI.src/M000409.html +3 -3
  454. data/doc/api/ruby/classes/VPI.src/M000410.html +3 -3
  455. data/doc/api/ruby/classes/VPI.src/M000411.html +3 -3
  456. data/doc/api/ruby/classes/VPI.src/M000412.html +3 -3
  457. data/doc/api/ruby/classes/VPI.src/M000413.html +3 -3
  458. data/doc/api/ruby/classes/VPI.src/M000414.html +3 -3
  459. data/doc/api/ruby/classes/VPI.src/M000415.html +3 -3
  460. data/doc/api/ruby/classes/VPI.src/M000416.html +3 -3
  461. data/doc/api/ruby/classes/VPI.src/M000417.html +3 -3
  462. data/doc/api/ruby/classes/VPI.src/M000418.html +3 -3
  463. data/doc/api/ruby/classes/VPI.src/M000419.html +3 -3
  464. data/doc/api/ruby/classes/VPI.src/M000420.html +3 -3
  465. data/doc/api/ruby/classes/VPI.src/M000421.html +3 -3
  466. data/doc/api/ruby/classes/VPI.src/M000422.html +3 -3
  467. data/doc/api/ruby/classes/VPI.src/M000423.html +3 -3
  468. data/doc/api/ruby/classes/VPI.src/M000424.html +3 -3
  469. data/doc/api/ruby/classes/VPI.src/M000425.html +3 -3
  470. data/doc/api/ruby/classes/VPI.src/M000426.html +3 -3
  471. data/doc/api/ruby/classes/VPI.src/M000427.html +3 -3
  472. data/doc/api/ruby/classes/VPI.src/M000428.html +3 -3
  473. data/doc/api/ruby/classes/VPI.src/M000429.html +3 -3
  474. data/doc/api/ruby/classes/VPI.src/M000430.html +3 -3
  475. data/doc/api/ruby/classes/VPI.src/M000431.html +16 -0
  476. data/doc/api/ruby/classes/VPI.src/{M000040.html → M000432.html} +3 -3
  477. data/doc/api/ruby/classes/VPI.src/{M000037.html → M000433.html} +3 -3
  478. data/doc/api/ruby/classes/VPI.src/M000434.html +16 -0
  479. data/doc/api/ruby/classes/VPI.src/M000435.html +16 -0
  480. data/doc/api/ruby/classes/VPI/Handle.html +498 -498
  481. data/doc/api/ruby/classes/VPI/Handle.src/M000439.html +17 -4
  482. data/doc/api/ruby/classes/VPI/Handle.src/M000440.html +4 -4
  483. data/doc/api/ruby/classes/VPI/Handle.src/{M000436.html → M000441.html} +0 -0
  484. data/doc/api/ruby/classes/VPI/Handle.src/M000444.html +4 -4
  485. data/doc/api/ruby/classes/VPI/Handle.src/{M000435.html → M000445.html} +4 -4
  486. data/doc/api/ruby/classes/VPI/Handle.src/M000448.html +4 -4
  487. data/doc/api/ruby/classes/VPI/Handle.src/{M000443.html → M000449.html} +4 -4
  488. data/doc/api/ruby/classes/VPI/Handle.src/M000452.html +4 -4
  489. data/doc/api/ruby/classes/VPI/Handle.src/{M000447.html → M000453.html} +4 -4
  490. data/doc/api/ruby/classes/VPI/Handle.src/M000456.html +4 -4
  491. data/doc/api/ruby/classes/VPI/Handle.src/M000457.html +18 -0
  492. data/doc/api/ruby/classes/VPI/Handle.src/{M000455.html → M000460.html} +0 -0
  493. data/doc/api/ruby/classes/VPI/Handle.src/M000461.html +4 -7
  494. data/doc/api/ruby/classes/VPI/Handle.src/M000464.html +10 -5
  495. data/doc/api/ruby/classes/VPI/Handle.src/M000466.html +7 -4
  496. data/doc/api/ruby/classes/VPI/Handle.src/M000467.html +14 -4
  497. data/doc/api/ruby/classes/VPI/Handle.src/M000468.html +31 -11
  498. data/doc/api/ruby/classes/VPI/Handle.src/M000469.html +5 -4
  499. data/doc/api/ruby/classes/VPI/Handle.src/M000470.html +5 -4
  500. data/doc/api/ruby/classes/VPI/Handle.src/M000471.html +4 -26
  501. data/doc/api/ruby/classes/VPI/Handle.src/M000472.html +4 -4
  502. data/doc/api/ruby/classes/VPI/Handle.src/M000473.html +15 -6
  503. data/doc/api/ruby/classes/VPI/Handle.src/M000474.html +5 -3
  504. data/doc/api/ruby/classes/VPI/Handle.src/M000475.html +5 -3
  505. data/doc/api/ruby/classes/VPI/Handle.src/M000476.html +27 -3
  506. data/doc/api/ruby/classes/VPI/Handle.src/M000477.html +5 -3
  507. data/doc/api/ruby/classes/VPI/Handle.src/M000478.html +8 -3
  508. data/doc/api/ruby/classes/VPI/Handle.src/M000479.html +3 -3
  509. data/doc/api/ruby/classes/VPI/Handle.src/M000480.html +3 -3
  510. data/doc/api/ruby/classes/VPI/Handle.src/M000481.html +3 -3
  511. data/doc/api/ruby/classes/VPI/Handle.src/M000482.html +3 -3
  512. data/doc/api/ruby/classes/VPI/Handle.src/M000483.html +3 -3
  513. data/doc/api/ruby/classes/VPI/Handle.src/M000484.html +3 -3
  514. data/doc/api/ruby/classes/VPI/Handle.src/M000485.html +3 -3
  515. data/doc/api/ruby/classes/VPI/Handle.src/M000486.html +3 -3
  516. data/doc/api/ruby/classes/VPI/Handle.src/M000487.html +3 -3
  517. data/doc/api/ruby/classes/VPI/Handle.src/M000488.html +3 -3
  518. data/doc/api/ruby/classes/VPI/Handle.src/M000489.html +3 -3
  519. data/doc/api/ruby/classes/VPI/Handle.src/M000490.html +3 -3
  520. data/doc/api/ruby/classes/VPI/Handle.src/M000491.html +3 -3
  521. data/doc/api/ruby/classes/VPI/Handle.src/M000492.html +3 -3
  522. data/doc/api/ruby/classes/VPI/Handle.src/M000493.html +3 -3
  523. data/doc/api/ruby/classes/VPI/Handle.src/M000494.html +3 -3
  524. data/doc/api/ruby/classes/VPI/Handle.src/M000495.html +3 -3
  525. data/doc/api/ruby/classes/VPI/Handle.src/M000496.html +3 -3
  526. data/doc/api/ruby/classes/VPI/Handle.src/M000497.html +3 -3
  527. data/doc/api/ruby/classes/VPI/Handle.src/M000498.html +3 -3
  528. data/doc/api/ruby/classes/VPI/Handle.src/M000499.html +3 -3
  529. data/doc/api/ruby/classes/VPI/Handle.src/M000500.html +3 -3
  530. data/doc/api/ruby/classes/VPI/Handle.src/M000501.html +3 -3
  531. data/doc/api/ruby/classes/VPI/Handle.src/M000502.html +3 -3
  532. data/doc/api/ruby/classes/VPI/Handle.src/M000503.html +3 -3
  533. data/doc/api/ruby/classes/VPI/Handle.src/M000504.html +3 -3
  534. data/doc/api/ruby/classes/VPI/Handle.src/M000505.html +3 -3
  535. data/doc/api/ruby/classes/VPI/Handle.src/M000506.html +3 -3
  536. data/doc/api/ruby/classes/VPI/Handle.src/M000507.html +3 -3
  537. data/doc/api/ruby/classes/VPI/Handle.src/M000508.html +3 -3
  538. data/doc/api/ruby/classes/VPI/Handle.src/M000509.html +3 -3
  539. data/doc/api/ruby/classes/VPI/Handle.src/M000510.html +3 -3
  540. data/doc/api/ruby/classes/VPI/Handle.src/M000511.html +3 -3
  541. data/doc/api/ruby/classes/VPI/Handle.src/M000512.html +3 -3
  542. data/doc/api/ruby/classes/VPI/Handle.src/M000513.html +3 -3
  543. data/doc/api/ruby/classes/VPI/Handle.src/M000514.html +3 -3
  544. data/doc/api/ruby/classes/VPI/Handle.src/M000515.html +3 -3
  545. data/doc/api/ruby/classes/VPI/Handle.src/M000516.html +3 -3
  546. data/doc/api/ruby/classes/VPI/Handle.src/M000517.html +3 -3
  547. data/doc/api/ruby/classes/VPI/Handle.src/M000518.html +3 -3
  548. data/doc/api/ruby/classes/VPI/Handle.src/M000519.html +3 -3
  549. data/doc/api/ruby/classes/VPI/Handle.src/M000520.html +3 -3
  550. data/doc/api/ruby/classes/VPI/Handle.src/M000521.html +3 -3
  551. data/doc/api/ruby/classes/VPI/Handle.src/M000522.html +3 -3
  552. data/doc/api/ruby/classes/VPI/Handle.src/M000523.html +3 -3
  553. data/doc/api/ruby/classes/VPI/Handle.src/M000524.html +3 -3
  554. data/doc/api/ruby/classes/VPI/Handle.src/M000525.html +3 -3
  555. data/doc/api/ruby/classes/VPI/Handle.src/M000526.html +3 -3
  556. data/doc/api/ruby/classes/VPI/Handle.src/M000527.html +3 -3
  557. data/doc/api/ruby/classes/VPI/Handle.src/M000528.html +3 -3
  558. data/doc/api/ruby/classes/VPI/Handle.src/M000529.html +3 -3
  559. data/doc/api/ruby/classes/VPI/Handle.src/M000530.html +3 -3
  560. data/doc/api/ruby/classes/VPI/Handle.src/M000531.html +3 -3
  561. data/doc/api/ruby/classes/VPI/Handle.src/M000532.html +3 -3
  562. data/doc/api/ruby/classes/VPI/Handle.src/M000533.html +3 -3
  563. data/doc/api/ruby/classes/VPI/Handle.src/M000534.html +3 -3
  564. data/doc/api/ruby/classes/VPI/Handle.src/M000535.html +3 -3
  565. data/doc/api/ruby/classes/VPI/Handle.src/M000536.html +3 -3
  566. data/doc/api/ruby/classes/VPI/Handle.src/M000537.html +3 -3
  567. data/doc/api/ruby/classes/VPI/Handle.src/M000538.html +16 -0
  568. data/doc/api/ruby/classes/VPI/Handle.src/M000539.html +16 -0
  569. data/doc/api/ruby/classes/VPI/Handle.src/M000540.html +16 -0
  570. data/doc/api/ruby/classes/VPI/Handle.src/M000541.html +16 -0
  571. data/doc/api/ruby/classes/VPI/Handle.src/M000542.html +16 -0
  572. data/doc/api/ruby/classes/VPI/S_vpi_time.html +16 -16
  573. data/doc/api/ruby/classes/VPI/S_vpi_time.src/{M000538.html → M000543.html} +0 -0
  574. data/doc/api/ruby/classes/VPI/S_vpi_time.src/{M000539.html → M000544.html} +0 -0
  575. data/doc/api/ruby/classes/VPI/S_vpi_value.html +15 -15
  576. data/doc/api/ruby/classes/VPI/S_vpi_value.src/{M000431.html → M000436.html} +1 -1
  577. data/doc/api/ruby/classes/VPI/S_vpi_value.src/{M000432.html → M000437.html} +0 -0
  578. data/doc/api/ruby/classes/VPI/S_vpi_value.src/{M000433.html → M000438.html} +0 -0
  579. data/doc/api/ruby/classes/VerilogParser.html +5 -5
  580. data/doc/api/ruby/classes/VerilogParser.src/{M000003.html → M000004.html} +0 -0
  581. data/doc/api/ruby/classes/VerilogParser/Module.html +5 -5
  582. data/doc/api/ruby/classes/VerilogParser/Module.src/{M000004.html → M000005.html} +0 -0
  583. data/doc/api/ruby/classes/VerilogParser/Module/Port.html +15 -15
  584. data/doc/api/ruby/classes/VerilogParser/Module/Port.src/M000006.html +9 -4
  585. data/doc/api/ruby/classes/VerilogParser/Module/Port.src/M000007.html +4 -4
  586. data/doc/api/ruby/classes/VerilogParser/Module/Port.src/M000008.html +18 -0
  587. data/doc/api/ruby/created.rid +1 -1
  588. data/doc/api/ruby/files/bin/convert_rb.html +1 -1
  589. data/doc/api/ruby/files/bin/generate_rb.html +1 -1
  590. data/doc/api/ruby/files/bin/ruby-vpi.html +1 -1
  591. data/doc/api/ruby/files/lib/ruby-vpi/boot/loader_rb.html +149 -0
  592. data/doc/api/ruby/files/lib/ruby-vpi/boot/loader_rb.src/M000003.html +17 -0
  593. data/doc/api/ruby/files/lib/ruby-vpi/boot/relay_rb.html +114 -0
  594. data/doc/api/ruby/files/lib/ruby-vpi/core/callback_rb.html +1 -1
  595. data/doc/api/ruby/files/lib/ruby-vpi/core/edge-methods_rb.html +1 -1
  596. data/doc/api/ruby/files/lib/ruby-vpi/core/edge_rb.html +1 -1
  597. data/doc/api/ruby/files/lib/ruby-vpi/core/handle_rb.html +1 -1
  598. data/doc/api/ruby/files/lib/ruby-vpi/core/scheduler_rb.html +1 -1
  599. data/doc/api/ruby/files/lib/ruby-vpi/core/struct_rb.html +1 -1
  600. data/doc/api/ruby/files/lib/ruby-vpi/core_rb.html +1 -1
  601. data/doc/api/ruby/files/lib/ruby-vpi/erb_rb.html +1 -1
  602. data/doc/api/ruby/files/lib/ruby-vpi/float_rb.html +1 -1
  603. data/doc/api/ruby/files/lib/ruby-vpi/integer_rb.html +1 -1
  604. data/doc/api/ruby/files/lib/ruby-vpi/rake_rb.html +1 -1
  605. data/doc/api/ruby/files/lib/ruby-vpi/rcov_rb.html +1 -1
  606. data/doc/api/ruby/files/lib/ruby-vpi/rdoc_rb.html +1 -1
  607. data/doc/api/ruby/files/lib/ruby-vpi/runner_boot_loader_rb.html +3 -13
  608. data/doc/api/ruby/files/lib/ruby-vpi/runner_boot_loader_rb.src/M000002.html +3 -3
  609. data/doc/api/ruby/files/lib/ruby-vpi/runner_proxy_rb.html +1 -1
  610. data/doc/api/ruby/files/lib/ruby-vpi/runner_rb.html +1 -1
  611. data/doc/api/ruby/files/lib/ruby-vpi/util_rb.html +1 -1
  612. data/doc/api/ruby/files/lib/ruby-vpi/verilog_parser_rb.html +1 -1
  613. data/doc/api/ruby/files/lib/ruby-vpi_rb.html +1 -1
  614. data/doc/api/ruby/files/ruby-vpi-dynamic_rb.html +1 -1
  615. data/doc/api/ruby/fr_class_index.html +1 -0
  616. data/doc/api/ruby/fr_file_index.html +2 -0
  617. data/doc/api/ruby/fr_method_index.html +544 -539
  618. data/doc/guide.erb +37 -50
  619. data/doc/guide.html +322 -255
  620. data/doc/images/feed-icon-28x28.png +0 -0
  621. data/examples/register_file/register_file_runner.rake +1 -1
  622. data/ext/Rakefile +13 -4
  623. data/ext/binding.c +22 -0
  624. data/ext/binding.h +29 -0
  625. data/ext/extconf.rb +18 -11
  626. data/ext/host.c +75 -0
  627. data/ext/host.h +17 -0
  628. data/ext/main.c +50 -43
  629. data/ext/swig_vpi.i +6 -6
  630. data/ext/user.c +95 -0
  631. data/ext/user.h +23 -0
  632. data/ext/util.h +55 -0
  633. data/ext/verilog.h +5 -52
  634. data/lib/ruby-vpi.rb +11 -3
  635. data/lib/ruby-vpi/boot/loader.rb +162 -0
  636. data/lib/ruby-vpi/boot/relay.rb +47 -0
  637. data/lib/ruby-vpi/core.rb +0 -8
  638. data/lib/ruby-vpi/core/callback.rb +21 -28
  639. data/lib/ruby-vpi/core/handle.rb +14 -4
  640. data/lib/ruby-vpi/core/scheduler.rb +5 -13
  641. data/lib/ruby-vpi/core/struct.rb +1 -1
  642. data/lib/ruby-vpi/runner.rb +10 -2
  643. data/lib/ruby-vpi/runner_boot_loader.rb +127 -85
  644. data/lib/ruby-vpi/runner_proxy.rb +8 -8
  645. metadata +67 -67
  646. data/doc/api/c/common_8h.html +0 -143
  647. data/doc/api/c/globals_0x63.html +0 -120
  648. data/doc/api/c/globals_0x66.html +0 -58
  649. data/doc/api/c/globals_0x6d.html +0 -65
  650. data/doc/api/c/globals_0x74.html +0 -58
  651. data/doc/api/c/globals_eval.html +0 -44
  652. data/doc/api/c/main_8h.html +0 -105
  653. data/doc/api/c/relay_8c.html +0 -174
  654. data/doc/api/c/relay_8h.html +0 -102
  655. data/doc/api/c/vlog_8c.html +0 -157
  656. data/doc/api/c/vlog_8h.html +0 -80
  657. data/doc/api/ruby/classes/Integer.src/M000008.html +0 -25
  658. data/doc/api/ruby/classes/Integer.src/M000016.html +0 -25
  659. data/doc/api/ruby/classes/String.src/M000021.html +0 -36
  660. data/doc/api/ruby/classes/VPI.src/M000029.html +0 -19
  661. data/doc/api/ruby/classes/VPI.src/M000031.html +0 -19
  662. data/doc/api/ruby/classes/VPI.src/M000033.html +0 -25
  663. data/doc/api/ruby/classes/VPI/Handle.src/M000434.html +0 -31
  664. data/doc/api/ruby/classes/VPI/Handle.src/M000451.html +0 -18
  665. data/doc/api/ruby/classes/VPI/Handle.src/M000459.html +0 -24
  666. data/doc/api/ruby/classes/VPI/Handle.src/M000462.html +0 -28
  667. data/doc/api/ruby/classes/VPI/Handle.src/M000463.html +0 -50
  668. data/doc/api/ruby/classes/VPI/Handle.src/M000465.html +0 -19
  669. data/doc/api/ruby/classes/VerilogParser/Module/Port.src/M000005.html +0 -23
  670. data/examples/pipelined_alu/Hw5UnitModel.rb +0 -114
  671. data/examples/pipelined_alu/README +0 -152
  672. data/examples/pipelined_alu/Rakefile +0 -1
  673. data/examples/pipelined_alu/TestHw5UnitModel.rb +0 -72
  674. data/examples/pipelined_alu/hw5_unit.v +0 -128
  675. data/examples/pipelined_alu/hw5_unit_design.rb +0 -45
  676. data/examples/pipelined_alu/hw5_unit_loader.rb +0 -1
  677. data/examples/pipelined_alu/hw5_unit_proto.rb +0 -4
  678. data/examples/pipelined_alu/hw5_unit_runner.rake +0 -48
  679. data/examples/pipelined_alu/hw5_unit_spec.rb +0 -64
  680. data/examples/pipelined_alu/int_gen.rb +0 -45
  681. data/ext/common.h +0 -46
  682. data/ext/main.h +0 -30
  683. data/ext/relay.c +0 -41
  684. data/ext/relay.h +0 -31
  685. data/ext/vlog.c +0 -57
  686. data/ext/vlog.h +0 -26
data/ext/user.h ADDED
@@ -0,0 +1,23 @@
1
+ /*
2
+ Copyright 2008 Suraj N. Kurapati
3
+ See the file named LICENSE for details.
4
+ */
5
+
6
+ #ifndef USER_H
7
+ #define USER_H
8
+
9
+ #include "verilog.h"
10
+
11
+ /// should be called in vlog_startup_routines
12
+ void RubyVPI_user_init();
13
+
14
+ /// should be called at end of simulation
15
+ void RubyVPI_user_fini();
16
+
17
+ ///
18
+ /// VPI callback handler that resumes the user
19
+ /// code and waits until it becomes paused again.
20
+ ///
21
+ PLI_INT32 RubyVPI_user_resume(p_cb_data aCallback);
22
+
23
+ #endif
data/ext/util.h ADDED
@@ -0,0 +1,55 @@
1
+ /*
2
+ Copyright 2006 Suraj N. Kurapati
3
+ See the file named LICENSE for details.
4
+ */
5
+ ///\file Utility functions.
6
+
7
+ #ifndef UTIL_H
8
+ #define UTIL_H
9
+
10
+ #include "verilog.h"
11
+
12
+ /// An alias for vpi_printf().
13
+ ///
14
+ /// @param ... Arguments to vpi_printf()
15
+ ///
16
+ #define RubyVPI_util_write vpi_printf
17
+
18
+ /// Marks the given message as being emitted from Ruby-VPI and prints it.
19
+ ///
20
+ /// @param ... Arguments to vpi_printf()
21
+ ///
22
+ #define RubyVPI_util_print(...) \
23
+ RubyVPI_util_write("[%s:%d] Ruby-VPI: ", __FILE__, __LINE__); \
24
+ RubyVPI_util_write(__VA_ARGS__);
25
+
26
+ /// Marks the given message as being emitted from Ruby-VPI
27
+ /// and prints it while ending the message with a new line.
28
+ ///
29
+ /// @param ... Arguments to RubyVPI_util_write()
30
+ ///
31
+ #define RubyVPI_util_puts(...) \
32
+ RubyVPI_util_print(__VA_ARGS__); \
33
+ RubyVPI_util_write("\n");
34
+
35
+ /// Marks the given message as being being an
36
+ /// error message from Ruby-VPI and prints it
37
+ /// while ending the message with a new line
38
+ /// and then stopping the simulation.
39
+ ///
40
+ /// @param ... Arguments to RubyVPI_util_write()
41
+ ///
42
+ #define RubyVPI_util_error(...) \
43
+ RubyVPI_util_puts("error: " __VA_ARGS__); \
44
+ vpi_control(vpiStop);
45
+
46
+ /// A wrapper for RubyVPI_util_puts() which marks
47
+ /// the given message as being debugging output.
48
+ ///
49
+ #ifdef DEBUG
50
+ #define RubyVPI_util_debug RubyVPI_util_puts
51
+ #else
52
+ #define RubyVPI_util_debug(...)
53
+ #endif
54
+
55
+ #endif
data/ext/verilog.h CHANGED
@@ -2,61 +2,14 @@
2
2
  Copyright 2006 Suraj N. Kurapati
3
3
  See the file named LICENSE for details.
4
4
  */
5
- /**\file
6
- A proxy for all Verilog headers of interest to us.
7
- */
5
+ ///\file A proxy for all Verilog headers of interest to us.
8
6
 
9
7
  #ifndef VERILOG_H
10
8
  #define VERILOG_H
11
9
 
12
- /*
13
- Use our verbatim copy of the official IEEE Std. 1364-2005 header file, which
14
- was obtained from this URL:
15
- <http://www.boydtechinc.com/ptf/archive/ptf_2005/0737.html>
16
- */
17
- #include "vpi_user.h"
18
-
19
- /*
20
- Adjust for the peculiarities of the Verilog simulator being used.
21
- */
22
- #ifdef SYNOPSYS_VCS
23
- #define VERILOG_LENIENT
24
- #endif
25
-
26
- /*
27
- Do we want to enforce strict compliance with IEEE Std. 1364-2001? If so,
28
- Ruby-VPI might not work with Synopsys VCS, but that's not our fault. ;-)
29
- */
30
- #define verilog_tf_funcPtr_strict(aPtrName) \
31
- PLI_INT32 (*aPtrName)(PLI_BYTE8*)
32
-
33
- #ifdef VERILOG_LENIENT
34
- #define verilog_tf_funcPtr(aPtrName) \
35
- void (*aPtrName)(void)
36
-
37
- #define verilog_tf_funcSig(aFuncName) \
38
- void aFuncName(void)
39
-
40
- #define verilog_tf_funcReturn(aReturnVal) \
41
- ;
42
- #else
43
- #define verilog_tf_funcPtr verilog_tf_funcPtr_strict
44
-
45
- #define verilog_tf_funcSig(aFuncName) \
46
- PLI_INT32 aFuncName(PLI_BYTE8* aCallbackData)
47
-
48
- #define verilog_tf_funcReturn(aReturnVal) \
49
- return aReturnVal
50
- #endif
51
-
52
-
53
- #define verilog_cb_funcPtr(aPtrName) \
54
- PLI_INT32 (*aPtrName)(p_cb_data)
55
-
56
- #define verilog_cb_funcSig(aFuncName) \
57
- PLI_INT32 aFuncName(p_cb_data aCallbackData)
58
-
59
- #define verilog_cb_funcReturn(aReturnVal) \
60
- return aReturnVal
10
+ // Use our verbatim copy of the official IEEE Std 1364-2005
11
+ // header file, which was obtained from this URL:
12
+ // http://www.boydtechinc.com/ptf/archive/ptf_2005/0737.html
13
+ #include "vpi_user.h"
61
14
 
62
15
  #endif
data/lib/ruby-vpi.rb CHANGED
@@ -6,8 +6,8 @@
6
6
  module RubyVPI
7
7
  Project = {
8
8
  :name => 'ruby-vpi',
9
- :version => '20.0.0',
10
- :release => '2008-01-27',
9
+ :version => '21.0.0',
10
+ :release => '2008-06-08',
11
11
  :website => "http://ruby-vpi.rubyforge.org",
12
12
  :home => File.expand_path(File.join(File.dirname(__FILE__), '..'))
13
13
  }
@@ -49,6 +49,7 @@ module RubyVPI
49
49
  # object in the Verilog simulation
50
50
  #
51
51
  def RubyVPI.load_test aDesignHandleOrPath, *aTestFilePaths
52
+ # access the design under test
52
53
  design =
53
54
  if aDesignHandleOrPath.is_a? VPI::Handle
54
55
  aDesignHandleOrPath
@@ -58,11 +59,18 @@ module RubyVPI
58
59
 
59
60
  raise ArgumentError, "cannot access the design under test: #{aDesignHandleOrPath.inspect}" unless design
60
61
 
62
+ # create a sandbox
61
63
  sandbox = Module.new
62
64
  sandbox.const_set :DUT, design
65
+ sandboxBinding = sandbox.module_eval('binding')
63
66
 
67
+ # load files into sandbox
64
68
  aTestFilePaths.flatten.compact.uniq.each do |path|
65
- sandbox.module_eval(File.read(path), path)
69
+ if HAVE_RUBY_19X
70
+ eval File.read(path), sandboxBinding, path
71
+ else
72
+ sandbox.module_eval File.read(path), path
73
+ end
66
74
  end
67
75
 
68
76
  sandbox
@@ -0,0 +1,162 @@
1
+ # Boot loader for the Ruby side of the Ruby-VPI cosimulation.
2
+ #--
3
+ # Copyright 2006 Suraj N. Kurapati
4
+ # See the file named LICENSE for details.
5
+
6
+ begin
7
+ # copy Ruby output into simulator's log file
8
+ [STDOUT, STDERR].each do |stream|
9
+ class << stream #:nodoc:
10
+ alias __write__ write
11
+
12
+ def write aString
13
+ s = aString.to_s
14
+
15
+ VPI.vpi_printf(s)
16
+ return s.length
17
+ end
18
+ end
19
+ end
20
+
21
+ # XXX: in the C extension, we use rb_require() to run this
22
+ # boot loader. when that finishes, any at_exit handlers
23
+ # are NOT automatically invoked (since rb_require() does
24
+ # not internally run ruby_finalize()). so this is a
25
+ # workaround to simulate at_exit invocation, which is
26
+ # used by RSpec and Test::Unit to execute the unit test
27
+ module Kernel
28
+ alias __RubyVPI__orig_at_exit at_exit
29
+
30
+ @@__RubyVPI__exit_handlers = []
31
+
32
+ def at_exit &aBlock # :nodoc:
33
+ @@__RubyVPI__exit_handlers.unshift aBlock if aBlock
34
+ end
35
+
36
+ # runs all fake at_exit handlers
37
+ def __RubyVPI__simulate_exit # :nodoc:
38
+ if defined? @@__RubyVPI__exit_handlers
39
+ @@__RubyVPI__exit_handlers.each do |handler|
40
+ begin
41
+ handler.call
42
+ rescue SystemExit
43
+ # ignore
44
+ end
45
+ end
46
+ end
47
+ end
48
+
49
+ module_function :__RubyVPI__simulate_exit
50
+ end
51
+
52
+ module RubyVPI
53
+ USE_SIMULATOR = ENV['RUBYVPI_SIMULATOR'].to_sym
54
+ USE_DEBUGGER = ENV['DEBUGGER'].to_i == 1
55
+ USE_COVERAGE = ENV['COVERAGE'].to_i == 1
56
+ USE_PROTOTYPE = ENV['PROTOTYPE'].to_i == 1
57
+ USE_PROFILER = ENV['PROFILER'].to_i == 1
58
+ HAVE_RUBY_19X = RUBY_VERSION =~ /^1\.9\./
59
+ HAVE_RUBY_18X = RUBY_VERSION =~ /^1\.8\./
60
+ end
61
+
62
+ require 'rubygems'
63
+ require 'ruby-vpi'
64
+ require 'ruby-vpi/core'
65
+
66
+ # set up code coverage analysis
67
+ if RubyVPI::USE_COVERAGE
68
+ require 'ruby-vpi/rcov'
69
+
70
+ outFile = "coverage.txt"
71
+ RubyVPI::Coverage.attach do |analysis|
72
+ begin
73
+ File.open(outFile, 'w') do |f|
74
+ STDOUT.flush
75
+ $stdout = f
76
+
77
+ analysis.dump_coverage_info [
78
+ Rcov::TextReport.new,
79
+ Rcov::FullTextReport.new(:textmode => :counts),
80
+ ]
81
+ end
82
+ ensure
83
+ $stdout = STDOUT
84
+ end
85
+ end
86
+
87
+ RubyVPI::Coverage.start
88
+ RubyVPI.say "coverage analysis is enabled; results stored in #{outFile}"
89
+ end
90
+
91
+ # set up the interactive debugger
92
+ if RubyVPI::USE_DEBUGGER
93
+ require 'ruby-debug'
94
+
95
+ Debugger.start
96
+ Debugger.post_mortem
97
+
98
+ RubyVPI.say 'interactive debugger is enabled'
99
+ end
100
+
101
+ # suppress undefined method errors when debugger is not enabled
102
+ unless Kernel.respond_to? :debugger
103
+ Kernel.class_eval do
104
+ # Starts an interactive debugging session.
105
+ def debugger
106
+ end
107
+ end
108
+ end
109
+
110
+ # set up the profiler
111
+ if RubyVPI::USE_PROFILER
112
+ require 'ruby-prof'
113
+
114
+ outFile = "profile.txt"
115
+ at_exit do
116
+ result = RubyProf.stop
117
+ printer = RubyProf::GraphPrinter.new(result)
118
+
119
+ File.open(outFile, 'w') do |out|
120
+ printer.print(out)
121
+ end
122
+ end
123
+
124
+ RubyProf.start
125
+ RubyVPI.say "performance analysis is enabled; results stored in #{outFile}"
126
+ end
127
+
128
+ # set up the prototyping environment
129
+ if RubyVPI::USE_PROTOTYPE
130
+ VPI.module_eval do
131
+ def vpi_register_cb *args #:nodoc:
132
+ warn "vpi_register_cb: callbacks are ignored when prototype is enabled"
133
+ end
134
+ end
135
+
136
+ RubyVPI.say 'prototype is enabled'
137
+ end
138
+
139
+ # make VPI functions available globally
140
+ class Object
141
+ include VPI
142
+ end
143
+
144
+ # load the user-defined test loader
145
+ RubyVPI::Scheduler.start
146
+ require ENV['RUBYVPI_TEST_LOADER']
147
+
148
+ # simulate at_exit handler invocation
149
+ Kernel.__RubyVPI__simulate_exit
150
+
151
+ # restore original at_exit handler
152
+ module Kernel
153
+ alias at_exit __RubyVPI__orig_at_exit
154
+ undef __RubyVPI__simulate_exit
155
+ end
156
+
157
+ RubyVPI.detach
158
+
159
+ rescue Exception => e
160
+ # mimic how Ruby internally prints exceptions
161
+ STDERR.puts "#{e.class}: #{e.message}", e.backtrace.map {|s| "\tfrom #{s}" }
162
+ end
@@ -0,0 +1,47 @@
1
+ # Defines methods for transferring control between Ruby and Verilog.
2
+ #--
3
+ # Copyright 2008 Suraj N. Kurapati
4
+ # See the file named LICENSE for details.
5
+
6
+ begin
7
+ module RubyVPI
8
+ require 'thread'
9
+
10
+ @@userRun = Queue.new
11
+ @@hostRun = Queue.new
12
+
13
+ # Allows the simulator to resume this Ruby code.
14
+ def resume aCallback
15
+ @@userRun.enq aCallback
16
+ attach
17
+ end
18
+
19
+ module_function :resume
20
+
21
+ # Pauses this Ruby code and waits for the simulator to resume it.
22
+ def pause
23
+ detach
24
+ @@userRun.deq
25
+ end
26
+
27
+ module_function :pause
28
+
29
+ # Unblocks the simulator, which is waiting for this Ruby code to pause.
30
+ def detach
31
+ @@hostRun.enq nil
32
+ end
33
+
34
+ module_function :detach
35
+
36
+ # Allows the simulator to wait for this Ruby code to pause.
37
+ def attach
38
+ @@hostRun.deq
39
+ end
40
+
41
+ module_function :attach
42
+ end
43
+
44
+ rescue Exception => e
45
+ # mimic how Ruby internally prints exceptions
46
+ STDERR.puts "#{e.class}: #{e.message}", e.backtrace.map {|s| "\tfrom #{s}" }
47
+ end
data/lib/ruby-vpi/core.rb CHANGED
@@ -25,14 +25,6 @@ module VPI
25
25
  INTEGER_MASK = INTEGER_LIMIT - 1
26
26
  end
27
27
 
28
- module RubyVPI
29
- USE_SIMULATOR = ENV['RUBYVPI_SIMULATOR'].to_sym
30
- USE_DEBUGGER = ENV['DEBUGGER'].to_i == 1
31
- USE_COVERAGE = ENV['COVERAGE'].to_i == 1
32
- USE_PROTOTYPE = ENV['PROTOTYPE'].to_i == 1
33
- USE_PROFILER = ENV['PROFILER'].to_i == 1
34
- end
35
-
36
28
  require 'thread'
37
29
  require 'ruby-vpi/core/struct'
38
30
  require 'ruby-vpi/core/handle'
@@ -21,8 +21,8 @@ module RubyVPI
21
21
 
22
22
  # register the callback with Verilog
23
23
  aData.user_data = id
24
- aData.cb_rtn = VPI::Vlog_relay_ruby
25
- receipt = VPI::__callback__vpi_register_cb(aData)
24
+ aData.cb_rtn = VPI::RubyVPI_user_resume
25
+ receipt = VPI.__callback__vpi_register_cb(aData)
26
26
 
27
27
  @lock.synchronize do
28
28
  @id2handler[id] = aHandler
@@ -37,7 +37,7 @@ module RubyVPI
37
37
  receipt = @lock.synchronize{ @id2receipt[id] }
38
38
 
39
39
  if receipt
40
- VPI::__callback__vpi_remove_cb(receipt)
40
+ VPI.__callback__vpi_remove_cb(receipt)
41
41
 
42
42
  @lock.synchronize do
43
43
  @id2handler.delete id
@@ -50,42 +50,35 @@ module RubyVPI
50
50
  # during the given time slot after the given number of time steps.
51
51
  def relay_verilog aTimeSlot, aNumSteps
52
52
  # schedule wake-up callback from verilog
53
- time = VPI::S_vpi_time.new
54
- time.integer = aNumSteps
55
- time.type = VPI::VpiSimTime
53
+ time = VPI::S_vpi_time.new
54
+ time.integer = aNumSteps
55
+ time.type = VPI::VpiSimTime
56
56
 
57
- value = VPI::S_vpi_value.new
58
- value.format = VPI::VpiSuppressVal
57
+ value = VPI::S_vpi_value.new
58
+ value.format = VPI::VpiSuppressVal
59
59
 
60
- alarm = VPI::S_cb_data.new
61
- alarm.reason = aTimeSlot
62
- alarm.cb_rtn = VPI::Vlog_relay_ruby
63
- alarm.obj = nil
64
- alarm.time = time
65
- alarm.value = value
66
- alarm.index = 0
67
- alarm.user_data = nil
60
+ alarm = VPI::S_cb_data.new
61
+ alarm.reason = aTimeSlot
62
+ alarm.cb_rtn = VPI::RubyVPI_user_resume
63
+ alarm.obj = nil
64
+ alarm.time = time
65
+ alarm.value = value
66
+ alarm.index = 0
67
+ alarm.user_data = nil
68
68
 
69
- VPI.vpi_free_object(VPI::__callback__vpi_register_cb(alarm))
69
+ VPI.vpi_free_object(VPI.__callback__vpi_register_cb(alarm))
70
70
 
71
71
  # transfer control to verilog
72
- loop do
73
- VPI::__extension__relay_verilog
74
-
75
- if reason = VPI::__extension__relay_ruby_reason # might be nil
76
- id = reason.user_data.to_s
77
-
78
- handler = @lock.synchronize do
79
- @id2handler[id]
80
- end
72
+ while ring = RubyVPI.pause
73
+ id = ring.user_data.to_s
74
+ handler = @lock.synchronize { @id2handler[id] }
81
75
 
82
76
  if handler
83
- handler.call reason
77
+ handler.call ring
84
78
  else
85
79
  break
86
80
  end
87
81
  end
88
- end
89
82
  end
90
83
  end
91
84