ruby-vpi 21.0.0 → 21.1.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 (622) hide show
  1. data/Rakefile +14 -9
  2. data/doc/api/c/annotated.html +1 -1
  3. data/doc/api/c/binding_8c.html +1 -1
  4. data/doc/api/c/binding_8h.html +1 -1
  5. data/doc/api/c/files.html +1 -1
  6. data/doc/api/c/functions.html +1 -1
  7. data/doc/api/c/functions_vars.html +1 -1
  8. data/doc/api/c/globals.html +1 -1
  9. data/doc/api/c/globals_0x65.html +1 -1
  10. data/doc/api/c/globals_0x70.html +1 -1
  11. data/doc/api/c/globals_0x72.html +11 -7
  12. data/doc/api/c/globals_0x76.html +1 -1
  13. data/doc/api/c/globals_0x78.html +1 -1
  14. data/doc/api/c/globals_defs.html +1 -1
  15. data/doc/api/c/globals_defs_0x65.html +1 -1
  16. data/doc/api/c/globals_defs_0x70.html +1 -1
  17. data/doc/api/c/globals_defs_0x72.html +1 -1
  18. data/doc/api/c/globals_defs_0x76.html +1 -1
  19. data/doc/api/c/globals_defs_0x78.html +1 -1
  20. data/doc/api/c/globals_func.html +1 -1
  21. data/doc/api/c/globals_type.html +1 -1
  22. data/doc/api/c/globals_vars.html +5 -1
  23. data/doc/api/c/host_8c.html +1 -1
  24. data/doc/api/c/host_8h.html +1 -1
  25. data/doc/api/c/index.html +1 -1
  26. data/doc/api/c/main_8c.html +1 -1
  27. data/doc/api/c/structs__cb__data.html +1 -1
  28. data/doc/api/c/structs__vpi__delay.html +1 -1
  29. data/doc/api/c/structs__vpi__error__info.html +1 -1
  30. data/doc/api/c/structs__vpi__strengthval.html +1 -1
  31. data/doc/api/c/structs__vpi__systf__data.html +1 -1
  32. data/doc/api/c/structs__vpi__time.html +1 -1
  33. data/doc/api/c/structs__vpi__value.html +1 -1
  34. data/doc/api/c/structs__vpi__vecval.html +1 -1
  35. data/doc/api/c/structs__vpi__vlog__info.html +1 -1
  36. data/doc/api/c/user_8c.html +37 -1
  37. data/doc/api/c/user_8h.html +1 -1
  38. data/doc/api/c/util_8h.html +1 -1
  39. data/doc/api/c/verilog_8h.html +1 -1
  40. data/doc/api/c/vpi__user_8h.html +1 -1
  41. data/doc/api/ruby/classes/ERB.html +5 -5
  42. data/doc/api/ruby/classes/ERB.src/{M000026.html → M000025.html} +0 -0
  43. data/doc/api/ruby/classes/FileUtils.html +6 -6
  44. data/doc/api/ruby/classes/FileUtils.src/{M000027.html → M000026.html} +0 -0
  45. data/doc/api/ruby/classes/Float.html +6 -6
  46. data/doc/api/ruby/classes/Float.src/{M000021.html → M000020.html} +0 -0
  47. data/doc/api/ruby/classes/Integer.html +65 -65
  48. data/doc/api/ruby/classes/Integer.src/M000008.html +25 -0
  49. data/doc/api/ruby/classes/Integer.src/M000009.html +4 -11
  50. data/doc/api/ruby/classes/Integer.src/M000010.html +4 -4
  51. data/doc/api/ruby/classes/Integer.src/M000011.html +4 -4
  52. data/doc/api/ruby/classes/Integer.src/M000012.html +4 -4
  53. data/doc/api/ruby/classes/Integer.src/M000013.html +4 -4
  54. data/doc/api/ruby/classes/Integer.src/M000016.html +25 -0
  55. data/doc/api/ruby/classes/Integer.src/M000017.html +11 -5
  56. data/doc/api/ruby/classes/Integer.src/M000018.html +8 -14
  57. data/doc/api/ruby/classes/Integer.src/M000019.html +13 -8
  58. data/doc/api/ruby/classes/Kernel.html +0 -14
  59. data/doc/api/ruby/classes/Object.html +0 -5
  60. data/doc/api/ruby/classes/RDoc.html +5 -5
  61. data/doc/api/ruby/classes/RDoc.src/{M000546.html → M000550.html} +0 -0
  62. data/doc/api/ruby/classes/RubyVPI.html +30 -69
  63. data/doc/api/ruby/classes/RubyVPI.src/M000027.html +19 -0
  64. data/doc/api/ruby/classes/RubyVPI.src/M000028.html +5 -5
  65. data/doc/api/ruby/classes/RubyVPI.src/M000029.html +4 -5
  66. data/doc/api/ruby/classes/RubyVPI.src/M000030.html +4 -4
  67. data/doc/api/ruby/classes/RubyVPI.src/M000031.html +29 -5
  68. data/doc/api/ruby/classes/RubyVPI/SIMULATORS.html +5 -5
  69. data/doc/api/ruby/classes/RubyVPI/SIMULATORS.src/{M000033.html → M000032.html} +0 -0
  70. data/doc/api/ruby/classes/RubyVPI/SchedulerClass/Routine.html +235 -0
  71. data/doc/api/ruby/classes/RubyVPI/SchedulerClass/Routine.src/M000033.html +23 -0
  72. data/doc/api/ruby/classes/RubyVPI/SchedulerClass/Routine.src/M000034.html +18 -0
  73. data/doc/api/ruby/classes/{VerilogParser/Module/Port.src/M000008.html → RubyVPI/SchedulerClass/Routine.src/M000035.html} +4 -4
  74. data/doc/api/ruby/{files/lib/ruby-vpi/runner_boot_loader_rb.src/M000002.html → classes/RubyVPI/SchedulerClass/Routine.src/M000036.html} +5 -4
  75. data/doc/api/ruby/classes/RubyVPI/SchedulerClass/Routine.src/M000037.html +18 -0
  76. data/doc/api/ruby/classes/String.html +20 -20
  77. data/doc/api/ruby/classes/String.src/M000021.html +36 -0
  78. data/doc/api/ruby/classes/String.src/M000022.html +4 -22
  79. data/doc/api/ruby/classes/String.src/M000023.html +4 -4
  80. data/doc/api/ruby/classes/String.src/M000024.html +27 -4
  81. data/doc/api/ruby/classes/VPI.html +2075 -2067
  82. data/doc/api/ruby/classes/VPI.src/M000038.html +5 -11
  83. data/doc/api/ruby/classes/VPI.src/M000039.html +4 -12
  84. data/doc/api/ruby/classes/VPI.src/{M000036.html → M000040.html} +2 -3
  85. data/doc/api/ruby/classes/VPI.src/M000042.html +5 -3
  86. data/doc/api/ruby/classes/VPI.src/M000043.html +13 -3
  87. data/doc/api/ruby/classes/VPI.src/M000045.html +3 -3
  88. data/doc/api/ruby/classes/VPI.src/M000046.html +3 -3
  89. data/doc/api/ruby/classes/VPI.src/M000047.html +3 -3
  90. data/doc/api/ruby/classes/VPI.src/M000048.html +3 -3
  91. data/doc/api/ruby/classes/VPI.src/M000049.html +3 -3
  92. data/doc/api/ruby/classes/VPI.src/M000050.html +3 -3
  93. data/doc/api/ruby/classes/VPI.src/M000051.html +3 -3
  94. data/doc/api/ruby/classes/VPI.src/M000052.html +3 -3
  95. data/doc/api/ruby/classes/VPI.src/M000053.html +3 -3
  96. data/doc/api/ruby/classes/VPI.src/M000054.html +3 -3
  97. data/doc/api/ruby/classes/VPI.src/M000055.html +3 -3
  98. data/doc/api/ruby/classes/VPI.src/M000056.html +3 -3
  99. data/doc/api/ruby/classes/VPI.src/M000057.html +3 -3
  100. data/doc/api/ruby/classes/VPI.src/M000058.html +3 -3
  101. data/doc/api/ruby/classes/VPI.src/M000059.html +3 -3
  102. data/doc/api/ruby/classes/VPI.src/M000060.html +3 -3
  103. data/doc/api/ruby/classes/VPI.src/M000061.html +3 -3
  104. data/doc/api/ruby/classes/VPI.src/M000062.html +3 -3
  105. data/doc/api/ruby/classes/VPI.src/M000063.html +3 -3
  106. data/doc/api/ruby/classes/VPI.src/M000064.html +3 -3
  107. data/doc/api/ruby/classes/VPI.src/M000065.html +3 -3
  108. data/doc/api/ruby/classes/VPI.src/M000066.html +3 -3
  109. data/doc/api/ruby/classes/VPI.src/M000067.html +3 -3
  110. data/doc/api/ruby/classes/VPI.src/M000068.html +3 -3
  111. data/doc/api/ruby/classes/VPI.src/M000069.html +3 -3
  112. data/doc/api/ruby/classes/VPI.src/M000070.html +3 -3
  113. data/doc/api/ruby/classes/VPI.src/M000071.html +3 -3
  114. data/doc/api/ruby/classes/VPI.src/M000072.html +3 -3
  115. data/doc/api/ruby/classes/VPI.src/M000073.html +3 -3
  116. data/doc/api/ruby/classes/VPI.src/M000074.html +3 -3
  117. data/doc/api/ruby/classes/VPI.src/M000075.html +3 -3
  118. data/doc/api/ruby/classes/VPI.src/M000076.html +3 -3
  119. data/doc/api/ruby/classes/VPI.src/M000077.html +3 -3
  120. data/doc/api/ruby/classes/VPI.src/M000078.html +3 -3
  121. data/doc/api/ruby/classes/VPI.src/M000079.html +3 -3
  122. data/doc/api/ruby/classes/VPI.src/M000080.html +3 -3
  123. data/doc/api/ruby/classes/VPI.src/M000081.html +3 -3
  124. data/doc/api/ruby/classes/VPI.src/M000082.html +3 -3
  125. data/doc/api/ruby/classes/VPI.src/M000083.html +3 -3
  126. data/doc/api/ruby/classes/VPI.src/M000084.html +3 -3
  127. data/doc/api/ruby/classes/VPI.src/M000085.html +3 -3
  128. data/doc/api/ruby/classes/VPI.src/M000086.html +3 -3
  129. data/doc/api/ruby/classes/VPI.src/M000087.html +3 -3
  130. data/doc/api/ruby/classes/VPI.src/M000088.html +3 -3
  131. data/doc/api/ruby/classes/VPI.src/M000089.html +3 -3
  132. data/doc/api/ruby/classes/VPI.src/M000090.html +3 -3
  133. data/doc/api/ruby/classes/VPI.src/M000091.html +3 -3
  134. data/doc/api/ruby/classes/VPI.src/M000092.html +3 -3
  135. data/doc/api/ruby/classes/VPI.src/M000093.html +3 -3
  136. data/doc/api/ruby/classes/VPI.src/M000094.html +3 -3
  137. data/doc/api/ruby/classes/VPI.src/M000095.html +3 -3
  138. data/doc/api/ruby/classes/VPI.src/M000096.html +3 -3
  139. data/doc/api/ruby/classes/VPI.src/M000097.html +3 -3
  140. data/doc/api/ruby/classes/VPI.src/M000098.html +3 -3
  141. data/doc/api/ruby/classes/VPI.src/M000099.html +3 -3
  142. data/doc/api/ruby/classes/VPI.src/M000100.html +3 -3
  143. data/doc/api/ruby/classes/VPI.src/M000101.html +3 -3
  144. data/doc/api/ruby/classes/VPI.src/M000102.html +3 -3
  145. data/doc/api/ruby/classes/VPI.src/M000103.html +3 -3
  146. data/doc/api/ruby/classes/VPI.src/M000104.html +3 -3
  147. data/doc/api/ruby/classes/VPI.src/M000105.html +3 -3
  148. data/doc/api/ruby/classes/VPI.src/M000106.html +3 -3
  149. data/doc/api/ruby/classes/VPI.src/M000107.html +3 -3
  150. data/doc/api/ruby/classes/VPI.src/M000108.html +3 -3
  151. data/doc/api/ruby/classes/VPI.src/M000109.html +3 -3
  152. data/doc/api/ruby/classes/VPI.src/M000110.html +3 -3
  153. data/doc/api/ruby/classes/VPI.src/M000111.html +3 -3
  154. data/doc/api/ruby/classes/VPI.src/M000112.html +3 -3
  155. data/doc/api/ruby/classes/VPI.src/M000113.html +3 -3
  156. data/doc/api/ruby/classes/VPI.src/M000114.html +3 -3
  157. data/doc/api/ruby/classes/VPI.src/M000115.html +3 -3
  158. data/doc/api/ruby/classes/VPI.src/M000116.html +3 -3
  159. data/doc/api/ruby/classes/VPI.src/M000117.html +3 -3
  160. data/doc/api/ruby/classes/VPI.src/M000118.html +3 -3
  161. data/doc/api/ruby/classes/VPI.src/M000119.html +3 -3
  162. data/doc/api/ruby/classes/VPI.src/M000120.html +3 -3
  163. data/doc/api/ruby/classes/VPI.src/M000121.html +3 -3
  164. data/doc/api/ruby/classes/VPI.src/M000122.html +3 -3
  165. data/doc/api/ruby/classes/VPI.src/M000123.html +3 -3
  166. data/doc/api/ruby/classes/VPI.src/M000124.html +3 -3
  167. data/doc/api/ruby/classes/VPI.src/M000125.html +3 -3
  168. data/doc/api/ruby/classes/VPI.src/M000126.html +3 -3
  169. data/doc/api/ruby/classes/VPI.src/M000127.html +3 -3
  170. data/doc/api/ruby/classes/VPI.src/M000128.html +3 -3
  171. data/doc/api/ruby/classes/VPI.src/M000129.html +3 -3
  172. data/doc/api/ruby/classes/VPI.src/M000130.html +3 -3
  173. data/doc/api/ruby/classes/VPI.src/M000131.html +3 -3
  174. data/doc/api/ruby/classes/VPI.src/M000132.html +3 -3
  175. data/doc/api/ruby/classes/VPI.src/M000133.html +3 -3
  176. data/doc/api/ruby/classes/VPI.src/M000134.html +3 -3
  177. data/doc/api/ruby/classes/VPI.src/M000135.html +3 -3
  178. data/doc/api/ruby/classes/VPI.src/M000136.html +3 -3
  179. data/doc/api/ruby/classes/VPI.src/M000137.html +3 -3
  180. data/doc/api/ruby/classes/VPI.src/M000138.html +3 -3
  181. data/doc/api/ruby/classes/VPI.src/M000139.html +3 -3
  182. data/doc/api/ruby/classes/VPI.src/M000140.html +3 -3
  183. data/doc/api/ruby/classes/VPI.src/M000141.html +3 -3
  184. data/doc/api/ruby/classes/VPI.src/M000142.html +3 -3
  185. data/doc/api/ruby/classes/VPI.src/M000143.html +3 -3
  186. data/doc/api/ruby/classes/VPI.src/M000144.html +3 -3
  187. data/doc/api/ruby/classes/VPI.src/M000145.html +3 -3
  188. data/doc/api/ruby/classes/VPI.src/M000146.html +3 -3
  189. data/doc/api/ruby/classes/VPI.src/M000147.html +3 -3
  190. data/doc/api/ruby/classes/VPI.src/M000148.html +3 -3
  191. data/doc/api/ruby/classes/VPI.src/M000149.html +3 -3
  192. data/doc/api/ruby/classes/VPI.src/M000150.html +3 -3
  193. data/doc/api/ruby/classes/VPI.src/M000151.html +3 -3
  194. data/doc/api/ruby/classes/VPI.src/M000152.html +3 -3
  195. data/doc/api/ruby/classes/VPI.src/M000153.html +3 -3
  196. data/doc/api/ruby/classes/VPI.src/M000154.html +3 -3
  197. data/doc/api/ruby/classes/VPI.src/M000155.html +3 -3
  198. data/doc/api/ruby/classes/VPI.src/M000156.html +3 -3
  199. data/doc/api/ruby/classes/VPI.src/M000157.html +3 -3
  200. data/doc/api/ruby/classes/VPI.src/M000158.html +3 -3
  201. data/doc/api/ruby/classes/VPI.src/M000159.html +3 -3
  202. data/doc/api/ruby/classes/VPI.src/M000160.html +3 -3
  203. data/doc/api/ruby/classes/VPI.src/M000161.html +3 -3
  204. data/doc/api/ruby/classes/VPI.src/M000162.html +3 -3
  205. data/doc/api/ruby/classes/VPI.src/M000163.html +3 -3
  206. data/doc/api/ruby/classes/VPI.src/M000164.html +3 -3
  207. data/doc/api/ruby/classes/VPI.src/M000165.html +3 -3
  208. data/doc/api/ruby/classes/VPI.src/M000166.html +3 -3
  209. data/doc/api/ruby/classes/VPI.src/M000167.html +3 -3
  210. data/doc/api/ruby/classes/VPI.src/M000168.html +3 -3
  211. data/doc/api/ruby/classes/VPI.src/M000169.html +3 -3
  212. data/doc/api/ruby/classes/VPI.src/M000170.html +3 -3
  213. data/doc/api/ruby/classes/VPI.src/M000171.html +3 -3
  214. data/doc/api/ruby/classes/VPI.src/M000172.html +3 -3
  215. data/doc/api/ruby/classes/VPI.src/M000173.html +3 -3
  216. data/doc/api/ruby/classes/VPI.src/M000174.html +3 -3
  217. data/doc/api/ruby/classes/VPI.src/M000175.html +3 -3
  218. data/doc/api/ruby/classes/VPI.src/M000176.html +3 -3
  219. data/doc/api/ruby/classes/VPI.src/M000177.html +3 -3
  220. data/doc/api/ruby/classes/VPI.src/M000178.html +3 -3
  221. data/doc/api/ruby/classes/VPI.src/M000179.html +3 -3
  222. data/doc/api/ruby/classes/VPI.src/M000180.html +3 -3
  223. data/doc/api/ruby/classes/VPI.src/M000181.html +3 -3
  224. data/doc/api/ruby/classes/VPI.src/M000182.html +3 -3
  225. data/doc/api/ruby/classes/VPI.src/M000183.html +3 -3
  226. data/doc/api/ruby/classes/VPI.src/M000184.html +3 -3
  227. data/doc/api/ruby/classes/VPI.src/M000185.html +3 -3
  228. data/doc/api/ruby/classes/VPI.src/M000186.html +3 -3
  229. data/doc/api/ruby/classes/VPI.src/M000187.html +3 -3
  230. data/doc/api/ruby/classes/VPI.src/M000188.html +3 -3
  231. data/doc/api/ruby/classes/VPI.src/M000189.html +3 -3
  232. data/doc/api/ruby/classes/VPI.src/M000190.html +3 -3
  233. data/doc/api/ruby/classes/VPI.src/M000191.html +3 -3
  234. data/doc/api/ruby/classes/VPI.src/M000192.html +3 -3
  235. data/doc/api/ruby/classes/VPI.src/M000193.html +3 -3
  236. data/doc/api/ruby/classes/VPI.src/M000194.html +3 -3
  237. data/doc/api/ruby/classes/VPI.src/M000195.html +3 -3
  238. data/doc/api/ruby/classes/VPI.src/M000196.html +3 -3
  239. data/doc/api/ruby/classes/VPI.src/M000197.html +3 -3
  240. data/doc/api/ruby/classes/VPI.src/M000198.html +3 -3
  241. data/doc/api/ruby/classes/VPI.src/M000199.html +3 -3
  242. data/doc/api/ruby/classes/VPI.src/M000200.html +3 -3
  243. data/doc/api/ruby/classes/VPI.src/M000201.html +3 -3
  244. data/doc/api/ruby/classes/VPI.src/M000202.html +3 -3
  245. data/doc/api/ruby/classes/VPI.src/M000203.html +3 -3
  246. data/doc/api/ruby/classes/VPI.src/M000204.html +3 -3
  247. data/doc/api/ruby/classes/VPI.src/M000205.html +3 -3
  248. data/doc/api/ruby/classes/VPI.src/M000206.html +3 -3
  249. data/doc/api/ruby/classes/VPI.src/M000207.html +3 -3
  250. data/doc/api/ruby/classes/VPI.src/M000208.html +3 -3
  251. data/doc/api/ruby/classes/VPI.src/M000209.html +3 -3
  252. data/doc/api/ruby/classes/VPI.src/M000210.html +3 -3
  253. data/doc/api/ruby/classes/VPI.src/M000211.html +3 -3
  254. data/doc/api/ruby/classes/VPI.src/M000212.html +3 -3
  255. data/doc/api/ruby/classes/VPI.src/M000213.html +3 -3
  256. data/doc/api/ruby/classes/VPI.src/M000214.html +3 -3
  257. data/doc/api/ruby/classes/VPI.src/M000215.html +3 -3
  258. data/doc/api/ruby/classes/VPI.src/M000216.html +3 -3
  259. data/doc/api/ruby/classes/VPI.src/M000217.html +3 -3
  260. data/doc/api/ruby/classes/VPI.src/M000218.html +3 -3
  261. data/doc/api/ruby/classes/VPI.src/M000219.html +3 -3
  262. data/doc/api/ruby/classes/VPI.src/M000220.html +3 -3
  263. data/doc/api/ruby/classes/VPI.src/M000221.html +3 -3
  264. data/doc/api/ruby/classes/VPI.src/M000222.html +3 -3
  265. data/doc/api/ruby/classes/VPI.src/M000223.html +3 -3
  266. data/doc/api/ruby/classes/VPI.src/M000224.html +3 -3
  267. data/doc/api/ruby/classes/VPI.src/M000225.html +3 -3
  268. data/doc/api/ruby/classes/VPI.src/M000226.html +3 -3
  269. data/doc/api/ruby/classes/VPI.src/M000227.html +3 -3
  270. data/doc/api/ruby/classes/VPI.src/M000228.html +3 -3
  271. data/doc/api/ruby/classes/VPI.src/M000229.html +3 -3
  272. data/doc/api/ruby/classes/VPI.src/M000230.html +3 -3
  273. data/doc/api/ruby/classes/VPI.src/M000231.html +3 -3
  274. data/doc/api/ruby/classes/VPI.src/M000232.html +3 -3
  275. data/doc/api/ruby/classes/VPI.src/M000233.html +3 -3
  276. data/doc/api/ruby/classes/VPI.src/M000234.html +3 -3
  277. data/doc/api/ruby/classes/VPI.src/M000235.html +3 -3
  278. data/doc/api/ruby/classes/VPI.src/M000236.html +3 -3
  279. data/doc/api/ruby/classes/VPI.src/M000237.html +3 -3
  280. data/doc/api/ruby/classes/VPI.src/M000238.html +3 -3
  281. data/doc/api/ruby/classes/VPI.src/M000239.html +3 -3
  282. data/doc/api/ruby/classes/VPI.src/M000240.html +3 -3
  283. data/doc/api/ruby/classes/VPI.src/M000241.html +3 -3
  284. data/doc/api/ruby/classes/VPI.src/M000242.html +3 -3
  285. data/doc/api/ruby/classes/VPI.src/M000243.html +3 -3
  286. data/doc/api/ruby/classes/VPI.src/M000244.html +3 -3
  287. data/doc/api/ruby/classes/VPI.src/M000245.html +3 -3
  288. data/doc/api/ruby/classes/VPI.src/M000246.html +3 -3
  289. data/doc/api/ruby/classes/VPI.src/M000247.html +3 -3
  290. data/doc/api/ruby/classes/VPI.src/M000248.html +3 -3
  291. data/doc/api/ruby/classes/VPI.src/M000249.html +3 -3
  292. data/doc/api/ruby/classes/VPI.src/M000250.html +3 -3
  293. data/doc/api/ruby/classes/VPI.src/M000251.html +3 -3
  294. data/doc/api/ruby/classes/VPI.src/M000252.html +3 -3
  295. data/doc/api/ruby/classes/VPI.src/M000253.html +3 -3
  296. data/doc/api/ruby/classes/VPI.src/M000254.html +3 -3
  297. data/doc/api/ruby/classes/VPI.src/M000255.html +3 -3
  298. data/doc/api/ruby/classes/VPI.src/M000256.html +3 -3
  299. data/doc/api/ruby/classes/VPI.src/M000257.html +3 -3
  300. data/doc/api/ruby/classes/VPI.src/M000258.html +3 -3
  301. data/doc/api/ruby/classes/VPI.src/M000259.html +3 -3
  302. data/doc/api/ruby/classes/VPI.src/M000260.html +3 -3
  303. data/doc/api/ruby/classes/VPI.src/M000261.html +3 -3
  304. data/doc/api/ruby/classes/VPI.src/M000262.html +3 -3
  305. data/doc/api/ruby/classes/VPI.src/M000263.html +3 -3
  306. data/doc/api/ruby/classes/VPI.src/M000264.html +3 -3
  307. data/doc/api/ruby/classes/VPI.src/M000265.html +3 -3
  308. data/doc/api/ruby/classes/VPI.src/M000266.html +3 -3
  309. data/doc/api/ruby/classes/VPI.src/M000267.html +3 -3
  310. data/doc/api/ruby/classes/VPI.src/M000268.html +3 -3
  311. data/doc/api/ruby/classes/VPI.src/M000269.html +3 -3
  312. data/doc/api/ruby/classes/VPI.src/M000270.html +3 -3
  313. data/doc/api/ruby/classes/VPI.src/M000271.html +3 -3
  314. data/doc/api/ruby/classes/VPI.src/M000272.html +3 -3
  315. data/doc/api/ruby/classes/VPI.src/M000273.html +3 -3
  316. data/doc/api/ruby/classes/VPI.src/M000274.html +3 -3
  317. data/doc/api/ruby/classes/VPI.src/M000275.html +3 -3
  318. data/doc/api/ruby/classes/VPI.src/M000276.html +3 -3
  319. data/doc/api/ruby/classes/VPI.src/M000277.html +3 -3
  320. data/doc/api/ruby/classes/VPI.src/M000278.html +3 -3
  321. data/doc/api/ruby/classes/VPI.src/M000279.html +3 -3
  322. data/doc/api/ruby/classes/VPI.src/M000280.html +3 -3
  323. data/doc/api/ruby/classes/VPI.src/M000281.html +3 -3
  324. data/doc/api/ruby/classes/VPI.src/M000282.html +3 -3
  325. data/doc/api/ruby/classes/VPI.src/M000283.html +3 -3
  326. data/doc/api/ruby/classes/VPI.src/M000284.html +3 -3
  327. data/doc/api/ruby/classes/VPI.src/M000285.html +3 -3
  328. data/doc/api/ruby/classes/VPI.src/M000286.html +3 -3
  329. data/doc/api/ruby/classes/VPI.src/M000287.html +3 -3
  330. data/doc/api/ruby/classes/VPI.src/M000288.html +3 -3
  331. data/doc/api/ruby/classes/VPI.src/M000289.html +3 -3
  332. data/doc/api/ruby/classes/VPI.src/M000290.html +3 -3
  333. data/doc/api/ruby/classes/VPI.src/M000291.html +3 -3
  334. data/doc/api/ruby/classes/VPI.src/M000292.html +3 -3
  335. data/doc/api/ruby/classes/VPI.src/M000293.html +3 -3
  336. data/doc/api/ruby/classes/VPI.src/M000294.html +3 -3
  337. data/doc/api/ruby/classes/VPI.src/M000295.html +3 -3
  338. data/doc/api/ruby/classes/VPI.src/M000296.html +3 -3
  339. data/doc/api/ruby/classes/VPI.src/M000297.html +3 -3
  340. data/doc/api/ruby/classes/VPI.src/M000298.html +3 -3
  341. data/doc/api/ruby/classes/VPI.src/M000299.html +3 -3
  342. data/doc/api/ruby/classes/VPI.src/M000300.html +3 -3
  343. data/doc/api/ruby/classes/VPI.src/M000301.html +3 -3
  344. data/doc/api/ruby/classes/VPI.src/M000302.html +3 -3
  345. data/doc/api/ruby/classes/VPI.src/M000303.html +3 -3
  346. data/doc/api/ruby/classes/VPI.src/M000304.html +3 -3
  347. data/doc/api/ruby/classes/VPI.src/M000305.html +3 -3
  348. data/doc/api/ruby/classes/VPI.src/M000306.html +3 -3
  349. data/doc/api/ruby/classes/VPI.src/M000307.html +3 -3
  350. data/doc/api/ruby/classes/VPI.src/M000308.html +3 -3
  351. data/doc/api/ruby/classes/VPI.src/M000309.html +3 -3
  352. data/doc/api/ruby/classes/VPI.src/M000310.html +3 -3
  353. data/doc/api/ruby/classes/VPI.src/M000311.html +3 -3
  354. data/doc/api/ruby/classes/VPI.src/M000312.html +3 -3
  355. data/doc/api/ruby/classes/VPI.src/M000313.html +3 -3
  356. data/doc/api/ruby/classes/VPI.src/M000314.html +3 -3
  357. data/doc/api/ruby/classes/VPI.src/M000315.html +3 -3
  358. data/doc/api/ruby/classes/VPI.src/M000316.html +3 -3
  359. data/doc/api/ruby/classes/VPI.src/M000317.html +3 -3
  360. data/doc/api/ruby/classes/VPI.src/M000318.html +3 -3
  361. data/doc/api/ruby/classes/VPI.src/M000319.html +3 -3
  362. data/doc/api/ruby/classes/VPI.src/M000320.html +3 -3
  363. data/doc/api/ruby/classes/VPI.src/M000321.html +3 -3
  364. data/doc/api/ruby/classes/VPI.src/M000322.html +3 -3
  365. data/doc/api/ruby/classes/VPI.src/M000323.html +3 -3
  366. data/doc/api/ruby/classes/VPI.src/M000324.html +3 -3
  367. data/doc/api/ruby/classes/VPI.src/M000325.html +3 -3
  368. data/doc/api/ruby/classes/VPI.src/M000326.html +3 -3
  369. data/doc/api/ruby/classes/VPI.src/M000327.html +3 -3
  370. data/doc/api/ruby/classes/VPI.src/M000328.html +3 -3
  371. data/doc/api/ruby/classes/VPI.src/M000329.html +3 -3
  372. data/doc/api/ruby/classes/VPI.src/M000330.html +3 -3
  373. data/doc/api/ruby/classes/VPI.src/M000331.html +3 -3
  374. data/doc/api/ruby/classes/VPI.src/M000332.html +3 -3
  375. data/doc/api/ruby/classes/VPI.src/M000333.html +3 -3
  376. data/doc/api/ruby/classes/VPI.src/M000334.html +3 -3
  377. data/doc/api/ruby/classes/VPI.src/M000335.html +3 -3
  378. data/doc/api/ruby/classes/VPI.src/M000336.html +3 -3
  379. data/doc/api/ruby/classes/VPI.src/M000337.html +3 -3
  380. data/doc/api/ruby/classes/VPI.src/M000338.html +3 -3
  381. data/doc/api/ruby/classes/VPI.src/M000339.html +3 -3
  382. data/doc/api/ruby/classes/VPI.src/M000340.html +3 -3
  383. data/doc/api/ruby/classes/VPI.src/M000341.html +3 -3
  384. data/doc/api/ruby/classes/VPI.src/M000342.html +3 -3
  385. data/doc/api/ruby/classes/VPI.src/M000343.html +3 -3
  386. data/doc/api/ruby/classes/VPI.src/M000344.html +3 -3
  387. data/doc/api/ruby/classes/VPI.src/M000345.html +3 -3
  388. data/doc/api/ruby/classes/VPI.src/M000346.html +3 -3
  389. data/doc/api/ruby/classes/VPI.src/M000347.html +3 -3
  390. data/doc/api/ruby/classes/VPI.src/M000348.html +3 -3
  391. data/doc/api/ruby/classes/VPI.src/M000349.html +3 -3
  392. data/doc/api/ruby/classes/VPI.src/M000350.html +3 -3
  393. data/doc/api/ruby/classes/VPI.src/M000351.html +3 -3
  394. data/doc/api/ruby/classes/VPI.src/M000352.html +3 -3
  395. data/doc/api/ruby/classes/VPI.src/M000353.html +3 -3
  396. data/doc/api/ruby/classes/VPI.src/M000354.html +3 -3
  397. data/doc/api/ruby/classes/VPI.src/M000355.html +3 -3
  398. data/doc/api/ruby/classes/VPI.src/M000356.html +3 -3
  399. data/doc/api/ruby/classes/VPI.src/M000357.html +3 -3
  400. data/doc/api/ruby/classes/VPI.src/M000358.html +3 -3
  401. data/doc/api/ruby/classes/VPI.src/M000359.html +3 -3
  402. data/doc/api/ruby/classes/VPI.src/M000360.html +3 -3
  403. data/doc/api/ruby/classes/VPI.src/M000361.html +3 -3
  404. data/doc/api/ruby/classes/VPI.src/M000362.html +3 -3
  405. data/doc/api/ruby/classes/VPI.src/M000363.html +3 -3
  406. data/doc/api/ruby/classes/VPI.src/M000364.html +3 -3
  407. data/doc/api/ruby/classes/VPI.src/M000365.html +3 -3
  408. data/doc/api/ruby/classes/VPI.src/M000366.html +3 -3
  409. data/doc/api/ruby/classes/VPI.src/M000367.html +3 -3
  410. data/doc/api/ruby/classes/VPI.src/M000368.html +3 -3
  411. data/doc/api/ruby/classes/VPI.src/M000369.html +3 -3
  412. data/doc/api/ruby/classes/VPI.src/M000370.html +3 -3
  413. data/doc/api/ruby/classes/VPI.src/M000371.html +3 -3
  414. data/doc/api/ruby/classes/VPI.src/M000372.html +3 -3
  415. data/doc/api/ruby/classes/VPI.src/M000373.html +3 -3
  416. data/doc/api/ruby/classes/VPI.src/M000374.html +3 -3
  417. data/doc/api/ruby/classes/VPI.src/M000375.html +3 -3
  418. data/doc/api/ruby/classes/VPI.src/M000376.html +3 -3
  419. data/doc/api/ruby/classes/VPI.src/M000377.html +3 -3
  420. data/doc/api/ruby/classes/VPI.src/M000378.html +3 -3
  421. data/doc/api/ruby/classes/VPI.src/M000379.html +3 -3
  422. data/doc/api/ruby/classes/VPI.src/M000380.html +3 -3
  423. data/doc/api/ruby/classes/VPI.src/M000381.html +3 -3
  424. data/doc/api/ruby/classes/VPI.src/M000382.html +3 -3
  425. data/doc/api/ruby/classes/VPI.src/M000383.html +3 -3
  426. data/doc/api/ruby/classes/VPI.src/M000384.html +3 -3
  427. data/doc/api/ruby/classes/VPI.src/M000385.html +3 -3
  428. data/doc/api/ruby/classes/VPI.src/M000386.html +3 -3
  429. data/doc/api/ruby/classes/VPI.src/M000387.html +3 -3
  430. data/doc/api/ruby/classes/VPI.src/M000388.html +3 -3
  431. data/doc/api/ruby/classes/VPI.src/M000389.html +3 -3
  432. data/doc/api/ruby/classes/VPI.src/M000390.html +3 -3
  433. data/doc/api/ruby/classes/VPI.src/M000391.html +3 -3
  434. data/doc/api/ruby/classes/VPI.src/M000392.html +3 -3
  435. data/doc/api/ruby/classes/VPI.src/M000393.html +3 -3
  436. data/doc/api/ruby/classes/VPI.src/M000394.html +3 -3
  437. data/doc/api/ruby/classes/VPI.src/M000395.html +3 -3
  438. data/doc/api/ruby/classes/VPI.src/M000396.html +3 -3
  439. data/doc/api/ruby/classes/VPI.src/M000397.html +3 -3
  440. data/doc/api/ruby/classes/VPI.src/M000398.html +3 -3
  441. data/doc/api/ruby/classes/VPI.src/M000399.html +3 -3
  442. data/doc/api/ruby/classes/VPI.src/M000400.html +3 -3
  443. data/doc/api/ruby/classes/VPI.src/M000401.html +3 -3
  444. data/doc/api/ruby/classes/VPI.src/M000402.html +3 -3
  445. data/doc/api/ruby/classes/VPI.src/M000403.html +3 -3
  446. data/doc/api/ruby/classes/VPI.src/M000404.html +3 -3
  447. data/doc/api/ruby/classes/VPI.src/M000405.html +3 -3
  448. data/doc/api/ruby/classes/VPI.src/M000406.html +3 -3
  449. data/doc/api/ruby/classes/VPI.src/M000407.html +3 -3
  450. data/doc/api/ruby/classes/VPI.src/M000408.html +3 -3
  451. data/doc/api/ruby/classes/VPI.src/M000409.html +3 -3
  452. data/doc/api/ruby/classes/VPI.src/M000410.html +3 -3
  453. data/doc/api/ruby/classes/VPI.src/M000411.html +3 -3
  454. data/doc/api/ruby/classes/VPI.src/M000412.html +3 -3
  455. data/doc/api/ruby/classes/VPI.src/M000413.html +3 -3
  456. data/doc/api/ruby/classes/VPI.src/M000414.html +3 -3
  457. data/doc/api/ruby/classes/VPI.src/M000415.html +3 -3
  458. data/doc/api/ruby/classes/VPI.src/M000416.html +3 -3
  459. data/doc/api/ruby/classes/VPI.src/M000417.html +3 -3
  460. data/doc/api/ruby/classes/VPI.src/M000418.html +3 -3
  461. data/doc/api/ruby/classes/VPI.src/M000419.html +3 -3
  462. data/doc/api/ruby/classes/VPI.src/M000420.html +3 -3
  463. data/doc/api/ruby/classes/VPI.src/M000421.html +3 -3
  464. data/doc/api/ruby/classes/VPI.src/M000422.html +3 -3
  465. data/doc/api/ruby/classes/VPI.src/M000423.html +3 -3
  466. data/doc/api/ruby/classes/VPI.src/M000424.html +3 -3
  467. data/doc/api/ruby/classes/VPI.src/M000425.html +3 -3
  468. data/doc/api/ruby/classes/VPI.src/M000426.html +3 -3
  469. data/doc/api/ruby/classes/VPI.src/M000427.html +3 -3
  470. data/doc/api/ruby/classes/VPI.src/M000428.html +3 -3
  471. data/doc/api/ruby/classes/VPI.src/M000429.html +3 -3
  472. data/doc/api/ruby/classes/VPI.src/M000430.html +3 -3
  473. data/doc/api/ruby/classes/VPI.src/M000431.html +3 -3
  474. data/doc/api/ruby/classes/VPI.src/M000432.html +3 -3
  475. data/doc/api/ruby/classes/VPI.src/M000433.html +3 -3
  476. data/doc/api/ruby/classes/VPI.src/M000434.html +3 -3
  477. data/doc/api/ruby/classes/VPI.src/M000435.html +3 -3
  478. data/doc/api/ruby/classes/VPI.src/{M000041.html → M000436.html} +3 -3
  479. data/doc/api/ruby/classes/{Integer.src/M000014.html → VPI.src/M000437.html} +3 -5
  480. data/doc/api/ruby/classes/VPI.src/{M000044.html → M000438.html} +3 -3
  481. data/doc/api/ruby/classes/VPI.src/M000439.html +16 -0
  482. data/doc/api/ruby/classes/VPI/Handle.html +498 -498
  483. data/doc/api/ruby/classes/VPI/Handle.src/{M000439.html → M000443.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/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/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/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 +4 -4
  492. data/doc/api/ruby/classes/VPI/Handle.src/M000460.html +4 -4
  493. data/doc/api/ruby/classes/VPI/Handle.src/M000461.html +4 -4
  494. data/doc/api/ruby/classes/VPI/Handle.src/M000464.html +4 -10
  495. data/doc/api/ruby/classes/VPI/Handle.src/{M000441.html → M000465.html} +4 -4
  496. data/doc/api/ruby/classes/VPI/Handle.src/M000468.html +7 -33
  497. data/doc/api/ruby/classes/VPI/Handle.src/M000470.html +7 -5
  498. data/doc/api/ruby/classes/VPI/Handle.src/M000471.html +14 -4
  499. data/doc/api/ruby/classes/VPI/Handle.src/M000472.html +36 -4
  500. data/doc/api/ruby/classes/VPI/Handle.src/M000473.html +5 -16
  501. data/doc/api/ruby/classes/VPI/Handle.src/M000474.html +5 -4
  502. data/doc/api/ruby/classes/VPI/Handle.src/M000475.html +4 -4
  503. data/doc/api/ruby/classes/VPI/Handle.src/M000476.html +4 -26
  504. data/doc/api/ruby/classes/VPI/Handle.src/M000477.html +16 -4
  505. data/doc/api/ruby/classes/VPI/Handle.src/M000478.html +4 -7
  506. data/doc/api/ruby/classes/VPI/Handle.src/M000479.html +5 -3
  507. data/doc/api/ruby/classes/VPI/Handle.src/M000480.html +27 -3
  508. data/doc/api/ruby/classes/VPI/Handle.src/M000481.html +5 -3
  509. data/doc/api/ruby/classes/VPI/Handle.src/M000482.html +8 -3
  510. data/doc/api/ruby/classes/VPI/Handle.src/M000483.html +3 -3
  511. data/doc/api/ruby/classes/VPI/Handle.src/M000484.html +3 -3
  512. data/doc/api/ruby/classes/VPI/Handle.src/M000485.html +3 -3
  513. data/doc/api/ruby/classes/VPI/Handle.src/M000486.html +3 -3
  514. data/doc/api/ruby/classes/VPI/Handle.src/M000487.html +3 -3
  515. data/doc/api/ruby/classes/VPI/Handle.src/M000488.html +3 -3
  516. data/doc/api/ruby/classes/VPI/Handle.src/M000489.html +3 -3
  517. data/doc/api/ruby/classes/VPI/Handle.src/M000490.html +3 -3
  518. data/doc/api/ruby/classes/VPI/Handle.src/M000491.html +3 -3
  519. data/doc/api/ruby/classes/VPI/Handle.src/M000492.html +3 -3
  520. data/doc/api/ruby/classes/VPI/Handle.src/M000493.html +3 -3
  521. data/doc/api/ruby/classes/VPI/Handle.src/M000494.html +3 -3
  522. data/doc/api/ruby/classes/VPI/Handle.src/M000495.html +3 -3
  523. data/doc/api/ruby/classes/VPI/Handle.src/M000496.html +3 -3
  524. data/doc/api/ruby/classes/VPI/Handle.src/M000497.html +3 -3
  525. data/doc/api/ruby/classes/VPI/Handle.src/M000498.html +3 -3
  526. data/doc/api/ruby/classes/VPI/Handle.src/M000499.html +3 -3
  527. data/doc/api/ruby/classes/VPI/Handle.src/M000500.html +3 -3
  528. data/doc/api/ruby/classes/VPI/Handle.src/M000501.html +3 -3
  529. data/doc/api/ruby/classes/VPI/Handle.src/M000502.html +3 -3
  530. data/doc/api/ruby/classes/VPI/Handle.src/M000503.html +3 -3
  531. data/doc/api/ruby/classes/VPI/Handle.src/M000504.html +3 -3
  532. data/doc/api/ruby/classes/VPI/Handle.src/M000505.html +3 -3
  533. data/doc/api/ruby/classes/VPI/Handle.src/M000506.html +3 -3
  534. data/doc/api/ruby/classes/VPI/Handle.src/M000507.html +3 -3
  535. data/doc/api/ruby/classes/VPI/Handle.src/M000508.html +3 -3
  536. data/doc/api/ruby/classes/VPI/Handle.src/M000509.html +3 -3
  537. data/doc/api/ruby/classes/VPI/Handle.src/M000510.html +3 -3
  538. data/doc/api/ruby/classes/VPI/Handle.src/M000511.html +3 -3
  539. data/doc/api/ruby/classes/VPI/Handle.src/M000512.html +3 -3
  540. data/doc/api/ruby/classes/VPI/Handle.src/M000513.html +3 -3
  541. data/doc/api/ruby/classes/VPI/Handle.src/M000514.html +3 -3
  542. data/doc/api/ruby/classes/VPI/Handle.src/M000515.html +3 -3
  543. data/doc/api/ruby/classes/VPI/Handle.src/M000516.html +3 -3
  544. data/doc/api/ruby/classes/VPI/Handle.src/M000517.html +3 -3
  545. data/doc/api/ruby/classes/VPI/Handle.src/M000518.html +3 -3
  546. data/doc/api/ruby/classes/VPI/Handle.src/M000519.html +3 -3
  547. data/doc/api/ruby/classes/VPI/Handle.src/M000520.html +3 -3
  548. data/doc/api/ruby/classes/VPI/Handle.src/M000521.html +3 -3
  549. data/doc/api/ruby/classes/VPI/Handle.src/M000522.html +3 -3
  550. data/doc/api/ruby/classes/VPI/Handle.src/M000523.html +3 -3
  551. data/doc/api/ruby/classes/VPI/Handle.src/M000524.html +3 -3
  552. data/doc/api/ruby/classes/VPI/Handle.src/M000525.html +3 -3
  553. data/doc/api/ruby/classes/VPI/Handle.src/M000526.html +3 -3
  554. data/doc/api/ruby/classes/VPI/Handle.src/M000527.html +3 -3
  555. data/doc/api/ruby/classes/VPI/Handle.src/M000528.html +3 -3
  556. data/doc/api/ruby/classes/VPI/Handle.src/M000529.html +3 -3
  557. data/doc/api/ruby/classes/VPI/Handle.src/M000530.html +3 -3
  558. data/doc/api/ruby/classes/VPI/Handle.src/M000531.html +3 -3
  559. data/doc/api/ruby/classes/VPI/Handle.src/M000532.html +3 -3
  560. data/doc/api/ruby/classes/VPI/Handle.src/M000533.html +3 -3
  561. data/doc/api/ruby/classes/VPI/Handle.src/M000534.html +3 -3
  562. data/doc/api/ruby/classes/VPI/Handle.src/M000535.html +3 -3
  563. data/doc/api/ruby/classes/VPI/Handle.src/M000536.html +3 -3
  564. data/doc/api/ruby/classes/VPI/Handle.src/M000537.html +3 -3
  565. data/doc/api/ruby/classes/VPI/Handle.src/M000538.html +3 -3
  566. data/doc/api/ruby/classes/VPI/Handle.src/M000539.html +3 -3
  567. data/doc/api/ruby/classes/VPI/Handle.src/M000540.html +3 -3
  568. data/doc/api/ruby/classes/VPI/Handle.src/M000541.html +3 -3
  569. data/doc/api/ruby/classes/VPI/Handle.src/M000542.html +3 -3
  570. data/doc/api/ruby/classes/VPI/Handle.src/M000543.html +16 -0
  571. data/doc/api/ruby/classes/VPI/Handle.src/M000544.html +16 -0
  572. data/doc/api/ruby/classes/VPI/Handle.src/M000545.html +16 -0
  573. data/doc/api/ruby/classes/VPI/Handle.src/M000546.html +16 -0
  574. data/doc/api/ruby/classes/VPI/S_vpi_time.html +16 -16
  575. data/doc/api/ruby/classes/VPI/S_vpi_time.src/{M000543.html → M000547.html} +0 -0
  576. data/doc/api/ruby/classes/VPI/S_vpi_time.src/{M000544.html → M000548.html} +0 -0
  577. data/doc/api/ruby/classes/VPI/S_vpi_value.html +15 -15
  578. data/doc/api/ruby/classes/VPI/S_vpi_value.src/{M000436.html → M000440.html} +0 -0
  579. data/doc/api/ruby/classes/VPI/S_vpi_value.src/{M000437.html → M000441.html} +0 -0
  580. data/doc/api/ruby/classes/VPI/S_vpi_value.src/{M000438.html → M000442.html} +0 -0
  581. data/doc/api/ruby/classes/VerilogParser.html +5 -5
  582. data/doc/api/ruby/classes/VerilogParser.src/{M000004.html → M000003.html} +0 -0
  583. data/doc/api/ruby/classes/VerilogParser/Module.html +5 -5
  584. data/doc/api/ruby/classes/VerilogParser/Module.src/{M000005.html → M000004.html} +0 -0
  585. data/doc/api/ruby/classes/VerilogParser/Module/Port.html +15 -15
  586. data/doc/api/ruby/classes/VerilogParser/Module/Port.src/M000005.html +23 -0
  587. data/doc/api/ruby/classes/VerilogParser/Module/Port.src/M000006.html +4 -9
  588. data/doc/api/ruby/classes/VerilogParser/Module/Port.src/M000007.html +4 -4
  589. data/doc/api/ruby/created.rid +1 -1
  590. data/doc/api/ruby/files/lib/ruby-vpi/boot/loader_rb.html +6 -6
  591. data/doc/api/ruby/files/lib/ruby-vpi/boot/loader_rb.src/{M000003.html → M000002.html} +0 -0
  592. data/doc/api/ruby/files/lib/ruby-vpi/boot/relay_rb.html +1 -1
  593. data/doc/api/ruby/files/lib/ruby-vpi/core/callback_rb.html +1 -1
  594. data/doc/api/ruby/files/lib/ruby-vpi/core/scheduler_rb.html +3 -2
  595. data/doc/api/ruby/files/lib/ruby-vpi/runner_rb.html +1 -1
  596. data/doc/api/ruby/files/lib/ruby-vpi_rb.html +1 -1
  597. data/doc/api/ruby/files/ruby-vpi-dynamic_rb.html +1 -1
  598. data/doc/api/ruby/fr_class_index.html +1 -0
  599. data/doc/api/ruby/fr_file_index.html +0 -1
  600. data/doc/api/ruby/fr_method_index.html +549 -545
  601. data/doc/guide.erb +90 -46
  602. data/doc/guide.html +1629 -2292
  603. data/ext/Rakefile +15 -10
  604. data/ext/extconf.rb +30 -1
  605. data/ext/host.c +11 -7
  606. data/ext/user.c +13 -21
  607. data/lib/ruby-vpi.rb +3 -3
  608. data/lib/ruby-vpi/boot/loader.rb +4 -3
  609. data/lib/ruby-vpi/core/scheduler.rb +113 -122
  610. data/lib/ruby-vpi/runner.rb +2 -3
  611. metadata +39 -35
  612. data/doc/api/ruby/classes/Integer.src/M000020.html +0 -30
  613. data/doc/api/ruby/classes/RubyVPI.src/M000032.html +0 -42
  614. data/doc/api/ruby/classes/String.src/M000025.html +0 -41
  615. data/doc/api/ruby/classes/VPI.src/M000034.html +0 -19
  616. data/doc/api/ruby/classes/VPI.src/M000035.html +0 -18
  617. data/doc/api/ruby/classes/VPI/Handle.src/M000440.html +0 -18
  618. data/doc/api/ruby/classes/VPI/Handle.src/M000466.html +0 -21
  619. data/doc/api/ruby/classes/VPI/Handle.src/M000467.html +0 -28
  620. data/doc/api/ruby/classes/VPI/Handle.src/M000469.html +0 -19
  621. data/doc/api/ruby/files/lib/ruby-vpi/runner_boot_loader_rb.html +0 -150
  622. data/lib/ruby-vpi/runner_boot_loader.rb +0 -161
@@ -1,9 +1,13 @@
1
1
  # Build file for the native C extension.
2
2
  #
3
3
  # = Environment variables
4
- # CFLAGS:: Arguments to the compiler.
5
- # LDFLAGS:: Arguments to the linker.
6
- # SIMULATOR:: ID of the simulator.
4
+ #
5
+ # CFLAGS :: Override the default options passed to the compiler.
6
+ # CFLAGS_EXTRA :: Provide additional options for the compiler.
7
+ # LDFLAGS :: Override the default options passed to the linker.
8
+ # LDFLAGS_EXTRA :: Provide additional options for the linker.
9
+ # SIMULATOR :: ID of the simulator.
10
+ #
7
11
  #--
8
12
  # Copyright 2006 Suraj N. Kurapati
9
13
  # See the file named LICENSE for details.
@@ -21,16 +25,17 @@ task :default => 'Makefile' do |t|
21
25
  end
22
26
 
23
27
  file 'Makefile' => [:swig, 'extconf.rb'] do |t|
24
- cflags = "#{ENV['CFLAGS']} -g -Werror"
28
+ args = []
29
+
30
+ if flags = ENV['CFLAGS']
31
+ args << "--with-cflags=#{flags}"
32
+ end
25
33
 
26
- # detect ruby version on behalf of C extension
27
- v = RUBY_VERSION.split('.')
28
- until v.empty?
29
- cflags << " -DHAVE_RUBY_#{v.join '_'}"
30
- v.pop
34
+ if flags = ENV['LDFLAGS']
35
+ args << "--with-ldflags=#{flags}"
31
36
  end
32
37
 
33
- ruby t.prerequisites[1], "--with-cflags=#{cflags}", "--with-ldflags=#{ENV['LDFLAGS']}"
38
+ ruby t.prerequisites[1], *args
34
39
  end
35
40
 
36
41
  CLEAN.include 'Makefile', 'mkmf.log', '*.o', "*.#{Config::CONFIG['DLEXT']}"
@@ -1,4 +1,10 @@
1
1
  # Generates a makefile for buiding the C extension.
2
+ #
3
+ # = Environment variables
4
+ #
5
+ # CFLAGS_EXTRA :: Provide additional options for the compiler.
6
+ # LDFLAGS_EXTRA :: Provide additional options for the linker.
7
+ #
2
8
  #--
3
9
  # Copyright 2006 Suraj N. Kurapati
4
10
  # See the file named LICENSE for details.
@@ -28,4 +34,27 @@ require 'mkmf'
28
34
  end
29
35
 
30
36
  # generate the makefile
31
- create_makefile 'ruby-vpi' if hasRuby
37
+ if hasRuby
38
+ # apply additional arguments for compiler and linker
39
+ if flags = ENV['CFLAGS_EXTRA']
40
+ $CFLAGS << " #{flags}"
41
+ end
42
+
43
+ if flags = ENV['LDFLAGS_EXTRA']
44
+ $LDFLAGS << " #{flags}"
45
+ end
46
+
47
+ $CFLAGS << ' -Wall'
48
+
49
+ # disable optimization when debugging
50
+ $CFLAGS << ' -g -O0' if $CFLAGS =~ /-DDEBUG\b/
51
+
52
+ # detect ruby version on behalf of C extension
53
+ v = RUBY_VERSION.split('.')
54
+ until v.empty?
55
+ $CFLAGS << " -DHAVE_RUBY_#{v.join '_'}"
56
+ v.pop
57
+ end
58
+
59
+ create_makefile 'ruby-vpi'
60
+ end
data/ext/host.c CHANGED
@@ -13,7 +13,7 @@
13
13
  VALUE RubyVPI_host_gProgName;
14
14
 
15
15
  #ifdef RUBY_GLOBAL_SETUP
16
- RUBY_GLOBAL_SETUP
16
+ RUBY_GLOBAL_SETUP
17
17
  #endif
18
18
 
19
19
  PLI_INT32 RubyVPI_host_init(p_cb_data aCallback)
@@ -23,8 +23,8 @@ PLI_INT32 RubyVPI_host_init(p_cb_data aCallback)
23
23
  //
24
24
 
25
25
  #ifdef RUBY_INIT_STACK
26
- RubyVPI_util_debug("Host: RUBY_INIT_STACK");
27
- RUBY_INIT_STACK;
26
+ RubyVPI_util_debug("Host: RUBY_INIT_STACK");
27
+ RUBY_INIT_STACK;
28
28
  #endif
29
29
 
30
30
  RubyVPI_util_debug("Host: ruby_init()");
@@ -41,11 +41,11 @@ PLI_INT32 RubyVPI_host_init(p_cb_data aCallback)
41
41
  ruby_init_loadpath();
42
42
 
43
43
  #ifdef HAVE_RUBY_1_9
44
- RubyVPI_util_debug("Host: ruby_init_gems(Qtrue)");
45
- rb_const_set(rb_define_module("Gem"), rb_intern("Enable"), Qtrue);
44
+ RubyVPI_util_debug("Host: ruby_init_gems(Qtrue)");
45
+ rb_const_set(rb_define_module("Gem"), rb_intern("Enable"), Qtrue);
46
46
 
47
- RubyVPI_util_debug("Host: Init_prelude()");
48
- Init_prelude();
47
+ RubyVPI_util_debug("Host: Init_prelude()");
48
+ Init_prelude();
49
49
  #endif
50
50
 
51
51
 
@@ -63,6 +63,8 @@ PLI_INT32 RubyVPI_host_init(p_cb_data aCallback)
63
63
 
64
64
  RubyVPI_util_debug("Host: user_init()");
65
65
  RubyVPI_user_init();
66
+
67
+ return 0;
66
68
  }
67
69
 
68
70
  PLI_INT32 RubyVPI_host_fini(p_cb_data aCallback)
@@ -72,4 +74,6 @@ PLI_INT32 RubyVPI_host_fini(p_cb_data aCallback)
72
74
 
73
75
  RubyVPI_util_debug("Host: ruby_finalize()");
74
76
  ruby_finalize();
77
+
78
+ return 0;
75
79
  }
data/ext/user.c CHANGED
@@ -36,8 +36,13 @@ static VALUE RubyVPI_user_body(char* aUserScript)
36
36
 
37
37
  RubyVPI_util_debug("Ruby: END");
38
38
  // don't wait for anyone to resume me anymore
39
+
40
+ return Qnil;
39
41
  }
40
42
 
43
+ static VALUE RubyVPI_user__module_RubyVPI = Qnil;
44
+ static ID RubyVPI_user__symbol_resume = 0;
45
+
41
46
  void RubyVPI_user_init()
42
47
  {
43
48
  // mailbox init
@@ -47,49 +52,36 @@ void RubyVPI_user_init()
47
52
 
48
53
  // ruby thread init
49
54
  RubyVPI_util_debug("User: ruby thread init");
50
-
51
55
  rb_thread_create(RubyVPI_user_body, "ruby-vpi/boot/loader");
52
56
 
53
57
 
54
58
  // wait for thread to pause
55
59
  RubyVPI_util_debug("User: calling RubyVPI.attach");
56
60
 
57
- VALUE target = rb_const_get(rb_cObject, rb_intern("RubyVPI"));
58
- ID method = rb_intern("attach");
59
- rb_funcall(target, method, 0);
61
+ RubyVPI_user__module_RubyVPI = rb_const_get(rb_cObject, rb_intern("RubyVPI"));
62
+ rb_funcall(RubyVPI_user__module_RubyVPI, rb_intern("attach"), 0);
60
63
 
61
64
  RubyVPI_util_debug("User: calling RubyVPI.attach DONE");
62
65
 
63
66
 
64
67
  RubyVPI_util_debug("User: ruby thread is active & ran once");
68
+ RubyVPI_user__symbol_resume = rb_intern("resume");
65
69
  }
66
70
 
67
71
  void RubyVPI_user_fini()
68
72
  {
69
- // nothing to clean up; Ruby will garbage collect everything
73
+ RubyVPI_user__module_RubyVPI = Qnil;
74
+ // Ruby will garbage collect everything else
70
75
  }
71
76
 
72
77
  PLI_INT32 RubyVPI_user_resume(p_cb_data aCallback)
73
78
  {
74
79
  RubyVPI_util_debug("Main: callback = %p", aCallback);
75
-
76
- if (aCallback)
77
- {
78
- RubyVPI_util_debug("Main: callback.user_data = %p", aCallback->user_data);
79
- }
80
- else
81
- {
82
- RubyVPI_util_debug("Main: callback is NULL");
83
- }
84
-
85
- RubyVPI_util_debug("Main: ruby callback for %p =>", aCallback);
86
- VALUE call = RubyVPI_binding_rubify_callback(aCallback);
87
-
88
- VALUE target = rb_const_get(rb_cObject, rb_intern("RubyVPI"));
89
- ID method = rb_intern("resume");
80
+ RubyVPI_util_debug("Main: callback.user_data = %p", aCallback ? aCallback->user_data : 0);
90
81
 
91
82
  RubyVPI_util_debug("Main: calling RubyVPI.resume");
92
- rb_funcall(target, method, 1, call); // pass callback to user code
83
+ // pass VPI callback to user code as Ruby object
84
+ rb_funcall(RubyVPI_user__module_RubyVPI, RubyVPI_user__symbol_resume, 1, RubyVPI_binding_rubify_callback(aCallback));
93
85
 
94
86
  return 0;
95
87
  }
@@ -6,9 +6,9 @@
6
6
  module RubyVPI
7
7
  Project = {
8
8
  :name => 'ruby-vpi',
9
- :version => '21.0.0',
10
- :release => '2008-06-08',
11
- :website => "http://ruby-vpi.rubyforge.org",
9
+ :version => '21.1.0',
10
+ :release => '2008-08-02',
11
+ :website => 'http://ruby-vpi.rubyforge.org',
12
12
  :home => File.expand_path(File.join(File.dirname(__FILE__), '..'))
13
13
  }
14
14
 
@@ -141,11 +141,11 @@ begin
141
141
  include VPI
142
142
  end
143
143
 
144
- # load the user-defined test loader
145
- RubyVPI::Scheduler.start
144
+ RubyVPI::Scheduler.run do
145
+ # load the user-defined test loader
146
146
  require ENV['RUBYVPI_TEST_LOADER']
147
147
 
148
- # simulate at_exit handler invocation
148
+ # simulate at_exit handler invocation
149
149
  Kernel.__RubyVPI__simulate_exit
150
150
 
151
151
  # restore original at_exit handler
@@ -153,6 +153,7 @@ begin
153
153
  alias at_exit __RubyVPI__orig_at_exit
154
154
  undef __RubyVPI__simulate_exit
155
155
  end
156
+ end
156
157
 
157
158
  RubyVPI.detach
158
159
 
@@ -1,4 +1,4 @@
1
- # Concurrent processes.
1
+ # Concurrent processes (coroutines).
2
2
  #--
3
3
  # Copyright 2007 Suraj N. Kurapati
4
4
  # See the file named LICENSE for details.
@@ -6,147 +6,159 @@
6
6
  Thread.abort_on_exception = true
7
7
 
8
8
  require 'singleton'
9
+ require 'generator'
9
10
 
10
11
  module RubyVPI
11
12
  class SchedulerClass #:nodoc:
12
13
  include Singleton
13
14
 
15
+ def initialize
16
+ @writes = Hash.new {|h,k| h[k] = []}
17
+ @writes_lock = Mutex.new
14
18
 
15
- Task = Struct.new(:thread, :state)
19
+ # for coroutines in Ruby-based prototypes of Verilog hardware
20
+ @routines = []
21
+ @routines_lock = Mutex.new
22
+ @current_routine = nil
16
23
 
17
- class Task #:nodoc:
18
- def run
19
- self.state = :run
20
- self.thread.wakeup
21
- end
24
+ @current_time = 0
22
25
 
23
- def stop
24
- self.state = :wait
25
- Thread.stop
26
+ # allow "initial" blocks in Verilog code of DUT to take effect
27
+ if @current_time.zero?
28
+ unless RubyVPI::USE_PROTOTYPE
29
+ advance_to_read_only_slot
30
+ end
26
31
  end
32
+ end
33
+
34
+ # Returns the current simulation time, as tracked by the scheduler.
35
+ attr_reader :current_time
27
36
 
28
- def stop?
29
- self.thread.stop? and self.state == :wait
37
+ # Registers a new routine with the scheduler. The given block is the body
38
+ # of the routine and the given arguments are passed directly to the block.
39
+ def register_routine *aRoutineArgs, &aRoutineBody
40
+ @routines_lock.synchronize do
41
+ @routines << Routine.new(*aRoutineArgs, &aRoutineBody)
30
42
  end
31
43
  end
32
44
 
45
+ # Makes the current routine wait for the
46
+ # scheduler to arrive in the next time step.
47
+ def pause_current_routine
48
+ @current_routine.pause
49
+ end
33
50
 
34
- def initialize
35
- @thread2task = { Thread.current => Task.new(Thread.current, :run) }
36
- @thread2task_soft = @thread2task.dup # software threads
37
- @thread2task_hard = {} # hardware threads (Ruby prototype of DUT)
38
- @thread2task_lock = Mutex.new
51
+ # Runs the scheduler until there are no more routines to be scheduled.
52
+ def run &aRoutineBody
53
+ main = Routine.new(&aRoutineBody)
54
+
55
+ until main.done?
56
+ # run software in current time step
57
+ resume_routine main
39
58
 
40
- # base case: hardware runs first before any software does at startup
41
- @time = 0
59
+ Edge.refresh_cache
42
60
 
61
+ # go to time slot where writing is permitted
62
+ # before applying captured write operations
43
63
  unless RubyVPI::USE_PROTOTYPE
44
- Callback.relay_verilog(VPI::CbReadOnlySynch, 0)
64
+ if RubyVPI::USE_SIMULATOR == :vsim
65
+ Callback.relay_verilog(VPI::CbAfterDelay, 0)
66
+ else
67
+ Callback.relay_verilog(VPI::CbAfterDelay, 1)
68
+ end
45
69
  end
46
70
 
47
- @scheduler = Thread.new do
48
- # pause because boot loader is not fully initialized yet
49
- Thread.stop
50
-
51
- loop do
52
- # run software in current time step
53
- run_tasks @thread2task_soft, true
54
- Edge.refresh_cache
55
-
56
- # go to time slot where writing is permitted before flushing writes
57
- unless RubyVPI::USE_PROTOTYPE
58
- Callback.relay_verilog(VPI::CbAfterDelay, 1)
59
- end
71
+ apply_writes
60
72
 
61
- flush_writes
73
+ # run hardware in next time step
74
+ @current_time += 1
62
75
 
63
- # run hardware in next time step
64
- @time += 1
76
+ if RubyVPI::USE_PROTOTYPE
77
+ @routines_lock.synchronize do
78
+ @routines.reject! {|r| r.done? }
65
79
 
66
- if RubyVPI::USE_PROTOTYPE
67
- run_tasks @thread2task_hard, false
68
- flush_writes
69
- else
70
- Callback.relay_verilog(VPI::CbReadOnlySynch, 0)
80
+ @routines.each do |r|
81
+ resume_routine r
71
82
  end
83
+ end
84
+
85
+ apply_writes
86
+ else
87
+ advance_to_read_only_slot
72
88
  end
73
89
  end
90
+ end
74
91
 
75
-
76
- @handle2write = Hash.new {|h,k| h[k] = []}
77
- @handle2write_lock = Mutex.new
92
+ # Captures the given write operation so it
93
+ # can be flushed later, at the correct time.
94
+ def capture_write aHandle, *aArgs
95
+ @writes_lock.synchronize do
96
+ @writes[aHandle] << Write.new(Thread.current, caller, aArgs)
97
+ end
78
98
  end
79
99
 
80
- def current_time
81
- @time
100
+ private
101
+
102
+ def advance_to_read_only_slot
103
+ Callback.relay_verilog(VPI::CbReadOnlySynch, 0)
82
104
  end
83
105
 
84
- def start
85
- @scheduler.wakeup
106
+ # Resumes the given routine while marking it as the current one.
107
+ def resume_routine aRoutine
108
+ @current_routine = aRoutine
109
+ @current_routine.resume
110
+ @current_routine = nil
86
111
  end
87
112
 
88
- # Registers the calling thread with the scheduler.
89
- def attach
90
- key = Thread.current
113
+ # Represents Verilog's "process block" construct (a coroutine or concurrent
114
+ # process), which is used as the body of an "initial" or "forever" block.
115
+ class Routine
116
+ def initialize *aLogicArgs, &aLogicBody
117
+ raise ArgumentError unless block_given?
91
118
 
92
- hash =
93
- if caller.grep(/_proto\.rb/).empty?
94
- @thread2task_soft
95
- else
96
- @thread2task_hard
119
+ @gen = Generator.new do |@ctl|
120
+ pause # until we are ready to begin
121
+ aLogicBody.call(*aLogicArgs)
97
122
  end
98
-
99
- @thread2task_lock.synchronize do
100
- task = Task.new(key, :run)
101
- hash[key] = task
102
- @thread2task[key] = task
103
123
  end
104
- end
105
124
 
106
- # Unregisters the calling thread from the scheduler.
107
- def detach
108
- key = Thread.current
109
-
110
- @thread2task_lock.synchronize do
111
- @thread2task.delete key
112
- @thread2task_hard.delete key
113
- @thread2task_soft.delete key
125
+ # Pauses the execution of this process block.
126
+ #
127
+ # Must be called from *inside* the logic of this process block.
128
+ def pause
129
+ @ctl.yield nil
114
130
  end
115
- end
116
-
117
- # Waits for the scheduler to arrive in the next time step.
118
- def await
119
- key = Thread.current
120
131
 
121
- task = @thread2task_lock.synchronize do
122
- @thread2task[key]
132
+ # Returns true if this process block is
133
+ # currently paused and can thus be resumed.
134
+ #
135
+ # Must be called from *outside* the logic of this process block.
136
+ def pause?
137
+ @gen.next?
123
138
  end
124
139
 
125
- task.stop
126
- end
127
-
128
- def ensure_caller_is_registered
129
- unless @thread2task_lock.synchronize {@thread2task.key? Thread.current}
130
- raise SecurityError, 'This method may only be invoked from within a process (see the VPI::process() method).'
140
+ # Resumes the execution of this process block.
141
+ #
142
+ # Must be called from *outside* the logic of this process block.
143
+ def resume
144
+ @gen.next
131
145
  end
132
- end
133
146
 
134
- Write = Struct.new :thread, :trace, :args
135
-
136
- # Captures the given write operation so it
137
- # can be flushed later, at the correct time.
138
- def capture_write aHandle, *aArgs
139
- @handle2write_lock.synchronize do
140
- @handle2write[aHandle] << Write.new(Thread.current, caller, aArgs)
147
+ # Returns true if this process block is
148
+ # finished (it cannot be resumed anymore).
149
+ #
150
+ # Must be called from *outside* the logic of this process block.
151
+ def done?
152
+ not pause?
141
153
  end
142
154
  end
143
155
 
144
- private
156
+ Write = Struct.new :thread, :trace, :args
145
157
 
146
158
  # Flushes all captured writes.
147
- def flush_writes
148
- @handle2write_lock.synchronize do
149
- @handle2write.each_pair do |handle, writes|
159
+ def apply_writes
160
+ @writes_lock.synchronize do
161
+ @writes.each_pair do |handle, writes|
150
162
  if writes.map {|w| w.thread}.uniq.length > 1
151
163
  culprits = writes.map {|w| "\n\n#{w.thread}" << w.trace.map {|x| "\n\t#{x}"}.join}.join
152
164
  STDERR.puts "Race condition detected at time step #{current_time}: the logic value of handle #{handle} is being modified by more than one concurrent process: #{culprits}"
@@ -161,27 +173,14 @@ module RubyVPI
161
173
  end
162
174
  end
163
175
  end
164
-
165
- def run_tasks aHash, aExitWhenEmpty
166
- @thread2task_lock.synchronize do
167
- tasks = aHash.values
168
- tasks.each {|t| t.run}
169
-
170
- if aExitWhenEmpty && tasks.empty?
171
- Thread.exit
172
- end
173
- end
174
-
175
- until @thread2task_lock.synchronize { aHash.values.all? {|t| t.stop? } }
176
- Thread.pass
177
- end
178
- end
179
176
  end
180
177
 
181
178
  Scheduler = SchedulerClass.instance
182
179
  end
183
180
 
184
181
  module VPI
182
+ # intercept all writes to VPI handles so that
183
+ # they can be applied later by the scheduler
185
184
  alias_method :__scheduler__vpi_put_value, :vpi_put_value
186
185
  module_function :__scheduler__vpi_put_value
187
186
 
@@ -197,8 +196,7 @@ module VPI
197
196
 
198
197
  # Wait until the simulation advances by the given number of time steps.
199
198
  def advance_time aNumTimeSteps = 1
200
- RubyVPI::Scheduler.ensure_caller_is_registered
201
- aNumTimeSteps.times { RubyVPI::Scheduler.await }
199
+ aNumTimeSteps.times { RubyVPI::Scheduler.pause_current_routine }
202
200
  end
203
201
 
204
202
  alias wait advance_time
@@ -206,15 +204,8 @@ module VPI
206
204
 
207
205
  # Creates a new concurrent process, which will execute the
208
206
  # given block with the given arguments, and returns it.
209
- def process *aBlockArgs
210
- RubyVPI::Scheduler.ensure_caller_is_registered
211
- raise ArgumentError, 'block must be given' unless block_given?
212
-
213
- Thread.new do
214
- RubyVPI::Scheduler.attach
215
- yield(*aBlockArgs)
216
- RubyVPI::Scheduler.detach
217
- end
207
+ def process *aBlockArgs, &aBlock
208
+ RubyVPI::Scheduler.register_routine(*aBlockArgs, &aBlock)
218
209
  end
219
210
 
220
211
  # Wraps the given block inside an infinite loop and executes it
@@ -226,7 +217,7 @@ module VPI
226
217
  aBlock.call(*aBlockArgs)
227
218
  finishTime = VPI.current_time
228
219
 
229
- VPI.advance_time unless finishTime > startTime
220
+ advance_time unless finishTime > startTime
230
221
  end
231
222
  end
232
223
  end