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,597 @@
1
+ ---
2
+ Type:
3
+ name: signed
4
+ ---
5
+ TypeVector:
6
+ name: integer
7
+ base: signed
8
+ range:
9
+ - 31
10
+ - 0
11
+ ---
12
+ Type:
13
+ name: void
14
+ ---
15
+ Type:
16
+ name: bit
17
+ ---
18
+ SystemT:
19
+ name: sysB::T_
20
+ inputs:
21
+ - SignalI:
22
+ name: clk
23
+ type: bit
24
+ - SignalI:
25
+ name: data
26
+ type:
27
+ TypeVector:
28
+ name: ''
29
+ base: bit
30
+ range:
31
+ - 7
32
+ - 0
33
+ outputs:
34
+ - SignalI:
35
+ name: result
36
+ type: bit
37
+ inouts: []
38
+ scope:
39
+ Scope:
40
+ name: ''
41
+ scopes: []
42
+ inners: []
43
+ systemIs: []
44
+ connections: []
45
+ behaviors:
46
+ - Behavior:
47
+ events:
48
+ - Event:
49
+ type: posedge
50
+ ref:
51
+ RefName:
52
+ type: bit
53
+ ref:
54
+ RefThis:
55
+ type: void
56
+ name: clk
57
+ block:
58
+ Block:
59
+ mode: par
60
+ name: ''
61
+ inners: []
62
+ statements:
63
+ - Transmit:
64
+ left:
65
+ RefName:
66
+ type: bit
67
+ ref:
68
+ RefThis:
69
+ type: void
70
+ name: result
71
+ right:
72
+ Select:
73
+ type: integer
74
+ operator: "?"
75
+ select:
76
+ Binary:
77
+ type:
78
+ TypeVector:
79
+ name: ''
80
+ base: signed
81
+ range:
82
+ - 31
83
+ - 0
84
+ operator: "=="
85
+ left:
86
+ RefName:
87
+ type:
88
+ TypeVector:
89
+ name: ''
90
+ base: bit
91
+ range:
92
+ - 7
93
+ - 0
94
+ ref:
95
+ RefThis:
96
+ type: void
97
+ name: data
98
+ right:
99
+ Value:
100
+ type: integer
101
+ content: 0
102
+ choices:
103
+ - Value:
104
+ type: integer
105
+ content: 0
106
+ - Value:
107
+ type: integer
108
+ content: 1
109
+ ---
110
+ SystemT:
111
+ name: sysA::T_
112
+ inputs:
113
+ - SignalI:
114
+ name: clk
115
+ type: bit
116
+ - SignalI:
117
+ name: rst
118
+ type: bit
119
+ outputs:
120
+ - SignalI:
121
+ name: data
122
+ type:
123
+ TypeVector:
124
+ name: ''
125
+ base: bit
126
+ range:
127
+ - 7
128
+ - 0
129
+ inouts: []
130
+ scope:
131
+ Scope:
132
+ name: ''
133
+ scopes: []
134
+ inners: []
135
+ systemIs: []
136
+ connections: []
137
+ behaviors:
138
+ - Behavior:
139
+ events:
140
+ - Event:
141
+ type: posedge
142
+ ref:
143
+ RefName:
144
+ type: bit
145
+ ref:
146
+ RefThis:
147
+ type: void
148
+ name: clk
149
+ block:
150
+ Block:
151
+ mode: par
152
+ name: ''
153
+ inners: []
154
+ statements:
155
+ - Transmit:
156
+ left:
157
+ RefName:
158
+ type:
159
+ TypeVector:
160
+ name: ''
161
+ base: bit
162
+ range:
163
+ - 7
164
+ - 0
165
+ ref:
166
+ RefThis:
167
+ type: void
168
+ name: data
169
+ right:
170
+ Select:
171
+ type: integer
172
+ operator: "?"
173
+ select:
174
+ Binary:
175
+ type:
176
+ TypeVector:
177
+ name: ''
178
+ base: signed
179
+ range:
180
+ - 0
181
+ - 31
182
+ operator: "=="
183
+ left:
184
+ RefName:
185
+ type: bit
186
+ ref:
187
+ RefThis:
188
+ type: void
189
+ name: rst
190
+ right:
191
+ Value:
192
+ type: integer
193
+ content: 0
194
+ choices:
195
+ - Value:
196
+ type: integer
197
+ content: 0
198
+ - Binary:
199
+ type:
200
+ TypeVector:
201
+ name: ''
202
+ base: signed
203
+ range:
204
+ - 32
205
+ - 0
206
+ operator: "+"
207
+ left:
208
+ RefName:
209
+ type:
210
+ TypeVector:
211
+ name: ''
212
+ base: bit
213
+ range:
214
+ - 7
215
+ - 0
216
+ ref:
217
+ RefThis:
218
+ type: void
219
+ name: data
220
+ right:
221
+ Value:
222
+ type: integer
223
+ content: 1
224
+ ---
225
+ SystemT:
226
+ name: serialABI::T_
227
+ inputs:
228
+ - SignalI:
229
+ name: clk
230
+ type: bit
231
+ - SignalI:
232
+ name: rst
233
+ type: bit
234
+ outputs:
235
+ - SignalI:
236
+ name: result
237
+ type: bit
238
+ inouts: []
239
+ scope:
240
+ Scope:
241
+ name: ''
242
+ scopes: []
243
+ inners:
244
+ - SignalI:
245
+ name: bufA
246
+ type:
247
+ TypeVector:
248
+ name: ''
249
+ base: bit
250
+ range:
251
+ - 7
252
+ - 0
253
+ - SignalI:
254
+ name: scntA
255
+ type:
256
+ TypeVector:
257
+ name: ''
258
+ base: bit
259
+ range:
260
+ - 2
261
+ - 0
262
+ - SignalI:
263
+ name: bufB
264
+ type:
265
+ TypeVector:
266
+ name: ''
267
+ base: bit
268
+ range:
269
+ - 7
270
+ - 0
271
+ - SignalI:
272
+ name: scntB
273
+ type:
274
+ TypeVector:
275
+ name: ''
276
+ base: bit
277
+ range:
278
+ - 2
279
+ - 0
280
+ - SignalI:
281
+ name: sdat
282
+ type: bit
283
+ systemIs:
284
+ - SystemI:
285
+ name: sysA
286
+ systemT: sysA::T_
287
+ - SystemI:
288
+ name: sysB
289
+ systemT: sysB::T_
290
+ connections:
291
+ - Connection:
292
+ left:
293
+ RefName:
294
+ type: bit
295
+ ref:
296
+ RefName:
297
+ type: void
298
+ ref:
299
+ RefThis:
300
+ type: void
301
+ name: sysA
302
+ name: clk
303
+ right:
304
+ RefName:
305
+ type: bit
306
+ ref:
307
+ RefThis:
308
+ type: void
309
+ name: clk
310
+ - Connection:
311
+ left:
312
+ RefName:
313
+ type: bit
314
+ ref:
315
+ RefName:
316
+ type: void
317
+ ref:
318
+ RefThis:
319
+ type: void
320
+ name: sysB
321
+ name: clk
322
+ right:
323
+ RefName:
324
+ type: bit
325
+ ref:
326
+ RefThis:
327
+ type: void
328
+ name: clk
329
+ behaviors:
330
+ - Behavior:
331
+ events:
332
+ - Event:
333
+ type: posedge
334
+ ref:
335
+ RefName:
336
+ type: bit
337
+ ref:
338
+ RefThis:
339
+ type: void
340
+ name: clk
341
+ block:
342
+ Block:
343
+ mode: par
344
+ name: ''
345
+ inners: []
346
+ statements:
347
+ - If:
348
+ condition:
349
+ RefName:
350
+ type: bit
351
+ ref:
352
+ RefThis:
353
+ type: void
354
+ name: rst
355
+ 'yes':
356
+ Block:
357
+ mode: par
358
+ name: ''
359
+ inners: []
360
+ statements:
361
+ - Transmit:
362
+ left:
363
+ RefName:
364
+ type:
365
+ TypeVector:
366
+ name: ''
367
+ base: bit
368
+ range:
369
+ - 2
370
+ - 0
371
+ ref:
372
+ RefThis:
373
+ type: void
374
+ name: scntA
375
+ right:
376
+ Value:
377
+ type: integer
378
+ content: 0
379
+ 'no':
380
+ Block:
381
+ mode: par
382
+ name: ''
383
+ inners: []
384
+ statements:
385
+ - Transmit:
386
+ left:
387
+ RefName:
388
+ type:
389
+ TypeVector:
390
+ name: ''
391
+ base: bit
392
+ range:
393
+ - 2
394
+ - 0
395
+ ref:
396
+ RefThis:
397
+ type: void
398
+ name: scntA
399
+ right:
400
+ Binary:
401
+ type:
402
+ TypeVector:
403
+ name: ''
404
+ base: signed
405
+ range:
406
+ - 32
407
+ - 0
408
+ operator: "+"
409
+ left:
410
+ RefName:
411
+ type:
412
+ TypeVector:
413
+ name: ''
414
+ base: bit
415
+ range:
416
+ - 2
417
+ - 0
418
+ ref:
419
+ RefThis:
420
+ type: void
421
+ name: scntA
422
+ right:
423
+ Value:
424
+ type: integer
425
+ content: 1
426
+ - Transmit:
427
+ left:
428
+ RefName:
429
+ type: bit
430
+ ref:
431
+ RefThis:
432
+ type: void
433
+ name: sdat
434
+ right:
435
+ RefIndex:
436
+ type: bit
437
+ ref:
438
+ RefName:
439
+ type:
440
+ TypeVector:
441
+ name: ''
442
+ base: bit
443
+ range:
444
+ - 7
445
+ - 0
446
+ ref:
447
+ RefThis:
448
+ type: void
449
+ name: bufA
450
+ index:
451
+ RefName:
452
+ type:
453
+ TypeVector:
454
+ name: ''
455
+ base: bit
456
+ range:
457
+ - 2
458
+ - 0
459
+ ref:
460
+ RefThis:
461
+ type: void
462
+ name: scntA
463
+ noifs: []
464
+ - Behavior:
465
+ events:
466
+ - Event:
467
+ type: negedge
468
+ ref:
469
+ RefName:
470
+ type: bit
471
+ ref:
472
+ RefThis:
473
+ type: void
474
+ name: clk
475
+ block:
476
+ Block:
477
+ mode: par
478
+ name: ''
479
+ inners: []
480
+ statements:
481
+ - If:
482
+ condition:
483
+ RefName:
484
+ type: bit
485
+ ref:
486
+ RefThis:
487
+ type: void
488
+ name: rst
489
+ 'yes':
490
+ Block:
491
+ mode: par
492
+ name: ''
493
+ inners: []
494
+ statements:
495
+ - Transmit:
496
+ left:
497
+ RefName:
498
+ type:
499
+ TypeVector:
500
+ name: ''
501
+ base: bit
502
+ range:
503
+ - 2
504
+ - 0
505
+ ref:
506
+ RefThis:
507
+ type: void
508
+ name: scntB
509
+ right:
510
+ Value:
511
+ type: integer
512
+ content: 0
513
+ 'no':
514
+ Block:
515
+ mode: par
516
+ name: ''
517
+ inners: []
518
+ statements:
519
+ - Transmit:
520
+ left:
521
+ RefName:
522
+ type:
523
+ TypeVector:
524
+ name: ''
525
+ base: bit
526
+ range:
527
+ - 2
528
+ - 0
529
+ ref:
530
+ RefThis:
531
+ type: void
532
+ name: scntB
533
+ right:
534
+ Binary:
535
+ type:
536
+ TypeVector:
537
+ name: ''
538
+ base: signed
539
+ range:
540
+ - 32
541
+ - 0
542
+ operator: "+"
543
+ left:
544
+ RefName:
545
+ type:
546
+ TypeVector:
547
+ name: ''
548
+ base: bit
549
+ range:
550
+ - 2
551
+ - 0
552
+ ref:
553
+ RefThis:
554
+ type: void
555
+ name: scntB
556
+ right:
557
+ Value:
558
+ type: integer
559
+ content: 1
560
+ - Transmit:
561
+ left:
562
+ RefIndex:
563
+ type: bit
564
+ ref:
565
+ RefName:
566
+ type:
567
+ TypeVector:
568
+ name: ''
569
+ base: bit
570
+ range:
571
+ - 7
572
+ - 0
573
+ ref:
574
+ RefThis:
575
+ type: void
576
+ name: bufB
577
+ index:
578
+ RefName:
579
+ type:
580
+ TypeVector:
581
+ name: ''
582
+ base: bit
583
+ range:
584
+ - 2
585
+ - 0
586
+ ref:
587
+ RefThis:
588
+ type: void
589
+ name: scntB
590
+ right:
591
+ RefName:
592
+ type: bit
593
+ ref:
594
+ RefThis:
595
+ type: void
596
+ name: sdat
597
+ noifs: []
@@ -0,0 +1,125 @@
1
+ ---
2
+ Type:
3
+ name: void
4
+ ---
5
+ Type:
6
+ name: bit
7
+ ---
8
+ SystemT:
9
+ name: dff_fullI::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
+ - SignalI:
25
+ name: qb
26
+ type: bit
27
+ inouts: []
28
+ scope:
29
+ Scope:
30
+ name: ''
31
+ scopes: []
32
+ inners:
33
+ - SignalI:
34
+ name: db
35
+ type: bit
36
+ systemIs: []
37
+ connections:
38
+ - Connection:
39
+ left:
40
+ RefName:
41
+ type: bit
42
+ ref:
43
+ RefThis:
44
+ type: void
45
+ name: db
46
+ right:
47
+ Unary:
48
+ type: bit
49
+ operator: "~"
50
+ child:
51
+ RefName:
52
+ type: bit
53
+ ref:
54
+ RefThis:
55
+ type: void
56
+ name: d
57
+ - Connection:
58
+ left:
59
+ RefName:
60
+ type: bit
61
+ ref:
62
+ RefThis:
63
+ type: void
64
+ name: qb
65
+ right:
66
+ RefName:
67
+ type: bit
68
+ ref:
69
+ RefThis:
70
+ type: void
71
+ name: db
72
+ behaviors:
73
+ - Behavior:
74
+ events:
75
+ - Event:
76
+ type: posedge
77
+ ref:
78
+ RefName:
79
+ type: bit
80
+ ref:
81
+ RefThis:
82
+ type: void
83
+ name: clk
84
+ block:
85
+ Block:
86
+ mode: par
87
+ name: ''
88
+ inners: []
89
+ statements:
90
+ - Transmit:
91
+ left:
92
+ RefName:
93
+ type: bit
94
+ ref:
95
+ RefThis:
96
+ type: void
97
+ name: q
98
+ right:
99
+ Binary:
100
+ type:
101
+ TypeVector:
102
+ name: ''
103
+ base: bit
104
+ range:
105
+ - 0
106
+ - 0
107
+ operator: "&"
108
+ left:
109
+ RefName:
110
+ type: bit
111
+ ref:
112
+ RefThis:
113
+ type: void
114
+ name: d
115
+ right:
116
+ Unary:
117
+ type: bit
118
+ operator: "~"
119
+ child:
120
+ RefName:
121
+ type: bit
122
+ ref:
123
+ RefThis:
124
+ type: void
125
+ name: rst