HDLRuby 2.11.11 → 3.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.
- checksums.yaml +4 -4
- data/README.html +3274 -0
- data/README.md +608 -99
- data/ext/hruby_sim/hruby_rcsim_build.c +27 -0
- data/ext/hruby_sim/hruby_sim.h +3 -0
- data/ext/hruby_sim/hruby_sim_calc.c +2 -0
- data/ext/hruby_sim/hruby_sim_core.c +17 -5
- data/ext/hruby_sim/hruby_sim_stack_calc.c +1 -1
- data/ext/hruby_sim/hruby_sim_tree_calc.c +8 -1
- data/ext/hruby_sim/hruby_sim_vcd.c +24 -7
- data/ext/hruby_sim/hruby_sim_vizualize.c +9 -1
- data/lib/HDLRuby/backend/hruby_allocator.rb +2 -2
- data/lib/HDLRuby/backend/hruby_c_allocator.rb +7 -7
- data/lib/HDLRuby/hdr_samples/constant_in_function.rb +3 -1
- data/lib/HDLRuby/hdr_samples/counter_dff_bench.rb +3 -1
- data/lib/HDLRuby/hdr_samples/huge_rom.rb +1 -1
- data/lib/HDLRuby/hdr_samples/mei8.rb +11 -11
- data/lib/HDLRuby/hdr_samples/mei8_bench.rb +12 -12
- data/lib/HDLRuby/hdr_samples/neg_arith_bench.rb +4 -4
- data/lib/HDLRuby/hdr_samples/rom_nest.rb +1 -1
- data/lib/HDLRuby/hdr_samples/ruby_fir_hw.rb +4 -4
- data/lib/HDLRuby/hdr_samples/struct.rb +44 -10
- data/lib/HDLRuby/hdr_samples/with_bram.rb +45 -0
- data/lib/HDLRuby/hdr_samples/with_bram_frame_stack.rb +105 -0
- data/lib/HDLRuby/hdr_samples/with_bram_stack.rb +69 -0
- data/lib/HDLRuby/hdr_samples/with_casts.rb +3 -3
- data/lib/HDLRuby/hdr_samples/with_concat.rb +6 -6
- data/lib/HDLRuby/hdr_samples/with_connector_memory.rb +2 -2
- data/lib/HDLRuby/hdr_samples/with_def.rb +10 -3
- data/lib/HDLRuby/hdr_samples/with_define_operator.rb +44 -0
- data/lib/HDLRuby/hdr_samples/with_fixpoint.rb +12 -12
- data/lib/HDLRuby/hdr_samples/with_init.rb +3 -3
- data/lib/HDLRuby/hdr_samples/with_leftright.rb +21 -0
- data/lib/HDLRuby/hdr_samples/with_reduce.rb +13 -13
- data/lib/HDLRuby/hdr_samples/with_ref_array.rb +6 -6
- data/lib/HDLRuby/hdr_samples/with_register_stack.rb +150 -0
- data/lib/HDLRuby/hdr_samples/with_sequencer.rb +190 -0
- data/lib/HDLRuby/hdr_samples/with_sequencer_deep.rb +91 -0
- data/lib/HDLRuby/hdr_samples/with_sequencer_enumerable.rb +405 -0
- data/lib/HDLRuby/hdr_samples/with_sequencer_enumerator.rb +89 -0
- data/lib/HDLRuby/hdr_samples/with_sequencer_sync.rb +120 -0
- data/lib/HDLRuby/hdr_samples/with_subsums.rb +3 -3
- data/lib/HDLRuby/hdr_samples/with_terminate.rb +3 -3
- data/lib/HDLRuby/hdr_samples/with_to_a.rb +10 -10
- data/lib/HDLRuby/hdr_samples/with_values.rb +3 -3
- data/lib/HDLRuby/hdrcc.rb +29 -3
- data/lib/HDLRuby/hdrlib.rb +1 -1
- data/lib/HDLRuby/hruby_bstr.rb +10 -5
- data/lib/HDLRuby/hruby_db.rb +2 -2
- data/lib/HDLRuby/hruby_high.rb +152 -47
- data/lib/HDLRuby/hruby_high_fullname.rb +3 -1
- data/lib/HDLRuby/hruby_low.rb +189 -18
- data/lib/HDLRuby/hruby_low2c.rb +129 -54
- data/lib/HDLRuby/hruby_low2hdr.rb +66 -40
- data/lib/HDLRuby/hruby_low2high.rb +86 -44
- data/lib/HDLRuby/hruby_low2seq.rb +26 -18
- data/lib/HDLRuby/hruby_low2sym.rb +14 -13
- data/lib/HDLRuby/hruby_low2vhd.rb +80 -44
- data/lib/HDLRuby/hruby_low_bool2select.rb +61 -46
- data/lib/HDLRuby/hruby_low_casts_without_expression.rb +56 -44
- data/lib/HDLRuby/hruby_low_cleanup.rb +18 -16
- data/lib/HDLRuby/hruby_low_fix_types.rb +65 -32
- data/lib/HDLRuby/hruby_low_mutable.rb +83 -119
- data/lib/HDLRuby/hruby_low_resolve.rb +38 -30
- data/lib/HDLRuby/hruby_low_with_bool.rb +33 -16
- data/lib/HDLRuby/hruby_low_with_port.rb +3 -3
- data/lib/HDLRuby/hruby_low_with_var.rb +23 -9
- data/lib/HDLRuby/hruby_low_without_concat.rb +45 -19
- data/lib/HDLRuby/hruby_low_without_namespace.rb +47 -32
- data/lib/HDLRuby/hruby_low_without_parinseq.rb +32 -16
- data/lib/HDLRuby/hruby_low_without_select.rb +37 -24
- data/lib/HDLRuby/hruby_low_without_subsignals.rb +280 -0
- data/lib/HDLRuby/hruby_rcsim.rb +158 -134
- data/lib/HDLRuby/hruby_rsim.rb +194 -20
- data/lib/HDLRuby/hruby_rsim_mute.rb +2 -3
- data/lib/HDLRuby/hruby_rsim_vcd.rb +125 -50
- data/lib/HDLRuby/hruby_values.rb +48 -33
- data/lib/HDLRuby/hruby_verilog.rb +90 -48
- data/lib/HDLRuby/soft/stacks.rb +219 -0
- data/lib/HDLRuby/std/bram.rb +26 -0
- data/lib/HDLRuby/std/clocks.rb +1 -1
- data/lib/HDLRuby/std/fixpoint.rb +2 -2
- data/lib/HDLRuby/std/fsm.rb +48 -11
- data/lib/HDLRuby/std/function_generator.rb +2 -2
- data/lib/HDLRuby/std/sequencer.rb +1857 -0
- data/lib/HDLRuby/std/sequencer_sync.rb +400 -0
- data/lib/HDLRuby/std/std.rb +12 -0
- data/lib/HDLRuby/version.rb +1 -1
- data/tuto/adder_sat_flags_vcd.png +0 -0
- data/tuto/addsub_vcd.png +0 -0
- data/tuto/alu_vcd.png +0 -0
- data/tuto/bit_pong_vcd.png +0 -0
- data/tuto/checksum_vcd.png +0 -0
- data/tuto/circuit_hdr.odg +0 -0
- data/tuto/circuit_hdr.png +0 -0
- data/tuto/circuit_hie.odg +0 -0
- data/tuto/circuit_hie.png +0 -0
- data/tuto/circuit_view.odg +0 -0
- data/tuto/circuit_view.png +0 -0
- data/tuto/clock_counter_vcd.png +0 -0
- data/tuto/counter_ext_vcd.png +0 -0
- data/tuto/fact_vcd.png +0 -0
- data/tuto/hw_flow.odg +0 -0
- data/tuto/hw_flow.png +0 -0
- data/tuto/maxxer_vcd.png +0 -0
- data/tuto/pingpong0_vcd.png +0 -0
- data/tuto/pingpong1_vcd.png +0 -0
- data/tuto/pingpong2_vcd.png +0 -0
- data/tuto/ram_vcd.png +0 -0
- data/tuto/serializer_vcd.png +0 -0
- data/tuto/sw_flow.odg +0 -0
- data/tuto/sw_flow.png +0 -0
- data/tuto/the_counter_vcd.png +0 -0
- data/tuto/tutorial_sw.html +2359 -0
- data/tuto/tutorial_sw.md +2684 -0
- data/tuto/tutorial_sw.pdf +0 -0
- data/tuto/tutorial_sw_jp.md +417 -0
- metadata +49 -3
- data/lib/HDLRuby/hdr_samples/sumprod.rb +0 -29
@@ -14,9 +14,9 @@ module HDLRuby::Low
|
|
14
14
|
########################################################################
|
15
15
|
|
16
16
|
|
17
|
-
## Extends the SystemT class with functionality for converting booleans
|
18
|
-
# in assignments to select operators.
|
19
17
|
class SystemT
|
18
|
+
## Extends the SystemT class with functionality for converting booleans
|
19
|
+
# in assignments to select operators.
|
20
20
|
|
21
21
|
# Converts booleans in assignments to select operators.
|
22
22
|
def boolean_in_assign2select!
|
@@ -27,9 +27,9 @@ module HDLRuby::Low
|
|
27
27
|
end
|
28
28
|
|
29
29
|
|
30
|
-
## Extends the Scope class with functionality for converting booleans
|
31
|
-
# in assignments to select operators.
|
32
30
|
class Scope
|
31
|
+
## Extends the Scope class with functionality for converting booleans
|
32
|
+
# in assignments to select operators.
|
33
33
|
|
34
34
|
# Converts booleans in assignments to select operators.
|
35
35
|
def boolean_in_assign2select!
|
@@ -48,9 +48,9 @@ module HDLRuby::Low
|
|
48
48
|
end
|
49
49
|
|
50
50
|
|
51
|
-
## Extends the Transmit class with functionality for converting booleans
|
52
|
-
# in assignments to select operators.
|
53
51
|
class Transmit
|
52
|
+
## Extends the Transmit class with functionality for converting booleans
|
53
|
+
# in assignments to select operators.
|
54
54
|
|
55
55
|
# Converts booleans in assignments to select operators.
|
56
56
|
def boolean_in_assign2select!
|
@@ -63,9 +63,9 @@ module HDLRuby::Low
|
|
63
63
|
end
|
64
64
|
|
65
65
|
|
66
|
-
## Extends the Print class with functionality for converting booleans
|
67
|
-
# in assignments to select operators.
|
68
66
|
class Print
|
67
|
+
## Extends the Print class with functionality for converting booleans
|
68
|
+
# in assignments to select operators.
|
69
69
|
|
70
70
|
# Converts booleans in assignments to select operators.
|
71
71
|
def boolean_in_assign2select!
|
@@ -76,9 +76,9 @@ module HDLRuby::Low
|
|
76
76
|
end
|
77
77
|
|
78
78
|
|
79
|
-
## Extends the TimeTerminate class with functionality for converting booleans
|
80
|
-
# in assignments to select operators.
|
81
79
|
class TimeTerminate
|
80
|
+
## Extends the TimeTerminate class with functionality for converting
|
81
|
+
# booleans in assignments to select operators.
|
82
82
|
|
83
83
|
# Converts booleans in assignments to select operators.
|
84
84
|
def boolean_in_assign2select!
|
@@ -88,9 +88,9 @@ module HDLRuby::Low
|
|
88
88
|
end
|
89
89
|
|
90
90
|
|
91
|
-
## Extends the If class with functionality for converting booleans
|
92
|
-
# in assignments to select operators.
|
93
91
|
class If
|
92
|
+
## Extends the If class with functionality for converting booleans
|
93
|
+
# in assignments to select operators.
|
94
94
|
|
95
95
|
# Converts booleans in assignments to select operators.
|
96
96
|
def boolean_in_assign2select!
|
@@ -111,9 +111,10 @@ module HDLRuby::Low
|
|
111
111
|
end
|
112
112
|
end
|
113
113
|
|
114
|
-
|
115
|
-
# in assignments to select operators.
|
114
|
+
|
116
115
|
class When
|
116
|
+
## Extends the When class with functionality for converting booleans
|
117
|
+
# in assignments to select operators.
|
117
118
|
|
118
119
|
# Converts booleans in assignments to select operators.
|
119
120
|
def boolean_in_assign2select!
|
@@ -127,9 +128,9 @@ module HDLRuby::Low
|
|
127
128
|
end
|
128
129
|
|
129
130
|
|
130
|
-
## Extends the Case class with functionality for converting booleans
|
131
|
-
# in assignments to select operators.
|
132
131
|
class Case
|
132
|
+
## Extends the Case class with functionality for converting booleans
|
133
|
+
# in assignments to select operators.
|
133
134
|
|
134
135
|
# Converts booleans in assignments to select operators.
|
135
136
|
def boolean_in_assign2select!
|
@@ -145,9 +146,10 @@ module HDLRuby::Low
|
|
145
146
|
end
|
146
147
|
|
147
148
|
|
148
|
-
## Extends the TimeWait class with functionality for converting booleans
|
149
|
-
# in assignments to select operators.
|
150
149
|
class TimeWait
|
150
|
+
## Extends the TimeWait class with functionality for converting booleans
|
151
|
+
# in assignments to select operators.
|
152
|
+
|
151
153
|
# Converts booleans in assignments to select operators.
|
152
154
|
def boolean_in_assign2select!
|
153
155
|
# Nothing to do.
|
@@ -155,9 +157,11 @@ module HDLRuby::Low
|
|
155
157
|
end
|
156
158
|
end
|
157
159
|
|
158
|
-
|
159
|
-
# in assignments to setlect operators.
|
160
|
+
|
160
161
|
class TimeRepeat
|
162
|
+
## Extends the TimeRepeat class with functionality for converting
|
163
|
+
# booleans in assignments to setlect operators.
|
164
|
+
|
161
165
|
# Converts booleans in assignments to select operators.
|
162
166
|
def boolean_in_assign2select!
|
163
167
|
# Simply recurse on the stamtement.
|
@@ -167,9 +171,9 @@ module HDLRuby::Low
|
|
167
171
|
end
|
168
172
|
|
169
173
|
|
170
|
-
## Extends the Block class with functionality for converting booleans
|
171
|
-
# in assignments to select operators.
|
172
174
|
class Block
|
175
|
+
## Extends the Block class with functionality for converting booleans
|
176
|
+
# in assignments to select operators.
|
173
177
|
|
174
178
|
# Converts booleans in assignments to select operators.
|
175
179
|
def boolean_in_assign2select!
|
@@ -180,9 +184,10 @@ module HDLRuby::Low
|
|
180
184
|
end
|
181
185
|
|
182
186
|
|
183
|
-
## Extends the Value class with functionality for converting booleans
|
184
|
-
# in assignments to select operators.
|
185
187
|
class Value
|
188
|
+
## Extends the Value class with functionality for converting booleans
|
189
|
+
# in assignments to select operators.
|
190
|
+
|
186
191
|
# Converts booleans in assignments to select operators.
|
187
192
|
def boolean_in_assign2select
|
188
193
|
# Simple clones.
|
@@ -191,9 +196,10 @@ module HDLRuby::Low
|
|
191
196
|
end
|
192
197
|
|
193
198
|
|
194
|
-
## Extends the Cast class with functionality for converting booleans
|
195
|
-
# in assignments to select operators.
|
196
199
|
class Cast
|
200
|
+
## Extends the Cast class with functionality for converting booleans
|
201
|
+
# in assignments to select operators.
|
202
|
+
|
197
203
|
# Converts booleans in assignments to select operators.
|
198
204
|
def boolean_in_assign2select
|
199
205
|
# Recurse on the child.
|
@@ -201,9 +207,11 @@ module HDLRuby::Low
|
|
201
207
|
end
|
202
208
|
end
|
203
209
|
|
204
|
-
|
205
|
-
# in assignments to select operators.
|
210
|
+
|
206
211
|
class Unary
|
212
|
+
## Extends the Unary class with functionality for converting booleans
|
213
|
+
# in assignments to select operators.
|
214
|
+
|
207
215
|
|
208
216
|
# Converts booleans in assignments to select operators.
|
209
217
|
def boolean_in_assign2select
|
@@ -215,9 +223,9 @@ module HDLRuby::Low
|
|
215
223
|
end
|
216
224
|
|
217
225
|
|
218
|
-
## Extends the Binary class with functionality for converting booleans
|
219
|
-
# in assignments to select operators.
|
220
226
|
class Binary
|
227
|
+
## Extends the Binary class with functionality for converting booleans
|
228
|
+
# in assignments to select operators.
|
221
229
|
|
222
230
|
# Converts booleans in assignments to select operators.
|
223
231
|
def boolean_in_assign2select
|
@@ -249,9 +257,9 @@ module HDLRuby::Low
|
|
249
257
|
end
|
250
258
|
|
251
259
|
|
252
|
-
## Extends the Select class with functionality for converting booleans
|
253
|
-
# in assignments to select operators.
|
254
260
|
class Select
|
261
|
+
## Extends the Select class with functionality for converting booleans
|
262
|
+
# in assignments to select operators.
|
255
263
|
|
256
264
|
# Converts booleans in assignments to select operators.
|
257
265
|
def boolean_in_assign2select
|
@@ -266,9 +274,10 @@ module HDLRuby::Low
|
|
266
274
|
end
|
267
275
|
|
268
276
|
|
269
|
-
## Extends the Concat class with functionality for converting booleans
|
270
|
-
# in assignments to select operators.
|
271
277
|
class Concat
|
278
|
+
## Extends the Concat class with functionality for converting booleans
|
279
|
+
# in assignments to select operators.
|
280
|
+
|
272
281
|
# Converts booleans in assignments to select operators.
|
273
282
|
def boolean_in_assign2select
|
274
283
|
# Recurse on the sub expressions.
|
@@ -279,9 +288,10 @@ module HDLRuby::Low
|
|
279
288
|
end
|
280
289
|
|
281
290
|
|
282
|
-
## Extends the Ref class with functionality for converting booleans
|
283
|
-
# in assignments to select operators.
|
284
291
|
class RefConcat
|
292
|
+
## Extends the RefConcat class with functionality for converting booleans
|
293
|
+
# in assignments to select operators.
|
294
|
+
|
285
295
|
# Converts booleans in assignments to select operators.
|
286
296
|
def boolean_in_assign2select
|
287
297
|
# Recurse on the sub references.
|
@@ -292,9 +302,10 @@ module HDLRuby::Low
|
|
292
302
|
end
|
293
303
|
|
294
304
|
|
295
|
-
## Extends the RefIndex class with functionality for converting booleans
|
296
|
-
# in assignments to select operators.
|
297
305
|
class RefIndex
|
306
|
+
## Extends the RefIndex class with functionality for converting booleans
|
307
|
+
# in assignments to select operators.
|
308
|
+
|
298
309
|
# Converts booleans in assignments to select operators.
|
299
310
|
def boolean_in_assign2select
|
300
311
|
# Recurse on the sub references.
|
@@ -305,9 +316,10 @@ module HDLRuby::Low
|
|
305
316
|
end
|
306
317
|
|
307
318
|
|
308
|
-
## Extends the RefRange class with functionality for converting booleans
|
309
|
-
# in assignments to select operators.
|
310
319
|
class RefRange
|
320
|
+
## Extends the RefRange class with functionality for converting booleans
|
321
|
+
# in assignments to select operators.
|
322
|
+
|
311
323
|
# Converts booleans in assignments to select operators.
|
312
324
|
def boolean_in_assign2select
|
313
325
|
# Recurse on the sub references.
|
@@ -319,9 +331,10 @@ module HDLRuby::Low
|
|
319
331
|
end
|
320
332
|
|
321
333
|
|
322
|
-
## Extends the RefName class with functionality for converting booleans
|
323
|
-
# in assignments to select operators.
|
324
334
|
class RefName
|
335
|
+
## Extends the RefName class with functionality for converting booleans
|
336
|
+
# in assignments to select operators.
|
337
|
+
|
325
338
|
# Converts booleans in assignments to select operators.
|
326
339
|
def boolean_in_assign2select
|
327
340
|
# Recurse on the sub references.
|
@@ -332,9 +345,10 @@ module HDLRuby::Low
|
|
332
345
|
end
|
333
346
|
|
334
347
|
|
335
|
-
## Extends the RefName class with functionality for converting booleans
|
336
|
-
# in assignments to select operators.
|
337
348
|
class RefThis
|
349
|
+
## Extends the RefName class with functionality for converting booleans
|
350
|
+
# in assignments to select operators.
|
351
|
+
|
338
352
|
# Converts booleans in assignments to select operators.
|
339
353
|
def boolean_in_assign2select
|
340
354
|
# Simply clone.
|
@@ -343,9 +357,10 @@ module HDLRuby::Low
|
|
343
357
|
end
|
344
358
|
|
345
359
|
|
346
|
-
## Extends the StringE class with functionality for converting booleans
|
347
|
-
# in assignments to select operators.
|
348
360
|
class StringE
|
361
|
+
## Extends the StringE class with functionality for converting booleans
|
362
|
+
# in assignments to select operators.
|
363
|
+
|
349
364
|
|
350
365
|
# Converts booleans in assignments to select operators.
|
351
366
|
def boolean_in_assign2select
|
@@ -15,9 +15,9 @@ module HDLRuby::Low
|
|
15
15
|
########################################################################
|
16
16
|
|
17
17
|
|
18
|
-
## Extends the SystemT class with functionality for extracting
|
19
|
-
# expressions from cast.
|
20
18
|
class SystemT
|
19
|
+
## Extends the SystemT class with functionality for extracting
|
20
|
+
# expressions from cast.
|
21
21
|
|
22
22
|
# Extracts the expressions from the casts.
|
23
23
|
def casts_without_expression!
|
@@ -28,9 +28,9 @@ module HDLRuby::Low
|
|
28
28
|
end
|
29
29
|
|
30
30
|
|
31
|
-
## Extends the Scope class with functionality for extracting
|
32
|
-
# expressions from cast.
|
33
31
|
class Scope
|
32
|
+
## Extends the Scope class with functionality for extracting
|
33
|
+
# expressions from cast.
|
34
34
|
|
35
35
|
# Extracts the expressions from the casts.
|
36
36
|
def casts_without_expression!
|
@@ -49,9 +49,9 @@ module HDLRuby::Low
|
|
49
49
|
end
|
50
50
|
|
51
51
|
|
52
|
-
## Extends the Transmit class with functionality for extracting
|
53
|
-
# expressions from cast.
|
54
52
|
class Transmit
|
53
|
+
## Extends the Transmit class with functionality for extracting
|
54
|
+
# expressions from cast.
|
55
55
|
|
56
56
|
# Extracts the expressions from the casts.
|
57
57
|
def casts_without_expression!
|
@@ -64,9 +64,9 @@ module HDLRuby::Low
|
|
64
64
|
end
|
65
65
|
|
66
66
|
|
67
|
-
## Extends the Print class with functionality for extracting
|
68
|
-
# expressions from cast.
|
69
67
|
class Print
|
68
|
+
## Extends the Print class with functionality for extracting
|
69
|
+
# expressions from cast.
|
70
70
|
|
71
71
|
# Extracts the expressions from the casts.
|
72
72
|
def casts_without_expression!
|
@@ -77,9 +77,9 @@ module HDLRuby::Low
|
|
77
77
|
end
|
78
78
|
|
79
79
|
|
80
|
-
## Extends the If class with functionality for extracting
|
81
|
-
# expressions from cast.
|
82
80
|
class If
|
81
|
+
## Extends the If class with functionality for extracting
|
82
|
+
# expressions from cast.
|
83
83
|
|
84
84
|
# Extracts the expressions from the casts.
|
85
85
|
def casts_without_expression!
|
@@ -97,9 +97,9 @@ module HDLRuby::Low
|
|
97
97
|
end
|
98
98
|
end
|
99
99
|
|
100
|
-
## Extends the When class with functionality for extracting
|
101
|
-
# expressions from cast.
|
102
100
|
class When
|
101
|
+
## Extends the When class with functionality for extracting
|
102
|
+
# expressions from cast.
|
103
103
|
|
104
104
|
# Extracts the expressions from the casts.
|
105
105
|
def casts_without_expression!
|
@@ -112,9 +112,9 @@ module HDLRuby::Low
|
|
112
112
|
end
|
113
113
|
|
114
114
|
|
115
|
-
## Extends the Case class with functionality for extracting
|
116
|
-
# expressions from cast.
|
117
115
|
class Case
|
116
|
+
## Extends the Case class with functionality for extracting
|
117
|
+
# expressions from cast.
|
118
118
|
|
119
119
|
# Extracts the expressions from the casts.
|
120
120
|
def casts_without_expression!
|
@@ -130,9 +130,10 @@ module HDLRuby::Low
|
|
130
130
|
end
|
131
131
|
|
132
132
|
|
133
|
-
## Extends the TimeWait class with functionality for extracting
|
134
|
-
# expressions from cast.
|
135
133
|
class TimeWait
|
134
|
+
## Extends the TimeWait class with functionality for extracting
|
135
|
+
# expressions from cast.
|
136
|
+
|
136
137
|
# Extracts the expressions from the casts.
|
137
138
|
def casts_without_expression!
|
138
139
|
# Nothing to do.
|
@@ -140,9 +141,11 @@ module HDLRuby::Low
|
|
140
141
|
end
|
141
142
|
end
|
142
143
|
|
143
|
-
|
144
|
-
# expressions from cast.
|
144
|
+
|
145
145
|
class TimeRepeat
|
146
|
+
## Extends the TimeRepeat class with functionality for extracting
|
147
|
+
# expressions from cast.
|
148
|
+
|
146
149
|
# Extracts the expressions from the casts.
|
147
150
|
def casts_without_expression!
|
148
151
|
# Simply recurse on the stamtement.
|
@@ -152,9 +155,9 @@ module HDLRuby::Low
|
|
152
155
|
end
|
153
156
|
|
154
157
|
|
155
|
-
## Extends the Block class with functionality for extracting
|
156
|
-
# expressions from cast.
|
157
158
|
class Block
|
159
|
+
## Extends the Block class with functionality for extracting
|
160
|
+
# expressions from cast.
|
158
161
|
|
159
162
|
# Extracts the expressions from the casts.
|
160
163
|
def casts_without_expression!
|
@@ -165,9 +168,10 @@ module HDLRuby::Low
|
|
165
168
|
end
|
166
169
|
|
167
170
|
|
168
|
-
## Extends the Value class with functionality for extracting
|
169
|
-
# expressions from cast.
|
170
171
|
class Value
|
172
|
+
## Extends the Value class with functionality for extracting
|
173
|
+
# expressions from cast.
|
174
|
+
|
171
175
|
# Extracts the expressions from the casts.
|
172
176
|
def casts_without_expression!
|
173
177
|
# # Simple clones.
|
@@ -177,9 +181,10 @@ module HDLRuby::Low
|
|
177
181
|
end
|
178
182
|
|
179
183
|
|
180
|
-
## Extends the Cast class with functionality for extracting
|
181
|
-
# expressions from cast.
|
182
184
|
class Cast
|
185
|
+
## Extends the Cast class with functionality for extracting
|
186
|
+
# expressions from cast.
|
187
|
+
|
183
188
|
# Extracts the expressions from the casts.
|
184
189
|
def casts_without_expression!
|
185
190
|
# Recurse on the child.
|
@@ -218,9 +223,10 @@ module HDLRuby::Low
|
|
218
223
|
end
|
219
224
|
end
|
220
225
|
|
221
|
-
|
222
|
-
# expressions from cast.
|
226
|
+
|
223
227
|
class Unary
|
228
|
+
## Extends the Unary class with functionality for extracting
|
229
|
+
# expressions from cast.
|
224
230
|
|
225
231
|
# Extracts the expressions from the casts.
|
226
232
|
def casts_without_expression!
|
@@ -233,9 +239,9 @@ module HDLRuby::Low
|
|
233
239
|
end
|
234
240
|
|
235
241
|
|
236
|
-
## Extends the Binary class with functionality for extracting
|
237
|
-
# expressions from cast.
|
238
242
|
class Binary
|
243
|
+
## Extends the Binary class with functionality for extracting
|
244
|
+
# expressions from cast.
|
239
245
|
|
240
246
|
# Extracts the expressions from the casts.
|
241
247
|
def casts_without_expression!
|
@@ -251,9 +257,9 @@ module HDLRuby::Low
|
|
251
257
|
|
252
258
|
|
253
259
|
|
254
|
-
## Extends the Select class with functionality for extracting
|
255
|
-
# expressions from cast.
|
256
260
|
class Select
|
261
|
+
## Extends the Select class with functionality for extracting
|
262
|
+
# expressions from cast.
|
257
263
|
|
258
264
|
# Extracts the expressions from the casts.
|
259
265
|
def casts_without_expression!
|
@@ -270,9 +276,10 @@ module HDLRuby::Low
|
|
270
276
|
end
|
271
277
|
|
272
278
|
|
273
|
-
## Extends the Concat class with functionality for converting booleans
|
274
|
-
# in assignments to select operators.
|
275
279
|
class Concat
|
280
|
+
## Extends the Concat class with functionality for converting booleans
|
281
|
+
# in assignments to select operators.
|
282
|
+
|
276
283
|
# Extracts the expressions from the casts.
|
277
284
|
def casts_without_expression!
|
278
285
|
# Recurse on the sub expressions.
|
@@ -285,9 +292,10 @@ module HDLRuby::Low
|
|
285
292
|
end
|
286
293
|
|
287
294
|
|
288
|
-
## Extends the RefConcat class with functionality for converting booleans
|
289
|
-
# in assignments to select operators.
|
290
295
|
class RefConcat
|
296
|
+
## Extends the RefConcat class with functionality for converting booleans
|
297
|
+
# in assignments to select operators.
|
298
|
+
|
291
299
|
# Extracts the expressions from the casts.
|
292
300
|
def casts_without_expression!
|
293
301
|
# # Recurse on the sub references.
|
@@ -300,9 +308,10 @@ module HDLRuby::Low
|
|
300
308
|
end
|
301
309
|
|
302
310
|
|
303
|
-
## Extends the RefIndex class with functionality for converting booleans
|
304
|
-
# in assignments to select operators.
|
305
311
|
class RefIndex
|
312
|
+
## Extends the RefIndex class with functionality for converting booleans
|
313
|
+
# in assignments to select operators.
|
314
|
+
|
306
315
|
# Extracts the expressions from the casts.
|
307
316
|
def casts_without_expression!
|
308
317
|
# Recurse on the sub references.
|
@@ -316,9 +325,10 @@ module HDLRuby::Low
|
|
316
325
|
end
|
317
326
|
|
318
327
|
|
319
|
-
## Extends the RefRange class with functionality for converting booleans
|
320
|
-
# in assignments to select operators.
|
321
328
|
class RefRange
|
329
|
+
## Extends the RefRange class with functionality for converting booleans
|
330
|
+
# in assignments to select operators.
|
331
|
+
|
322
332
|
# Extracts the expressions from the casts.
|
323
333
|
def casts_without_expression!
|
324
334
|
# Recurse on the sub references.
|
@@ -334,9 +344,10 @@ module HDLRuby::Low
|
|
334
344
|
end
|
335
345
|
|
336
346
|
|
337
|
-
## Extends the RefName class with functionality for converting booleans
|
338
|
-
# in assignments to select operators.
|
339
347
|
class RefName
|
348
|
+
## Extends the RefName class with functionality for converting booleans
|
349
|
+
# in assignments to select operators.
|
350
|
+
|
340
351
|
# Extracts the expressions from the casts.
|
341
352
|
def casts_without_expression!
|
342
353
|
# Recurse on the sub references.
|
@@ -349,9 +360,10 @@ module HDLRuby::Low
|
|
349
360
|
end
|
350
361
|
|
351
362
|
|
352
|
-
## Extends the RefThis class with functionality for converting booleans
|
353
|
-
# in assignments to select operators.
|
354
363
|
class RefThis
|
364
|
+
## Extends the RefThis class with functionality for converting booleans
|
365
|
+
# in assignments to select operators.
|
366
|
+
|
355
367
|
# Extracts the expressions from the casts.
|
356
368
|
def casts_without_expression!
|
357
369
|
# # Simply clone.
|
@@ -361,9 +373,9 @@ module HDLRuby::Low
|
|
361
373
|
end
|
362
374
|
|
363
375
|
|
364
|
-
## Extends the StringE class with functionality for extracting
|
365
|
-
# expressions from cast.
|
366
376
|
class StringE
|
377
|
+
## Extends the StringE class with functionality for extracting
|
378
|
+
# expressions from cast.
|
367
379
|
|
368
380
|
# Extracts the expressions from the casts.
|
369
381
|
def casts_without_expression!
|
@@ -14,9 +14,9 @@ module HDLRuby::Low
|
|
14
14
|
########################################################################
|
15
15
|
|
16
16
|
|
17
|
-
## Extends the SystemT class with functionality for cleaning up the
|
18
|
-
# structure.
|
19
17
|
class SystemT
|
18
|
+
## Extends the SystemT class with functionality for cleaning up the
|
19
|
+
# structure.
|
20
20
|
|
21
21
|
# Cleans up.
|
22
22
|
def cleanup!
|
@@ -29,9 +29,9 @@ module HDLRuby::Low
|
|
29
29
|
|
30
30
|
end
|
31
31
|
|
32
|
-
## Extends the Scope class with functionality for cleaning up the
|
33
|
-
# structure.
|
34
32
|
class Scope
|
33
|
+
## Extends the Scope class with functionality for cleaning up the
|
34
|
+
# structure.
|
35
35
|
|
36
36
|
# Cleans up.
|
37
37
|
# +keep+ includes the list of names to be kept.
|
@@ -107,9 +107,9 @@ module HDLRuby::Low
|
|
107
107
|
end
|
108
108
|
|
109
109
|
|
110
|
-
## Extends the Statement class with functionality for breaking assingments
|
111
|
-
# to concats.
|
112
110
|
class Statement
|
111
|
+
## Extends the Statement class with functionality for cleaning up the
|
112
|
+
# structure.
|
113
113
|
|
114
114
|
# Removes the signals and corresponding assignments whose name is not
|
115
115
|
# in +keep+.
|
@@ -119,9 +119,8 @@ module HDLRuby::Low
|
|
119
119
|
end
|
120
120
|
|
121
121
|
|
122
|
-
## Extends the If class with functionality for breaking assingments
|
123
|
-
# to concats.
|
124
122
|
class If
|
123
|
+
## Extends the If class with functionality for cleaning up the structure
|
125
124
|
|
126
125
|
# Removes the signals and corresponding assignments whose name is not
|
127
126
|
# in +keep+.
|
@@ -136,9 +135,10 @@ module HDLRuby::Low
|
|
136
135
|
end
|
137
136
|
end
|
138
137
|
|
139
|
-
|
140
|
-
# to concats.
|
138
|
+
|
141
139
|
class When
|
140
|
+
## Extends the When class with functionality for cleaning up the
|
141
|
+
# structure.
|
142
142
|
|
143
143
|
# Removes the signals and corresponding assignments whose name is not
|
144
144
|
# in +keep+.
|
@@ -149,9 +149,10 @@ module HDLRuby::Low
|
|
149
149
|
end
|
150
150
|
|
151
151
|
|
152
|
-
## Extends the Case class with functionality for breaking assingments
|
153
|
-
# to concats.
|
154
152
|
class Case
|
153
|
+
## Extends the Case class with functionality for cleaning up the
|
154
|
+
# structure.
|
155
|
+
|
155
156
|
# Removes the signals and corresponding assignments whose name is not
|
156
157
|
# in +keep+.
|
157
158
|
def delete_unless!(keep)
|
@@ -163,9 +164,9 @@ module HDLRuby::Low
|
|
163
164
|
end
|
164
165
|
|
165
166
|
|
166
|
-
## Extends the Block class with functionality for breaking assingments
|
167
|
-
# to concats.
|
168
167
|
class Block
|
168
|
+
## Extends the Block class with functionality for cleaning up the
|
169
|
+
# structure.
|
169
170
|
|
170
171
|
# Removes the signals and corresponding assignments whose name is not
|
171
172
|
# in +keep+.
|
@@ -189,9 +190,10 @@ module HDLRuby::Low
|
|
189
190
|
end
|
190
191
|
end
|
191
192
|
|
192
|
-
|
193
|
-
# to concats.
|
193
|
+
|
194
194
|
class TimeBlock
|
195
|
+
## Extends the TimeBlock class with functionality for cleaning up the
|
196
|
+
# structure.
|
195
197
|
|
196
198
|
# Removes the signals and corresponding assignments whose name is not
|
197
199
|
# in +keep+.
|