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
@@ -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
|
|