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