ruby-vpi 21.0.0 → 21.1.0

Sign up to get free protection for your applications and to get access to all the features.
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