HDLRuby 2.0.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (224) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +9 -0
  3. data/.travis.yml +5 -0
  4. data/.yardopts +1 -0
  5. data/Gemfile +4 -0
  6. data/HDLRuby.gemspec +36 -0
  7. data/LICENSE.txt +21 -0
  8. data/README.md +2774 -0
  9. data/README.pdf +0 -0
  10. data/Rakefile +10 -0
  11. data/bin/console +14 -0
  12. data/bin/setup +8 -0
  13. data/exe/hdrcc +3 -0
  14. data/lib/HDLRuby/alcc.rb +137 -0
  15. data/lib/HDLRuby/backend/hruby_allocator.rb +69 -0
  16. data/lib/HDLRuby/backend/hruby_c_allocator.rb +76 -0
  17. data/lib/HDLRuby/hdr_samples/adder.rb +7 -0
  18. data/lib/HDLRuby/hdr_samples/adder_assign_error.rb +11 -0
  19. data/lib/HDLRuby/hdr_samples/adder_bench.rb +27 -0
  20. data/lib/HDLRuby/hdr_samples/adder_gen.rb +7 -0
  21. data/lib/HDLRuby/hdr_samples/adder_nodef_error.rb +7 -0
  22. data/lib/HDLRuby/hdr_samples/addsub.rb +19 -0
  23. data/lib/HDLRuby/hdr_samples/addsubz.rb +22 -0
  24. data/lib/HDLRuby/hdr_samples/alu.rb +47 -0
  25. data/lib/HDLRuby/hdr_samples/calculator.rb +48 -0
  26. data/lib/HDLRuby/hdr_samples/counter_bench.rb +83 -0
  27. data/lib/HDLRuby/hdr_samples/dff.rb +9 -0
  28. data/lib/HDLRuby/hdr_samples/dff_bench.rb +66 -0
  29. data/lib/HDLRuby/hdr_samples/dff_counter.rb +20 -0
  30. data/lib/HDLRuby/hdr_samples/include.rb +14 -0
  31. data/lib/HDLRuby/hdr_samples/instance_open.rb +23 -0
  32. data/lib/HDLRuby/hdr_samples/mei8.rb +256 -0
  33. data/lib/HDLRuby/hdr_samples/mei8_bench.rb +309 -0
  34. data/lib/HDLRuby/hdr_samples/multer_gen.rb +8 -0
  35. data/lib/HDLRuby/hdr_samples/multer_seq.rb +29 -0
  36. data/lib/HDLRuby/hdr_samples/neural/a.rb +9 -0
  37. data/lib/HDLRuby/hdr_samples/neural/a_sub.rb +5 -0
  38. data/lib/HDLRuby/hdr_samples/neural/bw.rb +23 -0
  39. data/lib/HDLRuby/hdr_samples/neural/counter.rb +16 -0
  40. data/lib/HDLRuby/hdr_samples/neural/dadz.rb +9 -0
  41. data/lib/HDLRuby/hdr_samples/neural/dadz_sub.rb +4 -0
  42. data/lib/HDLRuby/hdr_samples/neural/forward.rb +153 -0
  43. data/lib/HDLRuby/hdr_samples/neural/forward_sub.rb +62 -0
  44. data/lib/HDLRuby/hdr_samples/neural/forward_sub_rand.rb +41 -0
  45. data/lib/HDLRuby/hdr_samples/neural/forward_sub_rand_typedef.rb +47 -0
  46. data/lib/HDLRuby/hdr_samples/neural/mem.rb +30 -0
  47. data/lib/HDLRuby/hdr_samples/neural/random.rb +23 -0
  48. data/lib/HDLRuby/hdr_samples/neural/selector.rb +29 -0
  49. data/lib/HDLRuby/hdr_samples/neural/sigmoid.rb +20 -0
  50. data/lib/HDLRuby/hdr_samples/neural/z.rb +33 -0
  51. data/lib/HDLRuby/hdr_samples/prog.obj +256 -0
  52. data/lib/HDLRuby/hdr_samples/ram.rb +18 -0
  53. data/lib/HDLRuby/hdr_samples/register_with_code_bench.rb +98 -0
  54. data/lib/HDLRuby/hdr_samples/rom.rb +10 -0
  55. data/lib/HDLRuby/hdr_samples/struct.rb +14 -0
  56. data/lib/HDLRuby/hdr_samples/sumprod.rb +29 -0
  57. data/lib/HDLRuby/hdr_samples/sw_encrypt_bench.rb +103 -0
  58. data/lib/HDLRuby/hdr_samples/sw_encrypt_cpu_bench.rb +261 -0
  59. data/lib/HDLRuby/hdr_samples/sw_encrypt_cpusim_bench.rb +302 -0
  60. data/lib/HDLRuby/hdr_samples/system_open.rb +11 -0
  61. data/lib/HDLRuby/hdr_samples/tuple.rb +16 -0
  62. data/lib/HDLRuby/hdr_samples/with_channel.rb +118 -0
  63. data/lib/HDLRuby/hdr_samples/with_class.rb +199 -0
  64. data/lib/HDLRuby/hdr_samples/with_decoder.rb +17 -0
  65. data/lib/HDLRuby/hdr_samples/with_fsm.rb +34 -0
  66. data/lib/HDLRuby/hdr_samples/with_reconf.rb +103 -0
  67. data/lib/HDLRuby/hdrcc.rb +623 -0
  68. data/lib/HDLRuby/high_samples/_adder_fault.rb +23 -0
  69. data/lib/HDLRuby/high_samples/_generic_transmission2.rb +146 -0
  70. data/lib/HDLRuby/high_samples/adder.rb +21 -0
  71. data/lib/HDLRuby/high_samples/adder_common_errors.rb +25 -0
  72. data/lib/HDLRuby/high_samples/addsub.rb +33 -0
  73. data/lib/HDLRuby/high_samples/addsubz.rb +37 -0
  74. data/lib/HDLRuby/high_samples/after.rb +28 -0
  75. data/lib/HDLRuby/high_samples/all_signals.rb +29 -0
  76. data/lib/HDLRuby/high_samples/alu.rb +61 -0
  77. data/lib/HDLRuby/high_samples/anonymous.rb +41 -0
  78. data/lib/HDLRuby/high_samples/before.rb +28 -0
  79. data/lib/HDLRuby/high_samples/blockblock.rb +26 -0
  80. data/lib/HDLRuby/high_samples/bugs/dadz.rb +22 -0
  81. data/lib/HDLRuby/high_samples/bugs/misample_instan.rb +20 -0
  82. data/lib/HDLRuby/high_samples/bugs/misample_updown.rb +22 -0
  83. data/lib/HDLRuby/high_samples/bugs/sample_add.rb +16 -0
  84. data/lib/HDLRuby/high_samples/bugs/sample_barrel.rb +13 -0
  85. data/lib/HDLRuby/high_samples/bugs/sample_daice.rb +57 -0
  86. data/lib/HDLRuby/high_samples/bugs/sample_kumiawase.rb +52 -0
  87. data/lib/HDLRuby/high_samples/bugs/sample_multi.rb +18 -0
  88. data/lib/HDLRuby/high_samples/bugs/sample_sub.rb +14 -0
  89. data/lib/HDLRuby/high_samples/bugs/z2.rb +32 -0
  90. data/lib/HDLRuby/high_samples/case.rb +32 -0
  91. data/lib/HDLRuby/high_samples/case2.rb +30 -0
  92. data/lib/HDLRuby/high_samples/change.rb +23 -0
  93. data/lib/HDLRuby/high_samples/clocks.rb +35 -0
  94. data/lib/HDLRuby/high_samples/comparer.rb +21 -0
  95. data/lib/HDLRuby/high_samples/conditionals.rb +29 -0
  96. data/lib/HDLRuby/high_samples/dff.rb +23 -0
  97. data/lib/HDLRuby/high_samples/each.rb +28 -0
  98. data/lib/HDLRuby/high_samples/exporter.rb +42 -0
  99. data/lib/HDLRuby/high_samples/functions.rb +60 -0
  100. data/lib/HDLRuby/high_samples/if_seq.rb +26 -0
  101. data/lib/HDLRuby/high_samples/inherit_as_dff.rb +32 -0
  102. data/lib/HDLRuby/high_samples/inherit_dff.rb +36 -0
  103. data/lib/HDLRuby/high_samples/instance.rb +37 -0
  104. data/lib/HDLRuby/high_samples/memory.rb +64 -0
  105. data/lib/HDLRuby/high_samples/multi_file.rb +27 -0
  106. data/lib/HDLRuby/high_samples/overload.rb +32 -0
  107. data/lib/HDLRuby/high_samples/paper_after.rb +49 -0
  108. data/lib/HDLRuby/high_samples/ram.rb +27 -0
  109. data/lib/HDLRuby/high_samples/registers.rb +139 -0
  110. data/lib/HDLRuby/high_samples/rom.rb +23 -0
  111. data/lib/HDLRuby/high_samples/scopeblockname.rb +37 -0
  112. data/lib/HDLRuby/high_samples/scopescope.rb +26 -0
  113. data/lib/HDLRuby/high_samples/shift.rb +31 -0
  114. data/lib/HDLRuby/high_samples/shift2.rb +40 -0
  115. data/lib/HDLRuby/high_samples/simple_instance.rb +31 -0
  116. data/lib/HDLRuby/high_samples/test_all.sh +10 -0
  117. data/lib/HDLRuby/high_samples/typedef.rb +24 -0
  118. data/lib/HDLRuby/high_samples/values.rb +70 -0
  119. data/lib/HDLRuby/high_samples/vector.rb +22 -0
  120. data/lib/HDLRuby/high_samples/with_decoder.rb +30 -0
  121. data/lib/HDLRuby/high_samples/with_fsm.rb +46 -0
  122. data/lib/HDLRuby/high_samples/with_pipe.rb +43 -0
  123. data/lib/HDLRuby/high_samples/with_seq.rb +25 -0
  124. data/lib/HDLRuby/hruby_bstr.rb +1085 -0
  125. data/lib/HDLRuby/hruby_check.rb +317 -0
  126. data/lib/HDLRuby/hruby_db.rb +432 -0
  127. data/lib/HDLRuby/hruby_error.rb +44 -0
  128. data/lib/HDLRuby/hruby_high.rb +4103 -0
  129. data/lib/HDLRuby/hruby_low.rb +4735 -0
  130. data/lib/HDLRuby/hruby_low2c.rb +1986 -0
  131. data/lib/HDLRuby/hruby_low2high.rb +738 -0
  132. data/lib/HDLRuby/hruby_low2seq.rb +248 -0
  133. data/lib/HDLRuby/hruby_low2sym.rb +126 -0
  134. data/lib/HDLRuby/hruby_low2vhd.rb +1437 -0
  135. data/lib/HDLRuby/hruby_low_bool2select.rb +295 -0
  136. data/lib/HDLRuby/hruby_low_cleanup.rb +193 -0
  137. data/lib/HDLRuby/hruby_low_fix_types.rb +437 -0
  138. data/lib/HDLRuby/hruby_low_mutable.rb +1803 -0
  139. data/lib/HDLRuby/hruby_low_resolve.rb +165 -0
  140. data/lib/HDLRuby/hruby_low_skeleton.rb +129 -0
  141. data/lib/HDLRuby/hruby_low_with_bool.rb +141 -0
  142. data/lib/HDLRuby/hruby_low_with_port.rb +167 -0
  143. data/lib/HDLRuby/hruby_low_with_var.rb +302 -0
  144. data/lib/HDLRuby/hruby_low_without_bit2vector.rb +88 -0
  145. data/lib/HDLRuby/hruby_low_without_concat.rb +162 -0
  146. data/lib/HDLRuby/hruby_low_without_connection.rb +113 -0
  147. data/lib/HDLRuby/hruby_low_without_namespace.rb +718 -0
  148. data/lib/HDLRuby/hruby_low_without_outread.rb +107 -0
  149. data/lib/HDLRuby/hruby_low_without_select.rb +206 -0
  150. data/lib/HDLRuby/hruby_serializer.rb +398 -0
  151. data/lib/HDLRuby/hruby_tools.rb +37 -0
  152. data/lib/HDLRuby/hruby_types.rb +239 -0
  153. data/lib/HDLRuby/hruby_values.rb +64 -0
  154. data/lib/HDLRuby/hruby_verilog.rb +1888 -0
  155. data/lib/HDLRuby/hruby_verilog_name.rb +52 -0
  156. data/lib/HDLRuby/low_samples/adder.yaml +97 -0
  157. data/lib/HDLRuby/low_samples/after.yaml +228 -0
  158. data/lib/HDLRuby/low_samples/before.yaml +223 -0
  159. data/lib/HDLRuby/low_samples/blockblock.yaml +48 -0
  160. data/lib/HDLRuby/low_samples/bugs/sample_add.yaml +97 -0
  161. data/lib/HDLRuby/low_samples/bugs/sample_daice.yaml +444 -0
  162. data/lib/HDLRuby/low_samples/bugs/sample_kumiawase.yaml +332 -0
  163. data/lib/HDLRuby/low_samples/bugs/sample_sub.yaml +97 -0
  164. data/lib/HDLRuby/low_samples/bugs/seqpar.yaml +184 -0
  165. data/lib/HDLRuby/low_samples/case.yaml +327 -0
  166. data/lib/HDLRuby/low_samples/change.yaml +135 -0
  167. data/lib/HDLRuby/low_samples/clocks.yaml +674 -0
  168. data/lib/HDLRuby/low_samples/cloner.rb +22 -0
  169. data/lib/HDLRuby/low_samples/comparer.yaml +85 -0
  170. data/lib/HDLRuby/low_samples/conditionals.yaml +133 -0
  171. data/lib/HDLRuby/low_samples/dff.yaml +107 -0
  172. data/lib/HDLRuby/low_samples/each.yaml +1328 -0
  173. data/lib/HDLRuby/low_samples/exporter.yaml +226 -0
  174. data/lib/HDLRuby/low_samples/functions.yaml +298 -0
  175. data/lib/HDLRuby/low_samples/generic_transmission.yaml +597 -0
  176. data/lib/HDLRuby/low_samples/inherit_as_dff.yaml +125 -0
  177. data/lib/HDLRuby/low_samples/inherit_dff.yaml +107 -0
  178. data/lib/HDLRuby/low_samples/load_yaml.rb +11 -0
  179. data/lib/HDLRuby/low_samples/memory.yaml +678 -0
  180. data/lib/HDLRuby/low_samples/namespace_extractor.rb +23 -0
  181. data/lib/HDLRuby/low_samples/overload.yaml +226 -0
  182. data/lib/HDLRuby/low_samples/paper_after.yaml +431 -0
  183. data/lib/HDLRuby/low_samples/port_maker.rb +14 -0
  184. data/lib/HDLRuby/low_samples/ram.yaml +207 -0
  185. data/lib/HDLRuby/low_samples/registers.yaml +228 -0
  186. data/lib/HDLRuby/low_samples/rom.yaml +2950 -0
  187. data/lib/HDLRuby/low_samples/shift.yaml +230 -0
  188. data/lib/HDLRuby/low_samples/shift2.yaml +2095 -0
  189. data/lib/HDLRuby/low_samples/simple_instance.yaml +102 -0
  190. data/lib/HDLRuby/low_samples/test_all.sh +43 -0
  191. data/lib/HDLRuby/low_samples/typedef.yaml +115 -0
  192. data/lib/HDLRuby/low_samples/values.yaml +577 -0
  193. data/lib/HDLRuby/low_samples/variable_maker.rb +14 -0
  194. data/lib/HDLRuby/low_samples/vector.yaml +56 -0
  195. data/lib/HDLRuby/low_samples/with_seq.yaml +188 -0
  196. data/lib/HDLRuby/low_samples/yaml2hdr.rb +10 -0
  197. data/lib/HDLRuby/low_samples/yaml2vhd.rb +19 -0
  198. data/lib/HDLRuby/sim/Makefile +19 -0
  199. data/lib/HDLRuby/sim/hruby_sim.h +590 -0
  200. data/lib/HDLRuby/sim/hruby_sim_calc.c +2362 -0
  201. data/lib/HDLRuby/sim/hruby_sim_core.c +589 -0
  202. data/lib/HDLRuby/sim/hruby_sim_list.c +93 -0
  203. data/lib/HDLRuby/sim/hruby_sim_vizualize.c +91 -0
  204. data/lib/HDLRuby/sim/hruby_value_pool.c +64 -0
  205. data/lib/HDLRuby/std/channel.rb +354 -0
  206. data/lib/HDLRuby/std/clocks.rb +165 -0
  207. data/lib/HDLRuby/std/counters.rb +82 -0
  208. data/lib/HDLRuby/std/decoder.rb +214 -0
  209. data/lib/HDLRuby/std/fsm.rb +516 -0
  210. data/lib/HDLRuby/std/pipeline.rb +220 -0
  211. data/lib/HDLRuby/std/reconf.rb +309 -0
  212. data/lib/HDLRuby/test_hruby_bstr.rb +2259 -0
  213. data/lib/HDLRuby/test_hruby_high.rb +594 -0
  214. data/lib/HDLRuby/test_hruby_high_low.rb +99 -0
  215. data/lib/HDLRuby/test_hruby_low.rb +934 -0
  216. data/lib/HDLRuby/v_samples/adder.v +10 -0
  217. data/lib/HDLRuby/v_samples/dff.v +12 -0
  218. data/lib/HDLRuby/v_samples/ram.v +20 -0
  219. data/lib/HDLRuby/v_samples/rom.v +270 -0
  220. data/lib/HDLRuby/version.rb +3 -0
  221. data/lib/HDLRuby.rb +11 -0
  222. data/makedoc +1 -0
  223. data/metadata.yaml +4 -0
  224. metadata +299 -0
@@ -0,0 +1,226 @@
1
+ ---
2
+ Type:
3
+ name: void
4
+ ---
5
+ Type:
6
+ name: bit
7
+ ---
8
+ SystemT:
9
+ name: dff0::T_
10
+ inputs:
11
+ - SignalI:
12
+ name: clk
13
+ type: bit
14
+ - SignalI:
15
+ name: rst
16
+ type: bit
17
+ - SignalI:
18
+ name: d
19
+ type: bit
20
+ outputs:
21
+ - SignalI:
22
+ name: q
23
+ type: bit
24
+ inouts: []
25
+ scope:
26
+ Scope:
27
+ name: ''
28
+ scopes: []
29
+ inners: []
30
+ systemIs: []
31
+ connections: []
32
+ behaviors:
33
+ - Behavior:
34
+ events:
35
+ - Event:
36
+ type: posedge
37
+ ref:
38
+ RefName:
39
+ type: bit
40
+ ref:
41
+ RefThis:
42
+ type: void
43
+ name: clk
44
+ block:
45
+ Block:
46
+ mode: par
47
+ name: ''
48
+ inners: []
49
+ statements:
50
+ - Transmit:
51
+ left:
52
+ RefName:
53
+ type: bit
54
+ ref:
55
+ RefThis:
56
+ type: void
57
+ name: q
58
+ right:
59
+ Binary:
60
+ type:
61
+ TypeVector:
62
+ name: ''
63
+ base: bit
64
+ range:
65
+ - 0
66
+ - 0
67
+ operator: "&"
68
+ left:
69
+ RefName:
70
+ type: bit
71
+ ref:
72
+ RefThis:
73
+ type: void
74
+ name: d
75
+ right:
76
+ Unary:
77
+ type: bit
78
+ operator: "~"
79
+ child:
80
+ RefName:
81
+ type: bit
82
+ ref:
83
+ RefThis:
84
+ type: void
85
+ name: rst
86
+ ---
87
+ SystemT:
88
+ name: importerI::T_
89
+ inputs:
90
+ - SignalI:
91
+ name: d
92
+ type: bit
93
+ - SignalI:
94
+ name: clk0
95
+ type: bit
96
+ - SignalI:
97
+ name: rst0
98
+ type: bit
99
+ outputs:
100
+ - SignalI:
101
+ name: q
102
+ type: bit
103
+ inouts: []
104
+ scope:
105
+ Scope:
106
+ name: ''
107
+ scopes: []
108
+ inners:
109
+ - SignalI:
110
+ name: clk
111
+ type: bit
112
+ - SignalI:
113
+ name: rst
114
+ type: bit
115
+ systemIs:
116
+ - SystemI:
117
+ name: dff0
118
+ systemT: dff0::T_
119
+ connections:
120
+ - Connection:
121
+ left:
122
+ RefName:
123
+ type: bit
124
+ ref:
125
+ RefName:
126
+ type: void
127
+ ref:
128
+ RefThis:
129
+ type: void
130
+ name: dff0
131
+ name: clk
132
+ right:
133
+ RefName:
134
+ type: bit
135
+ ref:
136
+ RefThis:
137
+ type: void
138
+ name: clk
139
+ - Connection:
140
+ left:
141
+ RefName:
142
+ type: bit
143
+ ref:
144
+ RefName:
145
+ type: void
146
+ ref:
147
+ RefThis:
148
+ type: void
149
+ name: dff0
150
+ name: rst
151
+ right:
152
+ RefName:
153
+ type: bit
154
+ ref:
155
+ RefThis:
156
+ type: void
157
+ name: rst
158
+ - Connection:
159
+ left:
160
+ RefName:
161
+ type: bit
162
+ ref:
163
+ RefName:
164
+ type: void
165
+ ref:
166
+ RefThis:
167
+ type: void
168
+ name: dff0
169
+ name: d
170
+ right:
171
+ RefName:
172
+ type: bit
173
+ ref:
174
+ RefThis:
175
+ type: void
176
+ name: d
177
+ - Connection:
178
+ left:
179
+ RefName:
180
+ type: bit
181
+ ref:
182
+ RefThis:
183
+ type: void
184
+ name: clk
185
+ right:
186
+ RefName:
187
+ type: bit
188
+ ref:
189
+ RefThis:
190
+ type: void
191
+ name: clk0
192
+ - Connection:
193
+ left:
194
+ RefName:
195
+ type: bit
196
+ ref:
197
+ RefThis:
198
+ type: void
199
+ name: rst
200
+ right:
201
+ RefName:
202
+ type: bit
203
+ ref:
204
+ RefThis:
205
+ type: void
206
+ name: rst0
207
+ - Connection:
208
+ left:
209
+ RefName:
210
+ type: bit
211
+ ref:
212
+ RefName:
213
+ type: void
214
+ ref:
215
+ RefThis:
216
+ type: void
217
+ name: dff0
218
+ name: q
219
+ right:
220
+ RefName:
221
+ type: bit
222
+ ref:
223
+ RefThis:
224
+ type: void
225
+ name: q
226
+ behaviors: []
@@ -0,0 +1,298 @@
1
+ hello_out
2
+ hello_out
3
+ hello_in
4
+ hello_mix
5
+ hello_sub, John Doe
6
+ hello_in_sub
7
+ ---
8
+ Type:
9
+ name: signed
10
+ ---
11
+ TypeVector:
12
+ name: integer
13
+ base: signed
14
+ range:
15
+ - 31
16
+ - 0
17
+ ---
18
+ Type:
19
+ name: void
20
+ ---
21
+ Type:
22
+ name: bit
23
+ ---
24
+ SystemT:
25
+ name: functionsI::T_
26
+ inputs:
27
+ - SignalI:
28
+ name: x
29
+ type:
30
+ TypeVector:
31
+ name: ''
32
+ base: bit
33
+ range:
34
+ - 15
35
+ - 0
36
+ - SignalI:
37
+ name: y
38
+ type:
39
+ TypeVector:
40
+ name: ''
41
+ base: bit
42
+ range:
43
+ - 15
44
+ - 0
45
+ - SignalI:
46
+ name: z
47
+ type:
48
+ TypeVector:
49
+ name: ''
50
+ base: bit
51
+ range:
52
+ - 15
53
+ - 0
54
+ outputs:
55
+ - SignalI:
56
+ name: a
57
+ type:
58
+ TypeVector:
59
+ name: ''
60
+ base: bit
61
+ range:
62
+ - 15
63
+ - 0
64
+ - SignalI:
65
+ name: b
66
+ type:
67
+ TypeVector:
68
+ name: ''
69
+ base: bit
70
+ range:
71
+ - 15
72
+ - 0
73
+ - SignalI:
74
+ name: c
75
+ type:
76
+ TypeVector:
77
+ name: ''
78
+ base: bit
79
+ range:
80
+ - 15
81
+ - 0
82
+ - SignalI:
83
+ name: d
84
+ type:
85
+ TypeVector:
86
+ name: ''
87
+ base: bit
88
+ range:
89
+ - 15
90
+ - 0
91
+ inouts: []
92
+ scope:
93
+ Scope:
94
+ name: ''
95
+ scopes:
96
+ - Scope:
97
+ name: ''
98
+ scopes: []
99
+ inners:
100
+ - SignalI:
101
+ name: nothing
102
+ type: bit
103
+ systemIs: []
104
+ connections: []
105
+ behaviors: []
106
+ - Scope:
107
+ name: ''
108
+ scopes: []
109
+ inners:
110
+ - SignalI:
111
+ name: nothing_really
112
+ type: bit
113
+ systemIs: []
114
+ connections:
115
+ - Connection:
116
+ left:
117
+ RefName:
118
+ type:
119
+ TypeVector:
120
+ name: ''
121
+ base: bit
122
+ range:
123
+ - 15
124
+ - 0
125
+ ref:
126
+ RefThis:
127
+ type: void
128
+ name: d
129
+ right:
130
+ Binary:
131
+ type:
132
+ TypeVector:
133
+ name: ''
134
+ base: bit
135
+ range:
136
+ - 16
137
+ - 0
138
+ operator: "-"
139
+ left:
140
+ RefName:
141
+ type:
142
+ TypeVector:
143
+ name: ''
144
+ base: bit
145
+ range:
146
+ - 15
147
+ - 0
148
+ ref:
149
+ RefThis:
150
+ type: void
151
+ name: x
152
+ right:
153
+ RefName:
154
+ type:
155
+ TypeVector:
156
+ name: ''
157
+ base: bit
158
+ range:
159
+ - 15
160
+ - 0
161
+ ref:
162
+ RefThis:
163
+ type: void
164
+ name: y
165
+ behaviors: []
166
+ inners: []
167
+ systemIs: []
168
+ connections:
169
+ - Connection:
170
+ left:
171
+ RefName:
172
+ type:
173
+ TypeVector:
174
+ name: ''
175
+ base: bit
176
+ range:
177
+ - 15
178
+ - 0
179
+ ref:
180
+ RefThis:
181
+ type: void
182
+ name: a
183
+ right:
184
+ Binary:
185
+ type:
186
+ TypeVector:
187
+ name: ''
188
+ base: bit
189
+ range:
190
+ - 16
191
+ - 0
192
+ operator: "+"
193
+ left:
194
+ RefName:
195
+ type:
196
+ TypeVector:
197
+ name: ''
198
+ base: bit
199
+ range:
200
+ - 15
201
+ - 0
202
+ ref:
203
+ RefThis:
204
+ type: void
205
+ name: x
206
+ right:
207
+ RefName:
208
+ type:
209
+ TypeVector:
210
+ name: ''
211
+ base: bit
212
+ range:
213
+ - 15
214
+ - 0
215
+ ref:
216
+ RefThis:
217
+ type: void
218
+ name: y
219
+ - Connection:
220
+ left:
221
+ RefName:
222
+ type:
223
+ TypeVector:
224
+ name: ''
225
+ base: bit
226
+ range:
227
+ - 15
228
+ - 0
229
+ ref:
230
+ RefThis:
231
+ type: void
232
+ name: c
233
+ right:
234
+ Value:
235
+ type: integer
236
+ content: 1
237
+ behaviors:
238
+ - Behavior:
239
+ events: []
240
+ block:
241
+ Block:
242
+ mode: par
243
+ name: ''
244
+ inners:
245
+ - SignalI:
246
+ name: something
247
+ type: bit
248
+ statements:
249
+ - Transmit:
250
+ left:
251
+ RefName:
252
+ type:
253
+ TypeVector:
254
+ name: ''
255
+ base: bit
256
+ range:
257
+ - 15
258
+ - 0
259
+ ref:
260
+ RefThis:
261
+ type: void
262
+ name: b
263
+ right:
264
+ Binary:
265
+ type:
266
+ TypeVector:
267
+ name: ''
268
+ base: bit
269
+ range:
270
+ - 16
271
+ - 0
272
+ operator: "-"
273
+ left:
274
+ RefName:
275
+ type:
276
+ TypeVector:
277
+ name: ''
278
+ base: bit
279
+ range:
280
+ - 15
281
+ - 0
282
+ ref:
283
+ RefThis:
284
+ type: void
285
+ name: x
286
+ right:
287
+ RefName:
288
+ type:
289
+ TypeVector:
290
+ name: ''
291
+ base: bit
292
+ range:
293
+ - 15
294
+ - 0
295
+ ref:
296
+ RefThis:
297
+ type: void
298
+ name: y