ruby-vpi 20.0.0 → 21.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (686) hide show
  1. data/LICENSE +2 -2
  2. data/Rakefile +2 -3
  3. data/bin/generate/runner.rake +1 -1
  4. data/doc/README +9 -0
  5. data/doc/Rakefile +21 -0
  6. data/doc/api/c/annotated.html +1 -1
  7. data/doc/api/c/binding_8c.html +76 -0
  8. data/doc/api/c/binding_8h.html +76 -0
  9. data/doc/api/c/files.html +9 -8
  10. data/doc/api/c/functions.html +1 -1
  11. data/doc/api/c/functions_vars.html +1 -1
  12. data/doc/api/c/globals.html +61 -11
  13. data/doc/api/c/globals_0x65.html +2 -8
  14. data/doc/api/c/globals_0x70.html +2 -8
  15. data/doc/api/c/globals_0x72.html +45 -25
  16. data/doc/api/c/globals_0x76.html +6 -35
  17. data/doc/api/c/globals_0x78.html +2 -8
  18. data/doc/api/c/globals_defs.html +2 -9
  19. data/doc/api/c/globals_defs_0x65.html +2 -3
  20. data/doc/api/c/globals_defs_0x70.html +2 -3
  21. data/doc/api/c/{globals_enum.html → globals_defs_0x72.html} +25 -7
  22. data/doc/api/c/globals_defs_0x76.html +4 -19
  23. data/doc/api/c/globals_defs_0x78.html +2 -3
  24. data/doc/api/c/globals_func.html +32 -37
  25. data/doc/api/c/globals_type.html +1 -3
  26. data/doc/api/c/globals_vars.html +5 -13
  27. data/doc/api/c/host_8c.html +93 -0
  28. data/doc/api/c/host_8h.html +69 -0
  29. data/doc/api/c/index.html +1 -1
  30. data/doc/api/c/main_8c.html +35 -33
  31. data/doc/api/c/structs__cb__data.html +1 -1
  32. data/doc/api/c/structs__vpi__delay.html +1 -1
  33. data/doc/api/c/structs__vpi__error__info.html +1 -1
  34. data/doc/api/c/structs__vpi__strengthval.html +1 -1
  35. data/doc/api/c/structs__vpi__systf__data.html +1 -1
  36. data/doc/api/c/structs__vpi__time.html +1 -1
  37. data/doc/api/c/structs__vpi__value.html +1 -1
  38. data/doc/api/c/structs__vpi__vecval.html +1 -1
  39. data/doc/api/c/structs__vpi__vlog__info.html +1 -1
  40. data/doc/api/c/user_8c.html +170 -0
  41. data/doc/api/c/user_8h.html +98 -0
  42. data/doc/api/c/util_8h.html +171 -0
  43. data/doc/api/c/verilog_8h.html +2 -158
  44. data/doc/api/c/vpi__user_8h.html +1 -1
  45. data/doc/api/ruby/classes/ERB.html +5 -5
  46. data/doc/api/ruby/classes/ERB.src/{M000025.html → M000026.html} +0 -0
  47. data/doc/api/ruby/classes/FileUtils.html +6 -6
  48. data/doc/api/ruby/classes/FileUtils.src/{M000026.html → M000027.html} +0 -0
  49. data/doc/api/ruby/classes/Float.html +6 -6
  50. data/doc/api/ruby/classes/Float.src/{M000020.html → M000021.html} +0 -0
  51. data/doc/api/ruby/classes/Integer.html +65 -65
  52. data/doc/api/ruby/classes/Integer.src/M000009.html +11 -4
  53. data/doc/api/ruby/classes/Integer.src/M000010.html +4 -4
  54. data/doc/api/ruby/classes/Integer.src/M000011.html +4 -4
  55. data/doc/api/ruby/classes/Integer.src/M000012.html +4 -4
  56. data/doc/api/ruby/classes/Integer.src/M000013.html +4 -4
  57. data/doc/api/ruby/classes/Integer.src/M000014.html +18 -0
  58. data/doc/api/ruby/classes/Integer.src/M000017.html +5 -11
  59. data/doc/api/ruby/classes/Integer.src/M000018.html +14 -8
  60. data/doc/api/ruby/classes/Integer.src/M000019.html +8 -13
  61. data/doc/api/ruby/classes/Integer.src/M000020.html +30 -0
  62. data/doc/api/ruby/classes/Kernel.html +143 -0
  63. data/doc/api/ruby/classes/Object.html +5 -0
  64. data/doc/api/ruby/classes/RDoc.html +5 -5
  65. data/doc/api/ruby/classes/RDoc.src/{M000541.html → M000546.html} +0 -0
  66. data/doc/api/ruby/classes/RubyVPI.html +148 -17
  67. data/doc/api/ruby/classes/RubyVPI.src/M000028.html +19 -0
  68. data/doc/api/ruby/classes/RubyVPI.src/M000029.html +19 -0
  69. data/doc/api/ruby/classes/RubyVPI.src/M000030.html +18 -0
  70. data/doc/api/ruby/classes/RubyVPI.src/M000031.html +18 -0
  71. data/doc/api/ruby/classes/RubyVPI.src/{M000027.html → M000032.html} +9 -1
  72. data/doc/api/ruby/classes/RubyVPI/SIMULATORS.html +5 -5
  73. data/doc/api/ruby/classes/RubyVPI/SIMULATORS.src/{M000028.html → M000033.html} +0 -0
  74. data/doc/api/ruby/classes/String.html +20 -20
  75. data/doc/api/ruby/classes/String.src/M000022.html +22 -4
  76. data/doc/api/ruby/classes/String.src/M000023.html +4 -4
  77. data/doc/api/ruby/classes/String.src/M000024.html +4 -27
  78. data/doc/api/ruby/classes/String.src/M000025.html +41 -0
  79. data/doc/api/ruby/classes/VPI.html +2066 -2066
  80. data/doc/api/ruby/classes/VPI.src/M000034.html +5 -12
  81. data/doc/api/ruby/classes/VPI.src/{M000030.html → M000035.html} +1 -1
  82. data/doc/api/ruby/classes/VPI.src/M000036.html +6 -3
  83. data/doc/api/ruby/classes/VPI.src/M000038.html +12 -3
  84. data/doc/api/ruby/classes/VPI.src/M000039.html +13 -3
  85. data/doc/api/ruby/classes/VPI.src/M000041.html +3 -3
  86. data/doc/api/ruby/classes/VPI.src/M000042.html +3 -3
  87. data/doc/api/ruby/classes/VPI.src/M000043.html +3 -3
  88. data/doc/api/ruby/classes/VPI.src/M000044.html +3 -3
  89. data/doc/api/ruby/classes/VPI.src/M000045.html +3 -3
  90. data/doc/api/ruby/classes/VPI.src/M000046.html +3 -3
  91. data/doc/api/ruby/classes/VPI.src/M000047.html +3 -3
  92. data/doc/api/ruby/classes/VPI.src/M000048.html +3 -3
  93. data/doc/api/ruby/classes/VPI.src/M000049.html +3 -3
  94. data/doc/api/ruby/classes/VPI.src/M000050.html +3 -3
  95. data/doc/api/ruby/classes/VPI.src/M000051.html +3 -3
  96. data/doc/api/ruby/classes/VPI.src/M000052.html +3 -3
  97. data/doc/api/ruby/classes/VPI.src/M000053.html +3 -3
  98. data/doc/api/ruby/classes/VPI.src/M000054.html +3 -3
  99. data/doc/api/ruby/classes/VPI.src/M000055.html +3 -3
  100. data/doc/api/ruby/classes/VPI.src/M000056.html +3 -3
  101. data/doc/api/ruby/classes/VPI.src/M000057.html +3 -3
  102. data/doc/api/ruby/classes/VPI.src/M000058.html +3 -3
  103. data/doc/api/ruby/classes/VPI.src/M000059.html +3 -3
  104. data/doc/api/ruby/classes/VPI.src/M000060.html +3 -3
  105. data/doc/api/ruby/classes/VPI.src/M000061.html +3 -3
  106. data/doc/api/ruby/classes/VPI.src/M000062.html +3 -3
  107. data/doc/api/ruby/classes/VPI.src/M000063.html +3 -3
  108. data/doc/api/ruby/classes/VPI.src/M000064.html +3 -3
  109. data/doc/api/ruby/classes/VPI.src/M000065.html +3 -3
  110. data/doc/api/ruby/classes/VPI.src/M000066.html +3 -3
  111. data/doc/api/ruby/classes/VPI.src/M000067.html +3 -3
  112. data/doc/api/ruby/classes/VPI.src/M000068.html +3 -3
  113. data/doc/api/ruby/classes/VPI.src/M000069.html +3 -3
  114. data/doc/api/ruby/classes/VPI.src/M000070.html +3 -3
  115. data/doc/api/ruby/classes/VPI.src/M000071.html +3 -3
  116. data/doc/api/ruby/classes/VPI.src/M000072.html +3 -3
  117. data/doc/api/ruby/classes/VPI.src/M000073.html +3 -3
  118. data/doc/api/ruby/classes/VPI.src/M000074.html +3 -3
  119. data/doc/api/ruby/classes/VPI.src/M000075.html +3 -3
  120. data/doc/api/ruby/classes/VPI.src/M000076.html +3 -3
  121. data/doc/api/ruby/classes/VPI.src/M000077.html +3 -3
  122. data/doc/api/ruby/classes/VPI.src/M000078.html +3 -3
  123. data/doc/api/ruby/classes/VPI.src/M000079.html +3 -3
  124. data/doc/api/ruby/classes/VPI.src/M000080.html +3 -3
  125. data/doc/api/ruby/classes/VPI.src/M000081.html +3 -3
  126. data/doc/api/ruby/classes/VPI.src/M000082.html +3 -3
  127. data/doc/api/ruby/classes/VPI.src/M000083.html +3 -3
  128. data/doc/api/ruby/classes/VPI.src/M000084.html +3 -3
  129. data/doc/api/ruby/classes/VPI.src/M000085.html +3 -3
  130. data/doc/api/ruby/classes/VPI.src/M000086.html +3 -3
  131. data/doc/api/ruby/classes/VPI.src/M000087.html +3 -3
  132. data/doc/api/ruby/classes/VPI.src/M000088.html +3 -3
  133. data/doc/api/ruby/classes/VPI.src/M000089.html +3 -3
  134. data/doc/api/ruby/classes/VPI.src/M000090.html +3 -3
  135. data/doc/api/ruby/classes/VPI.src/M000091.html +3 -3
  136. data/doc/api/ruby/classes/VPI.src/M000092.html +3 -3
  137. data/doc/api/ruby/classes/VPI.src/M000093.html +3 -3
  138. data/doc/api/ruby/classes/VPI.src/M000094.html +3 -3
  139. data/doc/api/ruby/classes/VPI.src/M000095.html +3 -3
  140. data/doc/api/ruby/classes/VPI.src/M000096.html +3 -3
  141. data/doc/api/ruby/classes/VPI.src/M000097.html +3 -3
  142. data/doc/api/ruby/classes/VPI.src/M000098.html +3 -3
  143. data/doc/api/ruby/classes/VPI.src/M000099.html +3 -3
  144. data/doc/api/ruby/classes/VPI.src/M000100.html +3 -3
  145. data/doc/api/ruby/classes/VPI.src/M000101.html +3 -3
  146. data/doc/api/ruby/classes/VPI.src/M000102.html +3 -3
  147. data/doc/api/ruby/classes/VPI.src/M000103.html +3 -3
  148. data/doc/api/ruby/classes/VPI.src/M000104.html +3 -3
  149. data/doc/api/ruby/classes/VPI.src/M000105.html +3 -3
  150. data/doc/api/ruby/classes/VPI.src/M000106.html +3 -3
  151. data/doc/api/ruby/classes/VPI.src/M000107.html +3 -3
  152. data/doc/api/ruby/classes/VPI.src/M000108.html +3 -3
  153. data/doc/api/ruby/classes/VPI.src/M000109.html +3 -3
  154. data/doc/api/ruby/classes/VPI.src/M000110.html +3 -3
  155. data/doc/api/ruby/classes/VPI.src/M000111.html +3 -3
  156. data/doc/api/ruby/classes/VPI.src/M000112.html +3 -3
  157. data/doc/api/ruby/classes/VPI.src/M000113.html +3 -3
  158. data/doc/api/ruby/classes/VPI.src/M000114.html +3 -3
  159. data/doc/api/ruby/classes/VPI.src/M000115.html +3 -3
  160. data/doc/api/ruby/classes/VPI.src/M000116.html +3 -3
  161. data/doc/api/ruby/classes/VPI.src/M000117.html +3 -3
  162. data/doc/api/ruby/classes/VPI.src/M000118.html +3 -3
  163. data/doc/api/ruby/classes/VPI.src/M000119.html +3 -3
  164. data/doc/api/ruby/classes/VPI.src/M000120.html +3 -3
  165. data/doc/api/ruby/classes/VPI.src/M000121.html +3 -3
  166. data/doc/api/ruby/classes/VPI.src/M000122.html +3 -3
  167. data/doc/api/ruby/classes/VPI.src/M000123.html +3 -3
  168. data/doc/api/ruby/classes/VPI.src/M000124.html +3 -3
  169. data/doc/api/ruby/classes/VPI.src/M000125.html +3 -3
  170. data/doc/api/ruby/classes/VPI.src/M000126.html +3 -3
  171. data/doc/api/ruby/classes/VPI.src/M000127.html +3 -3
  172. data/doc/api/ruby/classes/VPI.src/M000128.html +3 -3
  173. data/doc/api/ruby/classes/VPI.src/M000129.html +3 -3
  174. data/doc/api/ruby/classes/VPI.src/M000130.html +3 -3
  175. data/doc/api/ruby/classes/VPI.src/M000131.html +3 -3
  176. data/doc/api/ruby/classes/VPI.src/M000132.html +3 -3
  177. data/doc/api/ruby/classes/VPI.src/M000133.html +3 -3
  178. data/doc/api/ruby/classes/VPI.src/M000134.html +3 -3
  179. data/doc/api/ruby/classes/VPI.src/M000135.html +3 -3
  180. data/doc/api/ruby/classes/VPI.src/M000136.html +3 -3
  181. data/doc/api/ruby/classes/VPI.src/M000137.html +3 -3
  182. data/doc/api/ruby/classes/VPI.src/M000138.html +3 -3
  183. data/doc/api/ruby/classes/VPI.src/M000139.html +3 -3
  184. data/doc/api/ruby/classes/VPI.src/M000140.html +3 -3
  185. data/doc/api/ruby/classes/VPI.src/M000141.html +3 -3
  186. data/doc/api/ruby/classes/VPI.src/M000142.html +3 -3
  187. data/doc/api/ruby/classes/VPI.src/M000143.html +3 -3
  188. data/doc/api/ruby/classes/VPI.src/M000144.html +3 -3
  189. data/doc/api/ruby/classes/VPI.src/M000145.html +3 -3
  190. data/doc/api/ruby/classes/VPI.src/M000146.html +3 -3
  191. data/doc/api/ruby/classes/VPI.src/M000147.html +3 -3
  192. data/doc/api/ruby/classes/VPI.src/M000148.html +3 -3
  193. data/doc/api/ruby/classes/VPI.src/M000149.html +3 -3
  194. data/doc/api/ruby/classes/VPI.src/M000150.html +3 -3
  195. data/doc/api/ruby/classes/VPI.src/M000151.html +3 -3
  196. data/doc/api/ruby/classes/VPI.src/M000152.html +3 -3
  197. data/doc/api/ruby/classes/VPI.src/M000153.html +3 -3
  198. data/doc/api/ruby/classes/VPI.src/M000154.html +3 -3
  199. data/doc/api/ruby/classes/VPI.src/M000155.html +3 -3
  200. data/doc/api/ruby/classes/VPI.src/M000156.html +3 -3
  201. data/doc/api/ruby/classes/VPI.src/M000157.html +3 -3
  202. data/doc/api/ruby/classes/VPI.src/M000158.html +3 -3
  203. data/doc/api/ruby/classes/VPI.src/M000159.html +3 -3
  204. data/doc/api/ruby/classes/VPI.src/M000160.html +3 -3
  205. data/doc/api/ruby/classes/VPI.src/M000161.html +3 -3
  206. data/doc/api/ruby/classes/VPI.src/M000162.html +3 -3
  207. data/doc/api/ruby/classes/VPI.src/M000163.html +3 -3
  208. data/doc/api/ruby/classes/VPI.src/M000164.html +3 -3
  209. data/doc/api/ruby/classes/VPI.src/M000165.html +3 -3
  210. data/doc/api/ruby/classes/VPI.src/M000166.html +3 -3
  211. data/doc/api/ruby/classes/VPI.src/M000167.html +3 -3
  212. data/doc/api/ruby/classes/VPI.src/M000168.html +3 -3
  213. data/doc/api/ruby/classes/VPI.src/M000169.html +3 -3
  214. data/doc/api/ruby/classes/VPI.src/M000170.html +3 -3
  215. data/doc/api/ruby/classes/VPI.src/M000171.html +3 -3
  216. data/doc/api/ruby/classes/VPI.src/M000172.html +3 -3
  217. data/doc/api/ruby/classes/VPI.src/M000173.html +3 -3
  218. data/doc/api/ruby/classes/VPI.src/M000174.html +3 -3
  219. data/doc/api/ruby/classes/VPI.src/M000175.html +3 -3
  220. data/doc/api/ruby/classes/VPI.src/M000176.html +3 -3
  221. data/doc/api/ruby/classes/VPI.src/M000177.html +3 -3
  222. data/doc/api/ruby/classes/VPI.src/M000178.html +3 -3
  223. data/doc/api/ruby/classes/VPI.src/M000179.html +3 -3
  224. data/doc/api/ruby/classes/VPI.src/M000180.html +3 -3
  225. data/doc/api/ruby/classes/VPI.src/M000181.html +3 -3
  226. data/doc/api/ruby/classes/VPI.src/M000182.html +3 -3
  227. data/doc/api/ruby/classes/VPI.src/M000183.html +3 -3
  228. data/doc/api/ruby/classes/VPI.src/M000184.html +3 -3
  229. data/doc/api/ruby/classes/VPI.src/M000185.html +3 -3
  230. data/doc/api/ruby/classes/VPI.src/M000186.html +3 -3
  231. data/doc/api/ruby/classes/VPI.src/M000187.html +3 -3
  232. data/doc/api/ruby/classes/VPI.src/M000188.html +3 -3
  233. data/doc/api/ruby/classes/VPI.src/M000189.html +3 -3
  234. data/doc/api/ruby/classes/VPI.src/M000190.html +3 -3
  235. data/doc/api/ruby/classes/VPI.src/M000191.html +3 -3
  236. data/doc/api/ruby/classes/VPI.src/M000192.html +3 -3
  237. data/doc/api/ruby/classes/VPI.src/M000193.html +3 -3
  238. data/doc/api/ruby/classes/VPI.src/M000194.html +3 -3
  239. data/doc/api/ruby/classes/VPI.src/M000195.html +3 -3
  240. data/doc/api/ruby/classes/VPI.src/M000196.html +3 -3
  241. data/doc/api/ruby/classes/VPI.src/M000197.html +3 -3
  242. data/doc/api/ruby/classes/VPI.src/M000198.html +3 -3
  243. data/doc/api/ruby/classes/VPI.src/M000199.html +3 -3
  244. data/doc/api/ruby/classes/VPI.src/M000200.html +3 -3
  245. data/doc/api/ruby/classes/VPI.src/M000201.html +3 -3
  246. data/doc/api/ruby/classes/VPI.src/M000202.html +3 -3
  247. data/doc/api/ruby/classes/VPI.src/M000203.html +3 -3
  248. data/doc/api/ruby/classes/VPI.src/M000204.html +3 -3
  249. data/doc/api/ruby/classes/VPI.src/M000205.html +3 -3
  250. data/doc/api/ruby/classes/VPI.src/M000206.html +3 -3
  251. data/doc/api/ruby/classes/VPI.src/M000207.html +3 -3
  252. data/doc/api/ruby/classes/VPI.src/M000208.html +3 -3
  253. data/doc/api/ruby/classes/VPI.src/M000209.html +3 -3
  254. data/doc/api/ruby/classes/VPI.src/M000210.html +3 -3
  255. data/doc/api/ruby/classes/VPI.src/M000211.html +3 -3
  256. data/doc/api/ruby/classes/VPI.src/M000212.html +3 -3
  257. data/doc/api/ruby/classes/VPI.src/M000213.html +3 -3
  258. data/doc/api/ruby/classes/VPI.src/M000214.html +3 -3
  259. data/doc/api/ruby/classes/VPI.src/M000215.html +3 -3
  260. data/doc/api/ruby/classes/VPI.src/M000216.html +3 -3
  261. data/doc/api/ruby/classes/VPI.src/M000217.html +3 -3
  262. data/doc/api/ruby/classes/VPI.src/M000218.html +3 -3
  263. data/doc/api/ruby/classes/VPI.src/M000219.html +3 -3
  264. data/doc/api/ruby/classes/VPI.src/M000220.html +3 -3
  265. data/doc/api/ruby/classes/VPI.src/M000221.html +3 -3
  266. data/doc/api/ruby/classes/VPI.src/M000222.html +3 -3
  267. data/doc/api/ruby/classes/VPI.src/M000223.html +3 -3
  268. data/doc/api/ruby/classes/VPI.src/M000224.html +3 -3
  269. data/doc/api/ruby/classes/VPI.src/M000225.html +3 -3
  270. data/doc/api/ruby/classes/VPI.src/M000226.html +3 -3
  271. data/doc/api/ruby/classes/VPI.src/M000227.html +3 -3
  272. data/doc/api/ruby/classes/VPI.src/M000228.html +3 -3
  273. data/doc/api/ruby/classes/VPI.src/M000229.html +3 -3
  274. data/doc/api/ruby/classes/VPI.src/M000230.html +3 -3
  275. data/doc/api/ruby/classes/VPI.src/M000231.html +3 -3
  276. data/doc/api/ruby/classes/VPI.src/M000232.html +3 -3
  277. data/doc/api/ruby/classes/VPI.src/M000233.html +3 -3
  278. data/doc/api/ruby/classes/VPI.src/M000234.html +3 -3
  279. data/doc/api/ruby/classes/VPI.src/M000235.html +3 -3
  280. data/doc/api/ruby/classes/VPI.src/M000236.html +3 -3
  281. data/doc/api/ruby/classes/VPI.src/M000237.html +3 -3
  282. data/doc/api/ruby/classes/VPI.src/M000238.html +3 -3
  283. data/doc/api/ruby/classes/VPI.src/M000239.html +3 -3
  284. data/doc/api/ruby/classes/VPI.src/M000240.html +3 -3
  285. data/doc/api/ruby/classes/VPI.src/M000241.html +3 -3
  286. data/doc/api/ruby/classes/VPI.src/M000242.html +3 -3
  287. data/doc/api/ruby/classes/VPI.src/M000243.html +3 -3
  288. data/doc/api/ruby/classes/VPI.src/M000244.html +3 -3
  289. data/doc/api/ruby/classes/VPI.src/M000245.html +3 -3
  290. data/doc/api/ruby/classes/VPI.src/M000246.html +3 -3
  291. data/doc/api/ruby/classes/VPI.src/M000247.html +3 -3
  292. data/doc/api/ruby/classes/VPI.src/M000248.html +3 -3
  293. data/doc/api/ruby/classes/VPI.src/M000249.html +3 -3
  294. data/doc/api/ruby/classes/VPI.src/M000250.html +3 -3
  295. data/doc/api/ruby/classes/VPI.src/M000251.html +3 -3
  296. data/doc/api/ruby/classes/VPI.src/M000252.html +3 -3
  297. data/doc/api/ruby/classes/VPI.src/M000253.html +3 -3
  298. data/doc/api/ruby/classes/VPI.src/M000254.html +3 -3
  299. data/doc/api/ruby/classes/VPI.src/M000255.html +3 -3
  300. data/doc/api/ruby/classes/VPI.src/M000256.html +3 -3
  301. data/doc/api/ruby/classes/VPI.src/M000257.html +3 -3
  302. data/doc/api/ruby/classes/VPI.src/M000258.html +3 -3
  303. data/doc/api/ruby/classes/VPI.src/M000259.html +3 -3
  304. data/doc/api/ruby/classes/VPI.src/M000260.html +3 -3
  305. data/doc/api/ruby/classes/VPI.src/M000261.html +3 -3
  306. data/doc/api/ruby/classes/VPI.src/M000262.html +3 -3
  307. data/doc/api/ruby/classes/VPI.src/M000263.html +3 -3
  308. data/doc/api/ruby/classes/VPI.src/M000264.html +3 -3
  309. data/doc/api/ruby/classes/VPI.src/M000265.html +3 -3
  310. data/doc/api/ruby/classes/VPI.src/M000266.html +3 -3
  311. data/doc/api/ruby/classes/VPI.src/M000267.html +3 -3
  312. data/doc/api/ruby/classes/VPI.src/M000268.html +3 -3
  313. data/doc/api/ruby/classes/VPI.src/M000269.html +3 -3
  314. data/doc/api/ruby/classes/VPI.src/M000270.html +3 -3
  315. data/doc/api/ruby/classes/VPI.src/M000271.html +3 -3
  316. data/doc/api/ruby/classes/VPI.src/M000272.html +3 -3
  317. data/doc/api/ruby/classes/VPI.src/M000273.html +3 -3
  318. data/doc/api/ruby/classes/VPI.src/M000274.html +3 -3
  319. data/doc/api/ruby/classes/VPI.src/M000275.html +3 -3
  320. data/doc/api/ruby/classes/VPI.src/M000276.html +3 -3
  321. data/doc/api/ruby/classes/VPI.src/M000277.html +3 -3
  322. data/doc/api/ruby/classes/VPI.src/M000278.html +3 -3
  323. data/doc/api/ruby/classes/VPI.src/M000279.html +3 -3
  324. data/doc/api/ruby/classes/VPI.src/M000280.html +3 -3
  325. data/doc/api/ruby/classes/VPI.src/M000281.html +3 -3
  326. data/doc/api/ruby/classes/VPI.src/M000282.html +3 -3
  327. data/doc/api/ruby/classes/VPI.src/M000283.html +3 -3
  328. data/doc/api/ruby/classes/VPI.src/M000284.html +3 -3
  329. data/doc/api/ruby/classes/VPI.src/M000285.html +3 -3
  330. data/doc/api/ruby/classes/VPI.src/M000286.html +3 -3
  331. data/doc/api/ruby/classes/VPI.src/M000287.html +3 -3
  332. data/doc/api/ruby/classes/VPI.src/M000288.html +3 -3
  333. data/doc/api/ruby/classes/VPI.src/M000289.html +3 -3
  334. data/doc/api/ruby/classes/VPI.src/M000290.html +3 -3
  335. data/doc/api/ruby/classes/VPI.src/M000291.html +3 -3
  336. data/doc/api/ruby/classes/VPI.src/M000292.html +3 -3
  337. data/doc/api/ruby/classes/VPI.src/M000293.html +3 -3
  338. data/doc/api/ruby/classes/VPI.src/M000294.html +3 -3
  339. data/doc/api/ruby/classes/VPI.src/M000295.html +3 -3
  340. data/doc/api/ruby/classes/VPI.src/M000296.html +3 -3
  341. data/doc/api/ruby/classes/VPI.src/M000297.html +3 -3
  342. data/doc/api/ruby/classes/VPI.src/M000298.html +3 -3
  343. data/doc/api/ruby/classes/VPI.src/M000299.html +3 -3
  344. data/doc/api/ruby/classes/VPI.src/M000300.html +3 -3
  345. data/doc/api/ruby/classes/VPI.src/M000301.html +3 -3
  346. data/doc/api/ruby/classes/VPI.src/M000302.html +3 -3
  347. data/doc/api/ruby/classes/VPI.src/M000303.html +3 -3
  348. data/doc/api/ruby/classes/VPI.src/M000304.html +3 -3
  349. data/doc/api/ruby/classes/VPI.src/M000305.html +3 -3
  350. data/doc/api/ruby/classes/VPI.src/M000306.html +3 -3
  351. data/doc/api/ruby/classes/VPI.src/M000307.html +3 -3
  352. data/doc/api/ruby/classes/VPI.src/M000308.html +3 -3
  353. data/doc/api/ruby/classes/VPI.src/M000309.html +3 -3
  354. data/doc/api/ruby/classes/VPI.src/M000310.html +3 -3
  355. data/doc/api/ruby/classes/VPI.src/M000311.html +3 -3
  356. data/doc/api/ruby/classes/VPI.src/M000312.html +3 -3
  357. data/doc/api/ruby/classes/VPI.src/M000313.html +3 -3
  358. data/doc/api/ruby/classes/VPI.src/M000314.html +3 -3
  359. data/doc/api/ruby/classes/VPI.src/M000315.html +3 -3
  360. data/doc/api/ruby/classes/VPI.src/M000316.html +3 -3
  361. data/doc/api/ruby/classes/VPI.src/M000317.html +3 -3
  362. data/doc/api/ruby/classes/VPI.src/M000318.html +3 -3
  363. data/doc/api/ruby/classes/VPI.src/M000319.html +3 -3
  364. data/doc/api/ruby/classes/VPI.src/M000320.html +3 -3
  365. data/doc/api/ruby/classes/VPI.src/M000321.html +3 -3
  366. data/doc/api/ruby/classes/VPI.src/M000322.html +3 -3
  367. data/doc/api/ruby/classes/VPI.src/M000323.html +3 -3
  368. data/doc/api/ruby/classes/VPI.src/M000324.html +3 -3
  369. data/doc/api/ruby/classes/VPI.src/M000325.html +3 -3
  370. data/doc/api/ruby/classes/VPI.src/M000326.html +3 -3
  371. data/doc/api/ruby/classes/VPI.src/M000327.html +3 -3
  372. data/doc/api/ruby/classes/VPI.src/M000328.html +3 -3
  373. data/doc/api/ruby/classes/VPI.src/M000329.html +3 -3
  374. data/doc/api/ruby/classes/VPI.src/M000330.html +3 -3
  375. data/doc/api/ruby/classes/VPI.src/M000331.html +3 -3
  376. data/doc/api/ruby/classes/VPI.src/M000332.html +3 -3
  377. data/doc/api/ruby/classes/VPI.src/M000333.html +3 -3
  378. data/doc/api/ruby/classes/VPI.src/M000334.html +3 -3
  379. data/doc/api/ruby/classes/VPI.src/M000335.html +3 -3
  380. data/doc/api/ruby/classes/VPI.src/M000336.html +3 -3
  381. data/doc/api/ruby/classes/VPI.src/M000337.html +3 -3
  382. data/doc/api/ruby/classes/VPI.src/M000338.html +3 -3
  383. data/doc/api/ruby/classes/VPI.src/M000339.html +3 -3
  384. data/doc/api/ruby/classes/VPI.src/M000340.html +3 -3
  385. data/doc/api/ruby/classes/VPI.src/M000341.html +3 -3
  386. data/doc/api/ruby/classes/VPI.src/M000342.html +3 -3
  387. data/doc/api/ruby/classes/VPI.src/M000343.html +3 -3
  388. data/doc/api/ruby/classes/VPI.src/M000344.html +3 -3
  389. data/doc/api/ruby/classes/VPI.src/M000345.html +3 -3
  390. data/doc/api/ruby/classes/VPI.src/M000346.html +3 -3
  391. data/doc/api/ruby/classes/VPI.src/M000347.html +3 -3
  392. data/doc/api/ruby/classes/VPI.src/M000348.html +3 -3
  393. data/doc/api/ruby/classes/VPI.src/M000349.html +3 -3
  394. data/doc/api/ruby/classes/VPI.src/M000350.html +3 -3
  395. data/doc/api/ruby/classes/VPI.src/M000351.html +3 -3
  396. data/doc/api/ruby/classes/VPI.src/M000352.html +3 -3
  397. data/doc/api/ruby/classes/VPI.src/M000353.html +3 -3
  398. data/doc/api/ruby/classes/VPI.src/M000354.html +3 -3
  399. data/doc/api/ruby/classes/VPI.src/M000355.html +3 -3
  400. data/doc/api/ruby/classes/VPI.src/M000356.html +3 -3
  401. data/doc/api/ruby/classes/VPI.src/M000357.html +3 -3
  402. data/doc/api/ruby/classes/VPI.src/M000358.html +3 -3
  403. data/doc/api/ruby/classes/VPI.src/M000359.html +3 -3
  404. data/doc/api/ruby/classes/VPI.src/M000360.html +3 -3
  405. data/doc/api/ruby/classes/VPI.src/M000361.html +3 -3
  406. data/doc/api/ruby/classes/VPI.src/M000362.html +3 -3
  407. data/doc/api/ruby/classes/VPI.src/M000363.html +3 -3
  408. data/doc/api/ruby/classes/VPI.src/M000364.html +3 -3
  409. data/doc/api/ruby/classes/VPI.src/M000365.html +3 -3
  410. data/doc/api/ruby/classes/VPI.src/M000366.html +3 -3
  411. data/doc/api/ruby/classes/VPI.src/M000367.html +3 -3
  412. data/doc/api/ruby/classes/VPI.src/M000368.html +3 -3
  413. data/doc/api/ruby/classes/VPI.src/M000369.html +3 -3
  414. data/doc/api/ruby/classes/VPI.src/M000370.html +3 -3
  415. data/doc/api/ruby/classes/VPI.src/M000371.html +3 -3
  416. data/doc/api/ruby/classes/VPI.src/M000372.html +3 -3
  417. data/doc/api/ruby/classes/VPI.src/M000373.html +3 -3
  418. data/doc/api/ruby/classes/VPI.src/M000374.html +3 -3
  419. data/doc/api/ruby/classes/VPI.src/M000375.html +3 -3
  420. data/doc/api/ruby/classes/VPI.src/M000376.html +3 -3
  421. data/doc/api/ruby/classes/VPI.src/M000377.html +3 -3
  422. data/doc/api/ruby/classes/VPI.src/M000378.html +3 -3
  423. data/doc/api/ruby/classes/VPI.src/M000379.html +3 -3
  424. data/doc/api/ruby/classes/VPI.src/M000380.html +3 -3
  425. data/doc/api/ruby/classes/VPI.src/M000381.html +3 -3
  426. data/doc/api/ruby/classes/VPI.src/M000382.html +3 -3
  427. data/doc/api/ruby/classes/VPI.src/M000383.html +3 -3
  428. data/doc/api/ruby/classes/VPI.src/M000384.html +3 -3
  429. data/doc/api/ruby/classes/VPI.src/M000385.html +3 -3
  430. data/doc/api/ruby/classes/VPI.src/M000386.html +3 -3
  431. data/doc/api/ruby/classes/VPI.src/M000387.html +3 -3
  432. data/doc/api/ruby/classes/VPI.src/M000388.html +3 -3
  433. data/doc/api/ruby/classes/VPI.src/M000389.html +3 -3
  434. data/doc/api/ruby/classes/VPI.src/M000390.html +3 -3
  435. data/doc/api/ruby/classes/VPI.src/M000391.html +3 -3
  436. data/doc/api/ruby/classes/VPI.src/M000392.html +3 -3
  437. data/doc/api/ruby/classes/VPI.src/M000393.html +3 -3
  438. data/doc/api/ruby/classes/VPI.src/M000394.html +3 -3
  439. data/doc/api/ruby/classes/VPI.src/M000395.html +3 -3
  440. data/doc/api/ruby/classes/VPI.src/M000396.html +3 -3
  441. data/doc/api/ruby/classes/VPI.src/M000397.html +3 -3
  442. data/doc/api/ruby/classes/VPI.src/M000398.html +3 -3
  443. data/doc/api/ruby/classes/VPI.src/M000399.html +3 -3
  444. data/doc/api/ruby/classes/VPI.src/M000400.html +3 -3
  445. data/doc/api/ruby/classes/VPI.src/M000401.html +3 -3
  446. data/doc/api/ruby/classes/VPI.src/M000402.html +3 -3
  447. data/doc/api/ruby/classes/VPI.src/M000403.html +3 -3
  448. data/doc/api/ruby/classes/VPI.src/M000404.html +3 -3
  449. data/doc/api/ruby/classes/VPI.src/M000405.html +3 -3
  450. data/doc/api/ruby/classes/VPI.src/M000406.html +3 -3
  451. data/doc/api/ruby/classes/VPI.src/M000407.html +3 -3
  452. data/doc/api/ruby/classes/VPI.src/M000408.html +3 -3
  453. data/doc/api/ruby/classes/VPI.src/M000409.html +3 -3
  454. data/doc/api/ruby/classes/VPI.src/M000410.html +3 -3
  455. data/doc/api/ruby/classes/VPI.src/M000411.html +3 -3
  456. data/doc/api/ruby/classes/VPI.src/M000412.html +3 -3
  457. data/doc/api/ruby/classes/VPI.src/M000413.html +3 -3
  458. data/doc/api/ruby/classes/VPI.src/M000414.html +3 -3
  459. data/doc/api/ruby/classes/VPI.src/M000415.html +3 -3
  460. data/doc/api/ruby/classes/VPI.src/M000416.html +3 -3
  461. data/doc/api/ruby/classes/VPI.src/M000417.html +3 -3
  462. data/doc/api/ruby/classes/VPI.src/M000418.html +3 -3
  463. data/doc/api/ruby/classes/VPI.src/M000419.html +3 -3
  464. data/doc/api/ruby/classes/VPI.src/M000420.html +3 -3
  465. data/doc/api/ruby/classes/VPI.src/M000421.html +3 -3
  466. data/doc/api/ruby/classes/VPI.src/M000422.html +3 -3
  467. data/doc/api/ruby/classes/VPI.src/M000423.html +3 -3
  468. data/doc/api/ruby/classes/VPI.src/M000424.html +3 -3
  469. data/doc/api/ruby/classes/VPI.src/M000425.html +3 -3
  470. data/doc/api/ruby/classes/VPI.src/M000426.html +3 -3
  471. data/doc/api/ruby/classes/VPI.src/M000427.html +3 -3
  472. data/doc/api/ruby/classes/VPI.src/M000428.html +3 -3
  473. data/doc/api/ruby/classes/VPI.src/M000429.html +3 -3
  474. data/doc/api/ruby/classes/VPI.src/M000430.html +3 -3
  475. data/doc/api/ruby/classes/VPI.src/M000431.html +16 -0
  476. data/doc/api/ruby/classes/VPI.src/{M000040.html → M000432.html} +3 -3
  477. data/doc/api/ruby/classes/VPI.src/{M000037.html → M000433.html} +3 -3
  478. data/doc/api/ruby/classes/VPI.src/M000434.html +16 -0
  479. data/doc/api/ruby/classes/VPI.src/M000435.html +16 -0
  480. data/doc/api/ruby/classes/VPI/Handle.html +498 -498
  481. data/doc/api/ruby/classes/VPI/Handle.src/M000439.html +17 -4
  482. data/doc/api/ruby/classes/VPI/Handle.src/M000440.html +4 -4
  483. data/doc/api/ruby/classes/VPI/Handle.src/{M000436.html → M000441.html} +0 -0
  484. data/doc/api/ruby/classes/VPI/Handle.src/M000444.html +4 -4
  485. data/doc/api/ruby/classes/VPI/Handle.src/{M000435.html → M000445.html} +4 -4
  486. data/doc/api/ruby/classes/VPI/Handle.src/M000448.html +4 -4
  487. data/doc/api/ruby/classes/VPI/Handle.src/{M000443.html → M000449.html} +4 -4
  488. data/doc/api/ruby/classes/VPI/Handle.src/M000452.html +4 -4
  489. data/doc/api/ruby/classes/VPI/Handle.src/{M000447.html → M000453.html} +4 -4
  490. data/doc/api/ruby/classes/VPI/Handle.src/M000456.html +4 -4
  491. data/doc/api/ruby/classes/VPI/Handle.src/M000457.html +18 -0
  492. data/doc/api/ruby/classes/VPI/Handle.src/{M000455.html → M000460.html} +0 -0
  493. data/doc/api/ruby/classes/VPI/Handle.src/M000461.html +4 -7
  494. data/doc/api/ruby/classes/VPI/Handle.src/M000464.html +10 -5
  495. data/doc/api/ruby/classes/VPI/Handle.src/M000466.html +7 -4
  496. data/doc/api/ruby/classes/VPI/Handle.src/M000467.html +14 -4
  497. data/doc/api/ruby/classes/VPI/Handle.src/M000468.html +31 -11
  498. data/doc/api/ruby/classes/VPI/Handle.src/M000469.html +5 -4
  499. data/doc/api/ruby/classes/VPI/Handle.src/M000470.html +5 -4
  500. data/doc/api/ruby/classes/VPI/Handle.src/M000471.html +4 -26
  501. data/doc/api/ruby/classes/VPI/Handle.src/M000472.html +4 -4
  502. data/doc/api/ruby/classes/VPI/Handle.src/M000473.html +15 -6
  503. data/doc/api/ruby/classes/VPI/Handle.src/M000474.html +5 -3
  504. data/doc/api/ruby/classes/VPI/Handle.src/M000475.html +5 -3
  505. data/doc/api/ruby/classes/VPI/Handle.src/M000476.html +27 -3
  506. data/doc/api/ruby/classes/VPI/Handle.src/M000477.html +5 -3
  507. data/doc/api/ruby/classes/VPI/Handle.src/M000478.html +8 -3
  508. data/doc/api/ruby/classes/VPI/Handle.src/M000479.html +3 -3
  509. data/doc/api/ruby/classes/VPI/Handle.src/M000480.html +3 -3
  510. data/doc/api/ruby/classes/VPI/Handle.src/M000481.html +3 -3
  511. data/doc/api/ruby/classes/VPI/Handle.src/M000482.html +3 -3
  512. data/doc/api/ruby/classes/VPI/Handle.src/M000483.html +3 -3
  513. data/doc/api/ruby/classes/VPI/Handle.src/M000484.html +3 -3
  514. data/doc/api/ruby/classes/VPI/Handle.src/M000485.html +3 -3
  515. data/doc/api/ruby/classes/VPI/Handle.src/M000486.html +3 -3
  516. data/doc/api/ruby/classes/VPI/Handle.src/M000487.html +3 -3
  517. data/doc/api/ruby/classes/VPI/Handle.src/M000488.html +3 -3
  518. data/doc/api/ruby/classes/VPI/Handle.src/M000489.html +3 -3
  519. data/doc/api/ruby/classes/VPI/Handle.src/M000490.html +3 -3
  520. data/doc/api/ruby/classes/VPI/Handle.src/M000491.html +3 -3
  521. data/doc/api/ruby/classes/VPI/Handle.src/M000492.html +3 -3
  522. data/doc/api/ruby/classes/VPI/Handle.src/M000493.html +3 -3
  523. data/doc/api/ruby/classes/VPI/Handle.src/M000494.html +3 -3
  524. data/doc/api/ruby/classes/VPI/Handle.src/M000495.html +3 -3
  525. data/doc/api/ruby/classes/VPI/Handle.src/M000496.html +3 -3
  526. data/doc/api/ruby/classes/VPI/Handle.src/M000497.html +3 -3
  527. data/doc/api/ruby/classes/VPI/Handle.src/M000498.html +3 -3
  528. data/doc/api/ruby/classes/VPI/Handle.src/M000499.html +3 -3
  529. data/doc/api/ruby/classes/VPI/Handle.src/M000500.html +3 -3
  530. data/doc/api/ruby/classes/VPI/Handle.src/M000501.html +3 -3
  531. data/doc/api/ruby/classes/VPI/Handle.src/M000502.html +3 -3
  532. data/doc/api/ruby/classes/VPI/Handle.src/M000503.html +3 -3
  533. data/doc/api/ruby/classes/VPI/Handle.src/M000504.html +3 -3
  534. data/doc/api/ruby/classes/VPI/Handle.src/M000505.html +3 -3
  535. data/doc/api/ruby/classes/VPI/Handle.src/M000506.html +3 -3
  536. data/doc/api/ruby/classes/VPI/Handle.src/M000507.html +3 -3
  537. data/doc/api/ruby/classes/VPI/Handle.src/M000508.html +3 -3
  538. data/doc/api/ruby/classes/VPI/Handle.src/M000509.html +3 -3
  539. data/doc/api/ruby/classes/VPI/Handle.src/M000510.html +3 -3
  540. data/doc/api/ruby/classes/VPI/Handle.src/M000511.html +3 -3
  541. data/doc/api/ruby/classes/VPI/Handle.src/M000512.html +3 -3
  542. data/doc/api/ruby/classes/VPI/Handle.src/M000513.html +3 -3
  543. data/doc/api/ruby/classes/VPI/Handle.src/M000514.html +3 -3
  544. data/doc/api/ruby/classes/VPI/Handle.src/M000515.html +3 -3
  545. data/doc/api/ruby/classes/VPI/Handle.src/M000516.html +3 -3
  546. data/doc/api/ruby/classes/VPI/Handle.src/M000517.html +3 -3
  547. data/doc/api/ruby/classes/VPI/Handle.src/M000518.html +3 -3
  548. data/doc/api/ruby/classes/VPI/Handle.src/M000519.html +3 -3
  549. data/doc/api/ruby/classes/VPI/Handle.src/M000520.html +3 -3
  550. data/doc/api/ruby/classes/VPI/Handle.src/M000521.html +3 -3
  551. data/doc/api/ruby/classes/VPI/Handle.src/M000522.html +3 -3
  552. data/doc/api/ruby/classes/VPI/Handle.src/M000523.html +3 -3
  553. data/doc/api/ruby/classes/VPI/Handle.src/M000524.html +3 -3
  554. data/doc/api/ruby/classes/VPI/Handle.src/M000525.html +3 -3
  555. data/doc/api/ruby/classes/VPI/Handle.src/M000526.html +3 -3
  556. data/doc/api/ruby/classes/VPI/Handle.src/M000527.html +3 -3
  557. data/doc/api/ruby/classes/VPI/Handle.src/M000528.html +3 -3
  558. data/doc/api/ruby/classes/VPI/Handle.src/M000529.html +3 -3
  559. data/doc/api/ruby/classes/VPI/Handle.src/M000530.html +3 -3
  560. data/doc/api/ruby/classes/VPI/Handle.src/M000531.html +3 -3
  561. data/doc/api/ruby/classes/VPI/Handle.src/M000532.html +3 -3
  562. data/doc/api/ruby/classes/VPI/Handle.src/M000533.html +3 -3
  563. data/doc/api/ruby/classes/VPI/Handle.src/M000534.html +3 -3
  564. data/doc/api/ruby/classes/VPI/Handle.src/M000535.html +3 -3
  565. data/doc/api/ruby/classes/VPI/Handle.src/M000536.html +3 -3
  566. data/doc/api/ruby/classes/VPI/Handle.src/M000537.html +3 -3
  567. data/doc/api/ruby/classes/VPI/Handle.src/M000538.html +16 -0
  568. data/doc/api/ruby/classes/VPI/Handle.src/M000539.html +16 -0
  569. data/doc/api/ruby/classes/VPI/Handle.src/M000540.html +16 -0
  570. data/doc/api/ruby/classes/VPI/Handle.src/M000541.html +16 -0
  571. data/doc/api/ruby/classes/VPI/Handle.src/M000542.html +16 -0
  572. data/doc/api/ruby/classes/VPI/S_vpi_time.html +16 -16
  573. data/doc/api/ruby/classes/VPI/S_vpi_time.src/{M000538.html → M000543.html} +0 -0
  574. data/doc/api/ruby/classes/VPI/S_vpi_time.src/{M000539.html → M000544.html} +0 -0
  575. data/doc/api/ruby/classes/VPI/S_vpi_value.html +15 -15
  576. data/doc/api/ruby/classes/VPI/S_vpi_value.src/{M000431.html → M000436.html} +1 -1
  577. data/doc/api/ruby/classes/VPI/S_vpi_value.src/{M000432.html → M000437.html} +0 -0
  578. data/doc/api/ruby/classes/VPI/S_vpi_value.src/{M000433.html → M000438.html} +0 -0
  579. data/doc/api/ruby/classes/VerilogParser.html +5 -5
  580. data/doc/api/ruby/classes/VerilogParser.src/{M000003.html → M000004.html} +0 -0
  581. data/doc/api/ruby/classes/VerilogParser/Module.html +5 -5
  582. data/doc/api/ruby/classes/VerilogParser/Module.src/{M000004.html → M000005.html} +0 -0
  583. data/doc/api/ruby/classes/VerilogParser/Module/Port.html +15 -15
  584. data/doc/api/ruby/classes/VerilogParser/Module/Port.src/M000006.html +9 -4
  585. data/doc/api/ruby/classes/VerilogParser/Module/Port.src/M000007.html +4 -4
  586. data/doc/api/ruby/classes/VerilogParser/Module/Port.src/M000008.html +18 -0
  587. data/doc/api/ruby/created.rid +1 -1
  588. data/doc/api/ruby/files/bin/convert_rb.html +1 -1
  589. data/doc/api/ruby/files/bin/generate_rb.html +1 -1
  590. data/doc/api/ruby/files/bin/ruby-vpi.html +1 -1
  591. data/doc/api/ruby/files/lib/ruby-vpi/boot/loader_rb.html +149 -0
  592. data/doc/api/ruby/files/lib/ruby-vpi/boot/loader_rb.src/M000003.html +17 -0
  593. data/doc/api/ruby/files/lib/ruby-vpi/boot/relay_rb.html +114 -0
  594. data/doc/api/ruby/files/lib/ruby-vpi/core/callback_rb.html +1 -1
  595. data/doc/api/ruby/files/lib/ruby-vpi/core/edge-methods_rb.html +1 -1
  596. data/doc/api/ruby/files/lib/ruby-vpi/core/edge_rb.html +1 -1
  597. data/doc/api/ruby/files/lib/ruby-vpi/core/handle_rb.html +1 -1
  598. data/doc/api/ruby/files/lib/ruby-vpi/core/scheduler_rb.html +1 -1
  599. data/doc/api/ruby/files/lib/ruby-vpi/core/struct_rb.html +1 -1
  600. data/doc/api/ruby/files/lib/ruby-vpi/core_rb.html +1 -1
  601. data/doc/api/ruby/files/lib/ruby-vpi/erb_rb.html +1 -1
  602. data/doc/api/ruby/files/lib/ruby-vpi/float_rb.html +1 -1
  603. data/doc/api/ruby/files/lib/ruby-vpi/integer_rb.html +1 -1
  604. data/doc/api/ruby/files/lib/ruby-vpi/rake_rb.html +1 -1
  605. data/doc/api/ruby/files/lib/ruby-vpi/rcov_rb.html +1 -1
  606. data/doc/api/ruby/files/lib/ruby-vpi/rdoc_rb.html +1 -1
  607. data/doc/api/ruby/files/lib/ruby-vpi/runner_boot_loader_rb.html +3 -13
  608. data/doc/api/ruby/files/lib/ruby-vpi/runner_boot_loader_rb.src/M000002.html +3 -3
  609. data/doc/api/ruby/files/lib/ruby-vpi/runner_proxy_rb.html +1 -1
  610. data/doc/api/ruby/files/lib/ruby-vpi/runner_rb.html +1 -1
  611. data/doc/api/ruby/files/lib/ruby-vpi/util_rb.html +1 -1
  612. data/doc/api/ruby/files/lib/ruby-vpi/verilog_parser_rb.html +1 -1
  613. data/doc/api/ruby/files/lib/ruby-vpi_rb.html +1 -1
  614. data/doc/api/ruby/files/ruby-vpi-dynamic_rb.html +1 -1
  615. data/doc/api/ruby/fr_class_index.html +1 -0
  616. data/doc/api/ruby/fr_file_index.html +2 -0
  617. data/doc/api/ruby/fr_method_index.html +544 -539
  618. data/doc/guide.erb +37 -50
  619. data/doc/guide.html +322 -255
  620. data/doc/images/feed-icon-28x28.png +0 -0
  621. data/examples/register_file/register_file_runner.rake +1 -1
  622. data/ext/Rakefile +13 -4
  623. data/ext/binding.c +22 -0
  624. data/ext/binding.h +29 -0
  625. data/ext/extconf.rb +18 -11
  626. data/ext/host.c +75 -0
  627. data/ext/host.h +17 -0
  628. data/ext/main.c +50 -43
  629. data/ext/swig_vpi.i +6 -6
  630. data/ext/user.c +95 -0
  631. data/ext/user.h +23 -0
  632. data/ext/util.h +55 -0
  633. data/ext/verilog.h +5 -52
  634. data/lib/ruby-vpi.rb +11 -3
  635. data/lib/ruby-vpi/boot/loader.rb +162 -0
  636. data/lib/ruby-vpi/boot/relay.rb +47 -0
  637. data/lib/ruby-vpi/core.rb +0 -8
  638. data/lib/ruby-vpi/core/callback.rb +21 -28
  639. data/lib/ruby-vpi/core/handle.rb +14 -4
  640. data/lib/ruby-vpi/core/scheduler.rb +5 -13
  641. data/lib/ruby-vpi/core/struct.rb +1 -1
  642. data/lib/ruby-vpi/runner.rb +10 -2
  643. data/lib/ruby-vpi/runner_boot_loader.rb +127 -85
  644. data/lib/ruby-vpi/runner_proxy.rb +8 -8
  645. metadata +67 -67
  646. data/doc/api/c/common_8h.html +0 -143
  647. data/doc/api/c/globals_0x63.html +0 -120
  648. data/doc/api/c/globals_0x66.html +0 -58
  649. data/doc/api/c/globals_0x6d.html +0 -65
  650. data/doc/api/c/globals_0x74.html +0 -58
  651. data/doc/api/c/globals_eval.html +0 -44
  652. data/doc/api/c/main_8h.html +0 -105
  653. data/doc/api/c/relay_8c.html +0 -174
  654. data/doc/api/c/relay_8h.html +0 -102
  655. data/doc/api/c/vlog_8c.html +0 -157
  656. data/doc/api/c/vlog_8h.html +0 -80
  657. data/doc/api/ruby/classes/Integer.src/M000008.html +0 -25
  658. data/doc/api/ruby/classes/Integer.src/M000016.html +0 -25
  659. data/doc/api/ruby/classes/String.src/M000021.html +0 -36
  660. data/doc/api/ruby/classes/VPI.src/M000029.html +0 -19
  661. data/doc/api/ruby/classes/VPI.src/M000031.html +0 -19
  662. data/doc/api/ruby/classes/VPI.src/M000033.html +0 -25
  663. data/doc/api/ruby/classes/VPI/Handle.src/M000434.html +0 -31
  664. data/doc/api/ruby/classes/VPI/Handle.src/M000451.html +0 -18
  665. data/doc/api/ruby/classes/VPI/Handle.src/M000459.html +0 -24
  666. data/doc/api/ruby/classes/VPI/Handle.src/M000462.html +0 -28
  667. data/doc/api/ruby/classes/VPI/Handle.src/M000463.html +0 -50
  668. data/doc/api/ruby/classes/VPI/Handle.src/M000465.html +0 -19
  669. data/doc/api/ruby/classes/VerilogParser/Module/Port.src/M000005.html +0 -23
  670. data/examples/pipelined_alu/Hw5UnitModel.rb +0 -114
  671. data/examples/pipelined_alu/README +0 -152
  672. data/examples/pipelined_alu/Rakefile +0 -1
  673. data/examples/pipelined_alu/TestHw5UnitModel.rb +0 -72
  674. data/examples/pipelined_alu/hw5_unit.v +0 -128
  675. data/examples/pipelined_alu/hw5_unit_design.rb +0 -45
  676. data/examples/pipelined_alu/hw5_unit_loader.rb +0 -1
  677. data/examples/pipelined_alu/hw5_unit_proto.rb +0 -4
  678. data/examples/pipelined_alu/hw5_unit_runner.rake +0 -48
  679. data/examples/pipelined_alu/hw5_unit_spec.rb +0 -64
  680. data/examples/pipelined_alu/int_gen.rb +0 -45
  681. data/ext/common.h +0 -46
  682. data/ext/main.h +0 -30
  683. data/ext/relay.c +0 -41
  684. data/ext/relay.h +0 -31
  685. data/ext/vlog.c +0 -57
  686. data/ext/vlog.h +0 -26
@@ -1,114 +0,0 @@
1
- # Behavioral model of the hw5_unit Verilog module.
2
- class Hw5UnitModel
3
-
4
- # Represents an ALU operation.
5
- class Operation
6
- attr_accessor :type, :tag, :arg1, :arg2, :stage, :result
7
-
8
- def initialize(type, tag, arg1 = 0, arg2 = 0)
9
- raise ArgumentError unless OPERATIONS.include? type
10
-
11
- @type = type
12
- @tag = tag
13
- @arg1 = arg1
14
- @arg2 = arg2
15
-
16
- @stage = 0
17
- end
18
-
19
- # Computes the result of this operation.
20
- def compute
21
- case @type
22
- when :add
23
- @arg1 + @arg2
24
-
25
- when :sub
26
- @arg1 - @arg2
27
-
28
- when :mul
29
- @arg1 * @arg2
30
-
31
- when :nop
32
- nil
33
-
34
- else
35
- raise
36
- end
37
- end
38
-
39
- def compute!
40
- @result = compute
41
- end
42
- end
43
-
44
-
45
- # Supported types of ALU operations.
46
- OPERATIONS = [ :add, :sub, :mul, :nop ]
47
-
48
- # Number of cycles each operation uses.
49
- OPERATION_LATENCIES = {
50
- :add => 1,
51
- :sub => 2,
52
- :mul => 3,
53
- :nop => 1,
54
- }
55
-
56
- # The famous no-operation.
57
- NOP = Hw5UnitModel::Operation.new(:nop, nil)
58
-
59
-
60
- def reset
61
- @aluQueues = {}
62
- @outputQueue = []
63
-
64
- # create a separate pipeline for each operation
65
- OPERATIONS.each do |op|
66
- @aluQueues[op] = []
67
- end
68
- end
69
-
70
- alias_method :initialize, :reset
71
-
72
-
73
- # Starts the given operation during the present cycle.
74
- def startOperation(op)
75
- @aluQueues[op.type] << op
76
-
77
- p "started operation:", op if $DEBUG
78
- end
79
-
80
- # Performs the behavior for the present cycle.
81
- def cycle
82
- # perform ALU operations
83
- @aluQueues.each_pair do |alu, pipeline|
84
- finished = []
85
-
86
- pipeline.each do |op|
87
- # when the operation has finished all pipeline stages, compute the result and output it
88
- if op.stage >= OPERATION_LATENCIES[op.type]
89
- op.compute!
90
- finished << op
91
- @outputQueue << op
92
- end
93
-
94
-
95
- # perform the next stage of the operation
96
- op.stage += 1
97
- end
98
-
99
-
100
- # remove finished operations from pipeline
101
- @aluQueues[alu] = pipeline - finished
102
- end
103
- end
104
-
105
- # Returns the output for the present cycle.
106
- def output
107
- unless @outputQueue.empty?
108
- @outputQueue.shift
109
- else
110
- NOP
111
- end
112
- end
113
-
114
- end
@@ -1,152 +0,0 @@
1
- PIPELINED ALU
2
-
3
- This example is my solution to a homework assignment for an Advanced Logic
4
- Design class I had taken during the Winter of 2006 at University of
5
- California, Santa Cruz. Relevant portions of the problem have been revised and
6
- reproduced here with permission from the instructor: professor Jose Renau.
7
-
8
-
9
-
10
- PROBLEM
11
-
12
- Implement the functionality for hw5 unit, a pipelined ALU:
13
-
14
- `define WIDTH 32
15
- `define DATABITS 7
16
- `define OP_NOP 0
17
- `define OP_ADD 1
18
- `define OP_SUB 2
19
- `define OP_MULT 3
20
-
21
- module hw5_unit(
22
- input clk
23
- ,input reset
24
-
25
- // inputs
26
- ,input [`DATABITS-1:0] in_databits
27
- ,input [`WIDTH-1:0] a
28
- ,input [`WIDTH-1:0] b
29
- ,input [1:0] in_op
30
-
31
- // outputs
32
- ,output reg [`WIDTH-1:0] res
33
- ,output reg [`DATABITS-1:0] out_databits
34
- ,output reg [1:0] out_op
35
- );
36
-
37
-
38
- MAJOR POINTS
39
-
40
- 1. in_op selects the operation to perform (OP_NOP means no operation).
41
-
42
- 2. A new operation may be started every cycle.
43
-
44
- 3. OP_ADD must have 1 cycle latency.
45
-
46
- 4. OP_SUB must have 2 cycles latency.
47
-
48
- 5. OP_MULT must have 3 cycles latency.
49
-
50
- 6. There is only one result (res). Since three operations can finish every
51
- cycle, you need to buffer the other two. Note that since at most one operation
52
- starts per cycle, a 3-entry buffer should be enough.
53
-
54
- 7. Each operation has an associated tag (in_databits) which you must pass back
55
- with the result (out_databits). For example, if a OP_MULT operation is started
56
- with parameters a=2, b=4, in_databits=3; then after the multiplication
57
- finishes three cycles later, the outputs should be res=8, out_databits=3,
58
- out_op=OP_MULT.
59
-
60
- 8. The testbench used to verify this module must:
61
-
62
- a. Test random combinations of positive, zero, one, prime numbers,
63
- power-of-two values from powers 1 to 32, and random numbers.
64
-
65
- b. Execute random combinations of add, subtract, and multiply operations.
66
-
67
- c. Perform tests for 4000 ALU operations.
68
-
69
-
70
-
71
- DESIGN
72
-
73
- From the start, my approach was to use a single queue to solve the resource
74
- conflict (only one ALU can give an output per cycle). After drawing some
75
- sketches and understanding the problem, I wrote the following algorithm to
76
- solve the resource conflict:
77
-
78
- def queue_results(a, b, c)
79
- output a
80
- enqueue b, c
81
- end
82
-
83
-
84
- We cannot perform all the operations in the queue_results method using only
85
- one cycle. However, if the queue_results method is not implemented as shown,
86
- then the design will not work---it will be chaotic and produce incoherent
87
- results.
88
-
89
- The trick is to satisfy the post-conditions of the queue_results method (one result is outputted and the other two have been queued) using multiple clock cycles:
90
-
91
- 1. enqueue b
92
- (remember a and c)
93
-
94
- 2. enqueue c
95
- (remember a)
96
-
97
- 3. output a
98
-
99
- or
100
-
101
- 1. enqueue b
102
- (remember a and c)
103
-
104
- 2. enqueue c; output a
105
- (nothing to remember)
106
-
107
- Note that we cannot output the 'a' result during the first cycle because that
108
- would violate the post-conditions.
109
-
110
-
111
- After gaining this understanding, I realized that a separate queue was wholly
112
- unnecessary. Instead, I could simply use pipeline registers to remember values
113
- until they were needed (i.e. the 'a' result is output only in the last cycle).
114
-
115
- This approach uses exactly the same number of pipeline registers (three in
116
- this case) as the size of the queue suggested by the Professor. Also, this
117
- approach uses less storage than the three-queues (one for each ALU output;
118
- therefore 9 registers) approach suggested by the Professor.
119
-
120
-
121
- Finally, I wrote a behavioral model (see MODEL section) of the RTL using Ruby
122
- and verified both my initial approach (magical single-cycle queueing of
123
- multiple items) and its later improvement (the pipeline-register approach).
124
-
125
-
126
-
127
- MODEL
128
-
129
- $ cd tests
130
- $ ruby -w TestHw5UnitModel.rb # use the "-d" option for details
131
-
132
-
133
- The model is written in Ruby and comes with a unit test which is similar to
134
- the Ruby-VPI test bench I wrote for the RTL implementation.
135
-
136
-
137
-
138
- TEST BENCH
139
-
140
- $ ulimit -s unlimited
141
- $ make VERILOG=$VCS_HOME VCS_FLAGS="-cc gcc32 -ld gcc32" vcs
142
-
143
- ... lots of output here ...
144
-
145
- hw5_unit_tb.rb passed successfully!
146
- CPU time: .120 seconds to compile + .268 seconds to link +
147
- 30.042 seconds in simulation
148
-
149
-
150
-
151
- The test bench structure was ported from my unit test for the behavioral model
152
- of hw5_unit.
@@ -1 +0,0 @@
1
- require 'ruby-vpi/runner_proxy'
@@ -1,72 +0,0 @@
1
- require 'int_gen'
2
- require 'Hw5UnitModel'
3
- require 'test/unit'
4
-
5
- class TestHw5UnitModel < Test::Unit::TestCase
6
- NUM_VECTORS = 4000
7
-
8
- def setup
9
- @model = Hw5UnitModel.new
10
- @ingen = IntegerGenerator.new 32
11
- end
12
-
13
- def test_reset
14
- @model.reset
15
- assert_same Hw5UnitModel::NOP, @model.output
16
- end
17
-
18
- def testModel
19
- # generate input for module
20
- inputQueue = []
21
-
22
- NUM_VECTORS.times do |i|
23
- inputQueue << Hw5UnitModel::Operation.new(
24
- Hw5UnitModel::OPERATIONS[rand(Hw5UnitModel::OPERATIONS.size)],
25
- i,
26
- @ingen.random.abs,
27
- @ingen.random.abs
28
- )
29
- end
30
-
31
-
32
- # test the module
33
- outputQueue = []
34
- cycle = 0
35
-
36
- until inputQueue.length == outputQueue.length
37
- if $DEBUG
38
- print "\n" * 3
39
- p ">> cycle #{cycle}"
40
- end
41
-
42
-
43
- # start a new operation
44
- if cycle < inputQueue.length
45
- @model.startOperation inputQueue[cycle]
46
- cycle += 1
47
- end
48
-
49
-
50
- # simulate a clock cycle
51
- @model.cycle
52
-
53
-
54
- # verify the output
55
- output = @model.output
56
- p "output:", output if $DEBUG
57
-
58
- unless output == Hw5UnitModel::NOP
59
- assert_not_nil inputQueue.find {|op| op.tag == output.tag }, "unknown tag on result: #{output.tag}"
60
- assert_equal output.compute, output.result, "incorrect result"
61
-
62
- outputQueue << output
63
- end
64
-
65
-
66
- if $DEBUG
67
- puts
68
- pp @model
69
- end
70
- end
71
- end
72
- end
@@ -1,128 +0,0 @@
1
- module hw5_unit
2
- #(parameter WIDTH = 32,
3
- parameter DATABITS = 7,
4
- parameter OP_NOP = 0,
5
- parameter OP_ADD = 1,
6
- parameter OP_SUB = 2,
7
- parameter OP_MULT = 3)
8
- ( input clk,
9
- input reset,
10
-
11
- input [DATABITS-1:0] in_databits,
12
- input [WIDTH-1:0] a,
13
- input [WIDTH-1:0] b,
14
- input [1:0] in_op,
15
-
16
- output reg [WIDTH-1:0] res,
17
- output reg [DATABITS-1:0] out_databits,
18
- output reg [1:0] out_op
19
- );
20
-
21
-
22
- /* PHASE 0: perform the ALU operations */
23
-
24
- // operation ID
25
- reg [DATABITS-1:0] in_databits_phase0;
26
- reg [1:0] in_op_phase0;
27
-
28
- always @(*) begin
29
- in_databits_phase0 = in_databits;
30
- in_op_phase0 = in_op;
31
- end
32
-
33
- // addition
34
- reg [WIDTH-1:0] add_result_phase0;
35
-
36
- always @(*) begin
37
- add_result_phase0 = a + b;
38
- end
39
-
40
- // subtraction
41
- reg [WIDTH-1:0] sub_result_phase0;
42
-
43
- always @(*) begin
44
- sub_result_phase0 = a - b;
45
- end
46
-
47
- // multiplication
48
- reg [WIDTH-1:0] mul_result_phase0;
49
-
50
- always @(*) begin
51
- mul_result_phase0 = a * b;
52
- end
53
-
54
-
55
- /* PHASE 1: delay the ALU results */
56
-
57
- reg [DATABITS-1:0] in_databits_phase1;
58
- reg [1:0] in_op_phase1;
59
-
60
- reg [WIDTH-1:0] add_result_phase1;
61
- reg [WIDTH-1:0] sub_result_phase1;
62
- reg [WIDTH-1:0] mul_result_phase1;
63
-
64
- always @(posedge clk) begin
65
- in_databits_phase1 <= in_databits_phase0;
66
- in_op_phase1 <= in_op_phase0;
67
-
68
- add_result_phase1 <= add_result_phase0;
69
- sub_result_phase1 <= sub_result_phase0;
70
- mul_result_phase1 <= mul_result_phase0;
71
- end
72
-
73
-
74
- /* PHASE 2: delay the ALU results */
75
-
76
- reg [DATABITS-1:0] in_databits_phase2;
77
- reg [1:0] in_op_phase2;
78
-
79
- reg [WIDTH-1:0] add_result_phase2;
80
- reg [WIDTH-1:0] sub_result_phase2;
81
- reg [WIDTH-1:0] mul_result_phase2;
82
-
83
- always @(posedge clk) begin
84
- in_databits_phase2 <= in_databits_phase1;
85
- in_op_phase2 <= in_op_phase1;
86
-
87
- add_result_phase2 <= add_result_phase1;
88
- sub_result_phase2 <= sub_result_phase1;
89
- mul_result_phase2 <= mul_result_phase1;
90
- end
91
-
92
-
93
- /* PHASE 3: produce the outputs */
94
-
95
- reg [DATABITS-1:0] out_databits_next;
96
- reg [1:0] out_op_next;
97
- reg [WIDTH-1:0] res_next;
98
-
99
- always @(*) begin
100
- if (reset)
101
- out_op_next = OP_NOP;
102
- else
103
- out_op_next = in_op_phase2;
104
-
105
- out_databits_next = in_databits_phase2;
106
-
107
- case (in_op_phase2)
108
- OP_NOP:
109
- res_next = 0;
110
-
111
- OP_ADD:
112
- res_next = add_result_phase2;
113
-
114
- OP_SUB:
115
- res_next = sub_result_phase2;
116
-
117
- OP_MULT:
118
- res_next = mul_result_phase2;
119
- endcase
120
- end
121
-
122
- always @(posedge clk) begin
123
- res <= res_next;
124
- out_op <= out_op_next;
125
- out_databits <= out_databits_next;
126
- end
127
-
128
- endmodule