HDLRuby 2.11.12 → 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 +556 -84
- data/ext/hruby_sim/hruby_sim_calc.c +2 -0
- data/lib/HDLRuby/backend/hruby_allocator.rb +2 -2
- data/lib/HDLRuby/backend/hruby_c_allocator.rb +7 -7
- data/lib/HDLRuby/hdr_samples/mei8_bench.rb +1 -1
- data/lib/HDLRuby/hdr_samples/with_bram.rb +3 -3
- 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_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/hdrcc.rb +15 -2
- data/lib/HDLRuby/hdrlib.rb +1 -1
- data/lib/HDLRuby/hruby_db.rb +2 -2
- data/lib/HDLRuby/hruby_high.rb +38 -20
- data/lib/HDLRuby/hruby_high_fullname.rb +3 -1
- data/lib/HDLRuby/hruby_low.rb +2 -2
- data/lib/HDLRuby/hruby_low2c.rb +58 -43
- 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 +78 -43
- 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 +64 -32
- data/lib/HDLRuby/hruby_low_mutable.rb +53 -118
- data/lib/HDLRuby/hruby_low_resolve.rb +26 -31
- 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 +19 -13
- data/lib/HDLRuby/hruby_low_without_namespace.rb +47 -32
- data/lib/HDLRuby/hruby_low_without_parinseq.rb +18 -12
- data/lib/HDLRuby/hruby_low_without_select.rb +36 -23
- data/lib/HDLRuby/hruby_low_without_subsignals.rb +29 -28
- data/lib/HDLRuby/hruby_rcsim.rb +79 -64
- data/lib/HDLRuby/hruby_rsim.rb +64 -15
- data/lib/HDLRuby/hruby_rsim_mute.rb +2 -3
- data/lib/HDLRuby/hruby_rsim_vcd.rb +28 -25
- data/lib/HDLRuby/hruby_values.rb +13 -2
- data/lib/HDLRuby/hruby_verilog.rb +90 -48
- data/lib/HDLRuby/soft/stacks.rb +219 -0
- data/lib/HDLRuby/std/bram.rb +9 -5
- data/lib/HDLRuby/std/clocks.rb +1 -1
- data/lib/HDLRuby/std/fsm.rb +29 -9
- 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 +44 -2
@@ -11,8 +11,9 @@ module HDLRuby::Low
|
|
11
11
|
|
12
12
|
|
13
13
|
|
14
|
-
# Add the conversion to high.
|
15
14
|
class SystemT
|
15
|
+
## Adds the conversion to high.
|
16
|
+
|
16
17
|
# Creates a new high system type named +name+ with +scope+.
|
17
18
|
def to_high
|
18
19
|
# Create the high system type.
|
@@ -28,8 +29,9 @@ module HDLRuby::Low
|
|
28
29
|
end
|
29
30
|
|
30
31
|
|
31
|
-
# Add the conversion to high.
|
32
32
|
class Scope
|
33
|
+
## Adds the conversion to high.
|
34
|
+
|
33
35
|
# Creates a new high scope.
|
34
36
|
def to_high
|
35
37
|
# Create the high scope.
|
@@ -55,8 +57,9 @@ module HDLRuby::Low
|
|
55
57
|
end
|
56
58
|
|
57
59
|
|
58
|
-
# Add the conversion to high.
|
59
60
|
class Type
|
61
|
+
## Adds the conversion to high.
|
62
|
+
|
60
63
|
# Creates a new high type.
|
61
64
|
def to_high
|
62
65
|
return HDLRuby::High::Type.new(self.name)
|
@@ -64,8 +67,9 @@ module HDLRuby::Low
|
|
64
67
|
end
|
65
68
|
|
66
69
|
|
67
|
-
# Add the conversion to high.
|
68
70
|
class TypeDef
|
71
|
+
## Adds the conversion to high.
|
72
|
+
|
69
73
|
# Creates a new high type definition.
|
70
74
|
def to_high
|
71
75
|
return HDLRuby::High::Typdef.new(self.name,self.type.to_high)
|
@@ -73,8 +77,9 @@ module HDLRuby::Low
|
|
73
77
|
end
|
74
78
|
|
75
79
|
|
76
|
-
# Add the conversion to high.
|
77
80
|
class TypeVector
|
81
|
+
## Adds the conversion to high.
|
82
|
+
|
78
83
|
# Creates a new high type vector.
|
79
84
|
def to_high
|
80
85
|
return HDLRuby::High::TypeVector.new(self.name,
|
@@ -84,8 +89,9 @@ module HDLRuby::Low
|
|
84
89
|
end
|
85
90
|
|
86
91
|
|
87
|
-
# Add the conversion to high.
|
88
92
|
class TypeSigned
|
93
|
+
## Adds the conversion to high.
|
94
|
+
|
89
95
|
# Creates a new high type signed.
|
90
96
|
def to_high
|
91
97
|
return HDLRuby::High::TypeSigned.new(self.name,self.range)
|
@@ -93,8 +99,9 @@ module HDLRuby::Low
|
|
93
99
|
end
|
94
100
|
|
95
101
|
|
96
|
-
# Add the conversion to high.
|
97
102
|
class TypeUnsigned
|
103
|
+
## Adds the conversion to high.
|
104
|
+
|
98
105
|
# Creates a new high type unsigned.
|
99
106
|
def to_high
|
100
107
|
return HDLRuby::High::TypeUnsigned.new(self.name,self.range)
|
@@ -103,8 +110,9 @@ module HDLRuby::Low
|
|
103
110
|
end
|
104
111
|
|
105
112
|
|
106
|
-
# Add the conversion to high.
|
107
113
|
class TypeTuple
|
114
|
+
## Adds the conversion to high.
|
115
|
+
|
108
116
|
# Creates a new high type tuple.
|
109
117
|
def to_high
|
110
118
|
return HDLRuby::High::TypeTuple.new(self.name,self.direction,
|
@@ -113,8 +121,9 @@ module HDLRuby::Low
|
|
113
121
|
end
|
114
122
|
|
115
123
|
|
116
|
-
# Add the conversion to high.
|
117
124
|
class TypeStruct
|
125
|
+
## Adds the conversion to high.
|
126
|
+
|
118
127
|
# Creates a new high type struct.
|
119
128
|
def to_high
|
120
129
|
return HDLRuby::High::TypeString.new(self.name,self.direction,
|
@@ -124,8 +133,9 @@ module HDLRuby::Low
|
|
124
133
|
|
125
134
|
|
126
135
|
|
127
|
-
# Add the conversion to high.
|
128
136
|
class Behavior
|
137
|
+
## Adds the conversion to high.
|
138
|
+
|
129
139
|
# Creates a new high behavior.
|
130
140
|
def to_high
|
131
141
|
# Create the resulting behavior.
|
@@ -137,8 +147,9 @@ module HDLRuby::Low
|
|
137
147
|
end
|
138
148
|
|
139
149
|
|
140
|
-
# Add the conversion to high.
|
141
150
|
class TimeBehavior
|
151
|
+
## Adds the conversion to high.
|
152
|
+
|
142
153
|
# Creates a new high time behavior.
|
143
154
|
def to_high
|
144
155
|
# Create the resulting behavior.
|
@@ -150,8 +161,9 @@ module HDLRuby::Low
|
|
150
161
|
end
|
151
162
|
|
152
163
|
|
153
|
-
# Add the conversion to high.
|
154
164
|
class Event
|
165
|
+
## Add the conversion to high.
|
166
|
+
|
155
167
|
# Creates a new high event.
|
156
168
|
def to_high
|
157
169
|
return HDLRuby::High::Event.new(self.type.to_high,self.ref.to_high)
|
@@ -159,8 +171,9 @@ module HDLRuby::Low
|
|
159
171
|
end
|
160
172
|
|
161
173
|
|
162
|
-
# Add the conversion to high.
|
163
174
|
class SignalI
|
175
|
+
## Add the conversion to high.
|
176
|
+
|
164
177
|
# Creates a new high signal.
|
165
178
|
def to_high
|
166
179
|
# Is there an initial value?
|
@@ -176,8 +189,9 @@ module HDLRuby::Low
|
|
176
189
|
end
|
177
190
|
|
178
191
|
|
179
|
-
# Add the conversion to high.
|
180
192
|
class SignalC
|
193
|
+
## Adds the conversion to high.
|
194
|
+
|
181
195
|
# Creates a new high constant signal.
|
182
196
|
def to_high
|
183
197
|
# Is there an initial value?
|
@@ -193,8 +207,9 @@ module HDLRuby::Low
|
|
193
207
|
end
|
194
208
|
|
195
209
|
|
196
|
-
# Add the conversion to high.
|
197
210
|
class SystemI
|
211
|
+
## Adds the conversion to high.
|
212
|
+
|
198
213
|
# Creates a new high system instance.
|
199
214
|
def to_high
|
200
215
|
return HDLRuby::High::SystemI.new(self.name,self.systemT.to_high)
|
@@ -202,8 +217,9 @@ module HDLRuby::Low
|
|
202
217
|
end
|
203
218
|
|
204
219
|
|
205
|
-
# Add the conversion to high.
|
206
220
|
class Chunk
|
221
|
+
## Adds the conversion to high.
|
222
|
+
|
207
223
|
# Creates a new high code chunk.
|
208
224
|
def to_high
|
209
225
|
return HDLRuby::High::Chunk.new(self.name,
|
@@ -212,8 +228,9 @@ module HDLRuby::Low
|
|
212
228
|
end
|
213
229
|
|
214
230
|
|
215
|
-
# Add the conversion to high.
|
216
231
|
class Code
|
232
|
+
## Adds the conversion to high.
|
233
|
+
|
217
234
|
# Creates a new high code.
|
218
235
|
def to_high
|
219
236
|
# Create the new code.
|
@@ -226,8 +243,9 @@ module HDLRuby::Low
|
|
226
243
|
end
|
227
244
|
|
228
245
|
|
229
|
-
# Add the conversion to high.
|
230
246
|
class Statement
|
247
|
+
## Adds the conversion to high.
|
248
|
+
|
231
249
|
# Creates a new high statement.
|
232
250
|
def to_high
|
233
251
|
raise AnyError,
|
@@ -236,8 +254,9 @@ module HDLRuby::Low
|
|
236
254
|
end
|
237
255
|
|
238
256
|
|
239
|
-
# Add the conversion to high.
|
240
257
|
class Transmit
|
258
|
+
## Adds the conversion to high.
|
259
|
+
|
241
260
|
# Creates a new high transmit statement.
|
242
261
|
def to_high
|
243
262
|
return HDLRuby::High::Transmit.new(self.left.to_high,
|
@@ -246,8 +265,9 @@ module HDLRuby::Low
|
|
246
265
|
end
|
247
266
|
|
248
267
|
|
249
|
-
# Add the conversion to high.
|
250
268
|
class If
|
269
|
+
## Adds the conversion to high.
|
270
|
+
|
251
271
|
# Creates a new high if statement.
|
252
272
|
def to_high
|
253
273
|
# Is there a no?
|
@@ -269,8 +289,9 @@ module HDLRuby::Low
|
|
269
289
|
end
|
270
290
|
|
271
291
|
|
272
|
-
# Add the conversion to high.
|
273
292
|
class When
|
293
|
+
## Adds the conversion to high.
|
294
|
+
|
274
295
|
# Creates a new high when.
|
275
296
|
def to_high
|
276
297
|
return HDLRuby::High::When.new(self.match.to_high,
|
@@ -279,8 +300,9 @@ module HDLRuby::Low
|
|
279
300
|
end
|
280
301
|
|
281
302
|
|
282
|
-
# Add the conversion to high.
|
283
303
|
class Case
|
304
|
+
## Adds the conversion to high.
|
305
|
+
|
284
306
|
# Creates a new high case statement.
|
285
307
|
def to_high
|
286
308
|
# Is there a default?
|
@@ -294,8 +316,9 @@ module HDLRuby::Low
|
|
294
316
|
end
|
295
317
|
|
296
318
|
|
297
|
-
# Add the conversion to high.
|
298
319
|
class Delay
|
320
|
+
## Adds the conversion to high.
|
321
|
+
|
299
322
|
# Creates a new high delay.
|
300
323
|
def to_high
|
301
324
|
return HDLRuby::High::Delay.new(self.value,self.unit)
|
@@ -303,8 +326,9 @@ module HDLRuby::Low
|
|
303
326
|
end
|
304
327
|
|
305
328
|
|
306
|
-
# Add the conversion to high.
|
307
329
|
class Print
|
330
|
+
## Adds the conversion to high.
|
331
|
+
|
308
332
|
# Creates a new high print statement.
|
309
333
|
def to_high
|
310
334
|
return HDLRuby::High::Print.new(
|
@@ -313,8 +337,9 @@ module HDLRuby::Low
|
|
313
337
|
end
|
314
338
|
|
315
339
|
|
316
|
-
# Add the conversion to high.
|
317
340
|
class TimeWait
|
341
|
+
## Adds the conversion to high.
|
342
|
+
|
318
343
|
# Creates a new high wait statement.
|
319
344
|
def to_high
|
320
345
|
return HDLRuby::High::TimeWait.new(self.delay.to_high)
|
@@ -322,8 +347,9 @@ module HDLRuby::Low
|
|
322
347
|
end
|
323
348
|
|
324
349
|
|
325
|
-
# Add the conversion to high.
|
326
350
|
class TimeRepeat
|
351
|
+
## Adds the conversion to high.
|
352
|
+
|
327
353
|
# Creates a new high repreat statement.
|
328
354
|
def to_high
|
329
355
|
return HDLRuby::High::TimeReapeat.new(self.delay.to_high,
|
@@ -332,8 +358,9 @@ module HDLRuby::Low
|
|
332
358
|
end
|
333
359
|
|
334
360
|
|
335
|
-
# Add the conversion to high.
|
336
361
|
class Block
|
362
|
+
## Adds the conversion to high.
|
363
|
+
|
337
364
|
# Creates a new high block statement.
|
338
365
|
def to_high
|
339
366
|
# Create the new block statement.
|
@@ -345,8 +372,9 @@ module HDLRuby::Low
|
|
345
372
|
end
|
346
373
|
|
347
374
|
|
348
|
-
# Add the conversion to high.
|
349
375
|
class TimeBlock
|
376
|
+
## Adds the conversion to high.
|
377
|
+
|
350
378
|
# Creates a new high time block statement.
|
351
379
|
def to_high
|
352
380
|
# Create the new block statement.
|
@@ -358,8 +386,9 @@ module HDLRuby::Low
|
|
358
386
|
end
|
359
387
|
|
360
388
|
|
361
|
-
# Add the conversion to high.
|
362
389
|
class Connection
|
390
|
+
## Adds the conversion to high.
|
391
|
+
|
363
392
|
# Creates a new high connection.
|
364
393
|
def to_high
|
365
394
|
return HDLRuby::High::Connection.new(self.left.to_high,
|
@@ -368,8 +397,9 @@ module HDLRuby::Low
|
|
368
397
|
end
|
369
398
|
|
370
399
|
|
371
|
-
# Add the conversion to high.
|
372
400
|
class Expression
|
401
|
+
## Adds the conversion to high.
|
402
|
+
|
373
403
|
# Creates a new high expression.
|
374
404
|
def to_high
|
375
405
|
raise AnyError,
|
@@ -378,8 +408,9 @@ module HDLRuby::Low
|
|
378
408
|
end
|
379
409
|
|
380
410
|
|
381
|
-
# Add the conversion to high.
|
382
411
|
class Value
|
412
|
+
## Adds the conversion to high.
|
413
|
+
|
383
414
|
# Creates a new high value expression.
|
384
415
|
def to_high
|
385
416
|
# Is there a content?
|
@@ -396,8 +427,9 @@ module HDLRuby::Low
|
|
396
427
|
end
|
397
428
|
|
398
429
|
|
399
|
-
# Add the conversion to high.
|
400
430
|
class Cast
|
431
|
+
## Adds the conversion to high.
|
432
|
+
|
401
433
|
# Creates a new high cast expression.
|
402
434
|
def to_high
|
403
435
|
return HDLRuby::High::Cast(self.type.to_high, self.child.to_high)
|
@@ -405,13 +437,14 @@ module HDLRuby::Low
|
|
405
437
|
end
|
406
438
|
|
407
439
|
|
408
|
-
# Add the conversion to high.
|
409
440
|
class Operation
|
441
|
+
## Adds the conversion to high.
|
410
442
|
end
|
411
443
|
|
412
444
|
|
413
|
-
# Add the conversion to high.
|
414
445
|
class Unary
|
446
|
+
## Adds the conversion to high.
|
447
|
+
|
415
448
|
# Creates a new high unary expression.
|
416
449
|
def to_high
|
417
450
|
return HDLRuby::High::Unary.new(self.type.to_high,self.operator,
|
@@ -420,8 +453,9 @@ module HDLRuby::Low
|
|
420
453
|
end
|
421
454
|
|
422
455
|
|
423
|
-
# Add the conversion to high.
|
424
456
|
class Binary
|
457
|
+
## Adds the conversion to high.
|
458
|
+
|
425
459
|
# Creates a new high binary expression.
|
426
460
|
def to_high
|
427
461
|
return HDLRuby::High::Binary.new(self.type.to_high,self.operator,
|
@@ -431,8 +465,9 @@ module HDLRuby::Low
|
|
431
465
|
end
|
432
466
|
|
433
467
|
|
434
|
-
# Add the conversion to high.
|
435
468
|
class Select
|
469
|
+
## Adds the conversion to high.
|
470
|
+
|
436
471
|
# Creates a new high select expression.
|
437
472
|
def to_high
|
438
473
|
return HDLRuby::High::Select(self.type.to_high,self.operator,
|
@@ -442,8 +477,9 @@ module HDLRuby::Low
|
|
442
477
|
end
|
443
478
|
|
444
479
|
|
445
|
-
# Add the conversion to high.
|
446
480
|
class Concat
|
481
|
+
## Adds the conversion to high.
|
482
|
+
|
447
483
|
# Creates a new high concat expression.
|
448
484
|
def to_high
|
449
485
|
return HDLRuby::High::Concat.new(self.type.to_high,
|
@@ -452,13 +488,14 @@ module HDLRuby::Low
|
|
452
488
|
end
|
453
489
|
|
454
490
|
|
455
|
-
# Add the conversion to high.
|
456
491
|
class Ref
|
492
|
+
## Adds the conversion to high.
|
457
493
|
end
|
458
494
|
|
459
495
|
|
460
|
-
# Add the conversion to high.
|
461
496
|
class RefConcat
|
497
|
+
## Adds the conversion to high.
|
498
|
+
|
462
499
|
# Creates a new high concat reference.
|
463
500
|
def to_high
|
464
501
|
return HDLRuby::High::Ref.new(self.type.to_high,
|
@@ -467,8 +504,9 @@ module HDLRuby::Low
|
|
467
504
|
end
|
468
505
|
|
469
506
|
|
470
|
-
# Add the conversion to high.
|
471
507
|
class RefIndex
|
508
|
+
## Adds the conversion to high.
|
509
|
+
|
472
510
|
# Creates a new high index reference.
|
473
511
|
def to_high
|
474
512
|
return HDLRuby::High::RefIndex.new(self.type.to_high,
|
@@ -478,8 +516,9 @@ module HDLRuby::Low
|
|
478
516
|
end
|
479
517
|
|
480
518
|
|
481
|
-
# Add the conversion to high.
|
482
519
|
class RefRange
|
520
|
+
## Adds the conversion to high.
|
521
|
+
|
483
522
|
# Creates a new high range reference.
|
484
523
|
def to_high
|
485
524
|
return HDLRuby::High::RefRange.new(self.type.to_high,
|
@@ -489,8 +528,9 @@ module HDLRuby::Low
|
|
489
528
|
end
|
490
529
|
|
491
530
|
|
492
|
-
# Add the conversion to high.
|
493
531
|
class RefName
|
532
|
+
## Adds the conversion to high.
|
533
|
+
|
494
534
|
# Creates a new high range reference.
|
495
535
|
def to_high
|
496
536
|
return HDLRuby::High::RefName.new(self.type.to_high,
|
@@ -500,8 +540,9 @@ module HDLRuby::Low
|
|
500
540
|
end
|
501
541
|
|
502
542
|
|
503
|
-
# Add the conversion to high.
|
504
543
|
class RefThis
|
544
|
+
## Adds the conversion to high.
|
545
|
+
|
505
546
|
# Creates a new high ref this.
|
506
547
|
def to_high
|
507
548
|
return HDLRuby::High::RefThis.new
|
@@ -509,8 +550,9 @@ module HDLRuby::Low
|
|
509
550
|
end
|
510
551
|
|
511
552
|
|
512
|
-
# Add the conversion to high.
|
513
553
|
class StringE
|
554
|
+
## Adds the conversion to high.
|
555
|
+
|
514
556
|
# Creates a new high string expression.
|
515
557
|
def to_high
|
516
558
|
return HDLRuby::High::StringE.new(self.content,
|
@@ -13,9 +13,9 @@ module HDLRuby::Low
|
|
13
13
|
########################################################################
|
14
14
|
|
15
15
|
|
16
|
-
## Extends the SystemT class with functionality for converting par block
|
17
|
-
# to seq.
|
18
16
|
class SystemT
|
17
|
+
## Extends the SystemT class with functionality for converting par block
|
18
|
+
# to seq.
|
19
19
|
|
20
20
|
# Converts the par sub blocks to seq.
|
21
21
|
def blocks2seq!
|
@@ -32,10 +32,10 @@ module HDLRuby::Low
|
|
32
32
|
|
33
33
|
end
|
34
34
|
|
35
|
-
## Extends the Scope class with functionality for converting par block
|
36
|
-
# to seq.
|
37
35
|
|
38
36
|
class Scope
|
37
|
+
## Extends the Scope class with functionality for converting par block
|
38
|
+
# to seq.
|
39
39
|
|
40
40
|
# Converts the par sub blocks to seq.
|
41
41
|
def blocks2seq!
|
@@ -53,10 +53,10 @@ module HDLRuby::Low
|
|
53
53
|
end
|
54
54
|
|
55
55
|
|
56
|
-
## Extends the Behavior class with functionality for converting par block
|
57
|
-
# to seq.
|
58
56
|
|
59
57
|
class Behavior
|
58
|
+
## Extends the Behavior class with functionality for converting par block
|
59
|
+
# to seq.
|
60
60
|
|
61
61
|
# Converts the par sub blocks to seq.
|
62
62
|
def blocks2seq!
|
@@ -76,9 +76,10 @@ module HDLRuby::Low
|
|
76
76
|
|
77
77
|
end
|
78
78
|
|
79
|
-
|
80
|
-
# to seq.
|
79
|
+
|
81
80
|
class Statement
|
81
|
+
## Extends the Statement class with functionality for converting par
|
82
|
+
# block to seq.
|
82
83
|
|
83
84
|
# Converts the par sub blocks to seq.
|
84
85
|
def blocks2seq!
|
@@ -94,9 +95,10 @@ module HDLRuby::Low
|
|
94
95
|
end
|
95
96
|
end
|
96
97
|
|
97
|
-
|
98
|
-
# to seq.
|
98
|
+
|
99
99
|
class If
|
100
|
+
## Extends the If class with functionality for converting par block
|
101
|
+
# to seq.
|
100
102
|
|
101
103
|
# Converts the par sub blocks to seq.
|
102
104
|
def blocks2seq!
|
@@ -128,9 +130,11 @@ module HDLRuby::Low
|
|
128
130
|
|
129
131
|
end
|
130
132
|
|
131
|
-
|
132
|
-
# to seq.
|
133
|
+
|
133
134
|
class When
|
135
|
+
## Extends the When class with functionality for converting par block
|
136
|
+
# to seq.
|
137
|
+
|
134
138
|
# Converts the par sub blocks to seq.
|
135
139
|
def blocks2seq!
|
136
140
|
# Convert the statement.
|
@@ -147,9 +151,11 @@ module HDLRuby::Low
|
|
147
151
|
|
148
152
|
end
|
149
153
|
|
150
|
-
|
151
|
-
# to seq.
|
154
|
+
|
152
155
|
class Case
|
156
|
+
## Extends the When class with functionality for converting par block
|
157
|
+
# to seq.
|
158
|
+
|
153
159
|
# Converts the par sub blocks to seq.
|
154
160
|
def blocks2seq!
|
155
161
|
# Recurse on the whens.
|
@@ -170,9 +176,10 @@ module HDLRuby::Low
|
|
170
176
|
|
171
177
|
end
|
172
178
|
|
173
|
-
|
174
|
-
# to seq.
|
179
|
+
|
175
180
|
class TimeRepeat
|
181
|
+
## Extends the TimeRepeat class with functionality for converting par
|
182
|
+
# block to seq.
|
176
183
|
|
177
184
|
# Converts the par sub blocks to seq.
|
178
185
|
def blocks2seq!
|
@@ -190,9 +197,10 @@ module HDLRuby::Low
|
|
190
197
|
|
191
198
|
end
|
192
199
|
|
193
|
-
|
194
|
-
# to seq.
|
200
|
+
|
195
201
|
class Block
|
202
|
+
## Extends the Block class with functionality for converting par block
|
203
|
+
# to seq.
|
196
204
|
|
197
205
|
# Converts the par sub blocks to seq.
|
198
206
|
def blocks2seq!
|
@@ -43,8 +43,9 @@ module HDLRuby::Low
|
|
43
43
|
end
|
44
44
|
end
|
45
45
|
|
46
|
-
## Extends the Symbol class with of equivalent HDLRuby object.
|
47
46
|
class ::Symbol
|
47
|
+
## Extends the Symbol class with of equivalent HDLRuby object.
|
48
|
+
|
48
49
|
# Convert to the equivalent HDLRuby object if any, returns nil if not.
|
49
50
|
def to_hdr
|
50
51
|
return Low2Symbol::Symbol2LowTable[self]
|
@@ -52,74 +53,74 @@ module HDLRuby::Low
|
|
52
53
|
end
|
53
54
|
|
54
55
|
|
55
|
-
## Extends the SystemT class with conversion to symbol.
|
56
56
|
class SystemT
|
57
|
+
## Extends the SystemT class with conversion to symbol.
|
57
58
|
include Low2Symbol
|
58
59
|
end
|
59
60
|
|
60
61
|
|
61
|
-
## Extends the Scope class with conversion to symbol.
|
62
62
|
class Scope
|
63
|
+
## Extends the Scope class with conversion to symbol.
|
63
64
|
include Low2Symbol
|
64
65
|
end
|
65
66
|
|
66
67
|
|
67
|
-
## Extends the Type class with conversion to symbol.
|
68
68
|
class Type
|
69
|
+
## Extends the Type class with conversion to symbol.
|
69
70
|
include Low2Symbol
|
70
71
|
end
|
71
72
|
|
72
73
|
|
73
|
-
## Extends the Behavior class with conversion to symbol.
|
74
74
|
class Behavior
|
75
|
+
## Extends the Behavior class with conversion to symbol.
|
75
76
|
include Low2Symbol
|
76
77
|
end
|
77
78
|
|
78
79
|
|
79
|
-
## Extends the Event class with conversion to symbol.
|
80
80
|
class Event
|
81
|
+
## Extends the Event class with conversion to symbol.
|
81
82
|
include Low2Symbol
|
82
83
|
end
|
83
84
|
|
84
85
|
|
85
|
-
## Extends the SignalI class with conversion to symbol.
|
86
86
|
class SignalI
|
87
|
+
## Extends the SignalI class with conversion to symbol.
|
87
88
|
include Low2Symbol
|
88
89
|
end
|
89
90
|
|
90
91
|
|
91
|
-
## Extends the SystemI class with conversion to symbol.
|
92
92
|
class SystemI
|
93
|
+
## Extends the SystemI class with conversion to symbol.
|
93
94
|
include Low2Symbol
|
94
95
|
end
|
95
96
|
|
96
97
|
|
97
|
-
## Extends the Statement class with conversion to symbol.
|
98
98
|
class Statement
|
99
|
+
## Extends the Statement class with conversion to symbol.
|
99
100
|
include Low2Symbol
|
100
101
|
end
|
101
102
|
|
102
103
|
|
103
|
-
## Extends the When class with conversion to symbol.
|
104
104
|
class When
|
105
|
+
## Extends the When class with conversion to symbol.
|
105
106
|
include Low2Symbol
|
106
107
|
end
|
107
108
|
|
108
109
|
|
109
|
-
## Extends the Delay class with conversion to symbol.
|
110
110
|
class Delay
|
111
|
+
## Extends the Delay class with conversion to symbol.
|
111
112
|
include Low2Symbol
|
112
113
|
end
|
113
114
|
|
114
115
|
|
115
|
-
## Extends the Code class with conversion to symbol.
|
116
116
|
class Code
|
117
|
+
## Extends the Code class with conversion to symbol.
|
117
118
|
include Low2Symbol
|
118
119
|
end
|
119
120
|
|
120
121
|
|
121
|
-
## Extends the Expression class with conversion to symbol.
|
122
122
|
class Expression
|
123
|
+
## Extends the Expression class with conversion to symbol.
|
123
124
|
include Low2Symbol
|
124
125
|
end
|
125
126
|
|