HDLRuby 2.11.12 → 3.1.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.
Files changed (91) hide show
  1. checksums.yaml +4 -4
  2. data/README.html +3274 -0
  3. data/README.md +660 -128
  4. data/ext/hruby_sim/hruby_sim_calc.c +2 -0
  5. data/lib/HDLRuby/backend/hruby_allocator.rb +2 -2
  6. data/lib/HDLRuby/backend/hruby_c_allocator.rb +7 -7
  7. data/lib/HDLRuby/hdr_samples/constant_in_function.rb +2 -1
  8. data/lib/HDLRuby/hdr_samples/mei8_bench.rb +1 -1
  9. data/lib/HDLRuby/hdr_samples/with_bram.rb +3 -3
  10. data/lib/HDLRuby/hdr_samples/with_bram_frame_stack.rb +105 -0
  11. data/lib/HDLRuby/hdr_samples/with_bram_stack.rb +69 -0
  12. data/lib/HDLRuby/hdr_samples/with_ref_expr.rb +30 -0
  13. data/lib/HDLRuby/hdr_samples/with_sequencer.rb +185 -0
  14. data/lib/HDLRuby/hdr_samples/with_sequencer_deep.rb +91 -0
  15. data/lib/HDLRuby/hdr_samples/with_sequencer_enumerable.rb +439 -0
  16. data/lib/HDLRuby/hdr_samples/with_sequencer_enumerator.rb +89 -0
  17. data/lib/HDLRuby/hdr_samples/with_sequencer_func.rb +63 -0
  18. data/lib/HDLRuby/hdr_samples/with_sequencer_sync.rb +120 -0
  19. data/lib/HDLRuby/hdrcc.rb +16 -3
  20. data/lib/HDLRuby/hdrlib.rb +1 -1
  21. data/lib/HDLRuby/hruby_db.rb +2 -2
  22. data/lib/HDLRuby/hruby_high.rb +61 -25
  23. data/lib/HDLRuby/hruby_high_fullname.rb +3 -1
  24. data/lib/HDLRuby/hruby_low.rb +2 -2
  25. data/lib/HDLRuby/hruby_low2c.rb +58 -43
  26. data/lib/HDLRuby/hruby_low2hdr.rb +66 -40
  27. data/lib/HDLRuby/hruby_low2high.rb +86 -44
  28. data/lib/HDLRuby/hruby_low2seq.rb +26 -18
  29. data/lib/HDLRuby/hruby_low2sym.rb +14 -13
  30. data/lib/HDLRuby/hruby_low2vhd.rb +78 -43
  31. data/lib/HDLRuby/hruby_low_bool2select.rb +61 -46
  32. data/lib/HDLRuby/hruby_low_casts_without_expression.rb +56 -44
  33. data/lib/HDLRuby/hruby_low_cleanup.rb +18 -16
  34. data/lib/HDLRuby/hruby_low_fix_types.rb +64 -32
  35. data/lib/HDLRuby/hruby_low_mutable.rb +53 -118
  36. data/lib/HDLRuby/hruby_low_resolve.rb +26 -31
  37. data/lib/HDLRuby/hruby_low_with_bool.rb +33 -16
  38. data/lib/HDLRuby/hruby_low_with_port.rb +3 -3
  39. data/lib/HDLRuby/hruby_low_with_var.rb +23 -9
  40. data/lib/HDLRuby/hruby_low_without_concat.rb +19 -13
  41. data/lib/HDLRuby/hruby_low_without_namespace.rb +47 -32
  42. data/lib/HDLRuby/hruby_low_without_parinseq.rb +18 -12
  43. data/lib/HDLRuby/hruby_low_without_select.rb +36 -23
  44. data/lib/HDLRuby/hruby_low_without_subsignals.rb +79 -39
  45. data/lib/HDLRuby/hruby_rcsim.rb +79 -64
  46. data/lib/HDLRuby/hruby_rsim.rb +64 -15
  47. data/lib/HDLRuby/hruby_rsim_mute.rb +2 -3
  48. data/lib/HDLRuby/hruby_rsim_vcd.rb +28 -25
  49. data/lib/HDLRuby/hruby_types.rb +5 -5
  50. data/lib/HDLRuby/hruby_values.rb +19 -8
  51. data/lib/HDLRuby/hruby_verilog.rb +191 -65
  52. data/lib/HDLRuby/hruby_verilog_name.rb +49 -42
  53. data/lib/HDLRuby/soft/stacks.rb +219 -0
  54. data/lib/HDLRuby/std/bram.rb +9 -5
  55. data/lib/HDLRuby/std/clocks.rb +1 -1
  56. data/lib/HDLRuby/std/fsm.rb +39 -10
  57. data/lib/HDLRuby/std/sequencer.rb +2085 -0
  58. data/lib/HDLRuby/std/sequencer_func.rb +533 -0
  59. data/lib/HDLRuby/std/sequencer_sync.rb +400 -0
  60. data/lib/HDLRuby/std/std.rb +13 -0
  61. data/lib/HDLRuby/version.rb +1 -1
  62. data/tuto/adder_sat_flags_vcd.png +0 -0
  63. data/tuto/addsub_vcd.png +0 -0
  64. data/tuto/alu_vcd.png +0 -0
  65. data/tuto/bit_pong_vcd.png +0 -0
  66. data/tuto/checksum_vcd.png +0 -0
  67. data/tuto/circuit_hdr.odg +0 -0
  68. data/tuto/circuit_hdr.png +0 -0
  69. data/tuto/circuit_hie.odg +0 -0
  70. data/tuto/circuit_hie.png +0 -0
  71. data/tuto/circuit_view.odg +0 -0
  72. data/tuto/circuit_view.png +0 -0
  73. data/tuto/clock_counter_vcd.png +0 -0
  74. data/tuto/counter_ext_vcd.png +0 -0
  75. data/tuto/fact_vcd.png +0 -0
  76. data/tuto/hw_flow.odg +0 -0
  77. data/tuto/hw_flow.png +0 -0
  78. data/tuto/maxxer_vcd.png +0 -0
  79. data/tuto/pingpong0_vcd.png +0 -0
  80. data/tuto/pingpong1_vcd.png +0 -0
  81. data/tuto/pingpong2_vcd.png +0 -0
  82. data/tuto/ram_vcd.png +0 -0
  83. data/tuto/serializer_vcd.png +0 -0
  84. data/tuto/sw_flow.odg +0 -0
  85. data/tuto/sw_flow.png +0 -0
  86. data/tuto/the_counter_vcd.png +0 -0
  87. data/tuto/tutorial_sw.html +2359 -0
  88. data/tuto/tutorial_sw.md +2890 -0
  89. data/tuto/tutorial_sw.pdf +0 -0
  90. data/tuto/tutorial_sw_jp.md +417 -0
  91. metadata +46 -2
@@ -2,6 +2,9 @@ require "HDLRuby/hruby_error"
2
2
  require "HDLRuby/hruby_low_mutable"
3
3
 
4
4
 
5
+ module HDLRuby::Low
6
+
7
+
5
8
  ##
6
9
  # Provides a new boolean type and converts the comparison and operations
7
10
  # on it to this new type.
@@ -12,10 +15,11 @@ require "HDLRuby/hruby_low_mutable"
12
15
  # * Boolean is weak in type promotion, e.g.: boolean & bit = bit
13
16
  #
14
17
  ########################################################################
15
- module HDLRuby::Low
16
18
 
17
- # Extend Type with check telling if it is a boolean type.
19
+
18
20
  class Type
21
+ ## Extend Type with check telling if it is a boolean type.
22
+
19
23
  # Tells if it is a boolean type.
20
24
  def boolean?
21
25
  return false
@@ -50,9 +54,10 @@ module HDLRuby::Low
50
54
  end
51
55
 
52
56
 
53
- ## Extends the SystemT class for converting types of comparison and
54
- # operations on it to boolean type.
55
57
  class SystemT
58
+ ## Extends the SystemT class for converting types of comparison and
59
+ # operations on it to boolean type.
60
+
56
61
  # Converts to a variable-compatible system.
57
62
  #
58
63
  # NOTE: the result is the same systemT.
@@ -65,9 +70,11 @@ module HDLRuby::Low
65
70
  end
66
71
  end
67
72
 
68
- ## Extends the Behaviour class for converting types of comparison and
69
- # operations on it to boolean type.
73
+
70
74
  class Behavior
75
+ ## Extends the Behaviour class for converting types of comparison and
76
+ # operations on it to boolean type.
77
+
71
78
  # Converts to a variable-compatible system.
72
79
  #
73
80
  # NOTE: the result is the same Behaviour.
@@ -76,9 +83,11 @@ module HDLRuby::Low
76
83
  end
77
84
  end
78
85
 
79
- ## Extends the Statement class for converting types of comparison and
80
- # operations on it to boolean type.
86
+
81
87
  class Statement
88
+ ## Extends the Statement class for converting types of comparison and
89
+ # operations on it to boolean type.
90
+
82
91
  # Converts to a variable-compatible system.
83
92
  #
84
93
  # NOTE: the result is the same Behaviour.
@@ -91,27 +100,33 @@ module HDLRuby::Low
91
100
  end
92
101
  end
93
102
 
94
- ## Extends the Expression class for checking if it a boolean expression
95
- # or not.
103
+
96
104
  class Expression
105
+ ## Extends the Expression class for checking if it a boolean expression
106
+ # or not.
107
+
97
108
  # Tells if the expression is boolean.
98
109
  def boolean?
99
110
  return false
100
111
  end
101
112
  end
102
113
 
103
- ## Extends the Unary class for checking if it is a boolean expression
104
- # or not.
114
+
105
115
  class Unary
116
+ ## Extends the Unary class for checking if it is a boolean expression
117
+ # or not.
118
+
106
119
  # Tells if the expression is boolean.
107
120
  def boolean?
108
121
  return self.child.boolean?
109
122
  end
110
123
  end
111
124
 
112
- ## Extends the Binary class for checking if it is a boolean expression
113
- # or not.
125
+
114
126
  class Binary
127
+ ## Extends the Binary class for checking if it is a boolean expression
128
+ # or not.
129
+
115
130
  # Tells if the expression is boolean.
116
131
  def boolean?
117
132
  case(self.operator)
@@ -128,9 +143,11 @@ module HDLRuby::Low
128
143
  end
129
144
  end
130
145
 
131
- ## Extends the Select class for checking if it a boolean epression
132
- # or not.
146
+
133
147
  class Select
148
+ ## Extends the Select class for checking if it a boolean epression
149
+ # or not.
150
+
134
151
  # Tells if the expression is boolean.
135
152
  def boolean?
136
153
  # Boolean if all the choices are boolean.
@@ -20,8 +20,8 @@ module HDLRuby::Low
20
20
 
21
21
 
22
22
 
23
- ## Extends SystemT with generation of port wires.
24
23
  class SystemT
24
+ ## Extends SystemT with generation of port wires.
25
25
 
26
26
  # Converts to a port-compatible system.
27
27
  #
@@ -33,8 +33,8 @@ module HDLRuby::Low
33
33
  end
34
34
 
35
35
 
36
- ## Extends the Scope class with retrival conversion to symbol.
37
36
  class Scope
37
+ ## Extends the Scope class with retrival conversion to symbol.
38
38
 
39
39
  # Converts a port wire to a reference to it.
40
40
  def portw2ref(portw)
@@ -170,8 +170,8 @@ module HDLRuby::Low
170
170
 
171
171
 
172
172
 
173
- ## Extends SystemT with generation of port wires.
174
173
  class SystemI
174
+ ## Extends SystemT with generation of port wires.
175
175
 
176
176
  def with_port!
177
177
  self.systemT.with_port!
@@ -4,6 +4,8 @@ require "HDLRuby/hruby_low2sym"
4
4
  require "HDLRuby/hruby_low2seq"
5
5
 
6
6
 
7
+ module HDLRuby::Low
8
+
7
9
  ##
8
10
  # Explicitely seperate variables from signals in an HDLRuby::Low
9
11
  # description.
@@ -11,10 +13,12 @@ require "HDLRuby/hruby_low2seq"
11
13
  # NOTE: variable and signal are to be taken in the VHDL meaning.
12
14
  #
13
15
  ########################################################################
14
- module HDLRuby::Low
15
16
 
16
- ## Extends the SystemT class with separation between signals and variables.
17
+
17
18
  class SystemT
19
+ ## Extends the SystemT class with separation between signals and
20
+ # variables.
21
+
18
22
  # Converts to a variable-compatible system.
19
23
  #
20
24
  # NOTE: the result is the same systemT.
@@ -25,8 +29,10 @@ module HDLRuby::Low
25
29
  end
26
30
 
27
31
 
28
- ## Extends the SystemI class with separation between signals and variables.
29
32
  class SystemI
33
+ ## Extends the SystemI class with separation between signals and
34
+ # variables.
35
+
30
36
  # Converts to a variable-compatible system.
31
37
  #
32
38
  # NOTE: the result is the same systemT.
@@ -37,8 +43,10 @@ module HDLRuby::Low
37
43
  end
38
44
 
39
45
 
40
- ## Extends the Behavior class with separation between signals and variables.
41
46
  class Behavior
47
+ ## Extends the Behavior class with separation between signals and
48
+ # variables.
49
+
42
50
  # Converts to a variable-compatible behavior.
43
51
  #
44
52
  # NOTE: the result is the same systemT.
@@ -50,8 +58,9 @@ module HDLRuby::Low
50
58
  end
51
59
 
52
60
 
53
- ## Extends the Block class with separation between signals and variables.
54
61
  class Block
62
+ ## Extends the Block class with separation between signals and variables.
63
+
55
64
 
56
65
  # Converts a variable to a reference to it.
57
66
  def var2ref(var)
@@ -248,8 +257,10 @@ module HDLRuby::Low
248
257
  end
249
258
 
250
259
 
251
- ## Extends the TimeBlock class with separation between signals and variables.
252
260
  class TimeBlock
261
+ ## Extends the TimeBlock class with separation between signals and
262
+ # variables.
263
+
253
264
  # Converts to a variable-compatible block where +upper+ is
254
265
  # the upper block if any.
255
266
  #
@@ -262,8 +273,9 @@ module HDLRuby::Low
262
273
  end
263
274
 
264
275
 
265
- ## Extends the If class with separation between signals and variables.
266
276
  class If
277
+ ## Extends the If class with separation between signals and variables.
278
+
267
279
  # Converts to a variable-compatible if where +upper+ is
268
280
  # the upper block if any.
269
281
  #
@@ -290,8 +302,9 @@ module HDLRuby::Low
290
302
  end
291
303
 
292
304
 
293
- ## Extends the When class with separation between signals and variables.
294
305
  class When
306
+ ## Extends the When class with separation between signals and variables.
307
+
295
308
  # Converts to a variable-compatible case where +upper+ is
296
309
  # the upper block if any.
297
310
  #
@@ -302,8 +315,9 @@ module HDLRuby::Low
302
315
  end
303
316
 
304
317
 
305
- ## Extends the Case class with separation between signals and variables.
306
318
  class Case
319
+ ## Extends the Case class with separation between signals and variables.
320
+
307
321
  # Converts to a variable-compatible case where +upper+ is
308
322
  # the upper block if any.
309
323
  #
@@ -7,15 +7,15 @@ module HDLRuby::Low
7
7
 
8
8
 
9
9
  ##
10
- # Breaks the concat assigments.
10
+ # Breaks the concat assignments.
11
11
  # Makes handling by some synthesis tools easier.
12
12
  #
13
13
  ########################################################################
14
14
 
15
15
 
16
- ## Extends the SystemT class with functionality for breaking assingments
17
- # to concats.
18
16
  class SystemT
17
+ ## Extends the SystemT class with functionality for breaking assignments
18
+ # to concats.
19
19
 
20
20
  # Breaks the assignments to concats.
21
21
  def break_concat_assigns!
@@ -34,9 +34,10 @@ module HDLRuby::Low
34
34
  end
35
35
 
36
36
 
37
- ## Extends the Scope class with functionality for breaking assingments
38
- # to concats.
39
37
  class Scope
38
+ ## Extends the Scope class with functionality for breaking assignments
39
+ # to concats.
40
+
40
41
  # Breaks the assignments to concats.
41
42
  def break_concat_assigns!
42
43
  # Recruse on the sub scopes.
@@ -102,9 +103,11 @@ module HDLRuby::Low
102
103
  end
103
104
  end
104
105
 
105
- ## Extends the Behavior class with functionality for breaking assingments
106
- # to concats.
106
+
107
107
  class Behavior
108
+ ## Extends the Behavior class with functionality for breaking assignments
109
+ # to concats.
110
+
108
111
  # Breaks the assignments to concats.
109
112
  def break_concat_assigns!
110
113
  # Recruse on the block.
@@ -114,9 +117,10 @@ module HDLRuby::Low
114
117
 
115
118
 
116
119
 
117
- ## Extends the Block class with functionality for breaking assingments
118
- # to concats.
119
120
  class Block
121
+ ## Extends the Block class with functionality for breaking assignments
122
+ # to concats.
123
+
120
124
  # Breaks the assignments to concats.
121
125
  #
122
126
  # NOTE: work on the direct sub statement only, not deeply.
@@ -142,9 +146,10 @@ module HDLRuby::Low
142
146
  end
143
147
 
144
148
 
145
- ## Extends the Transmit class with functionality for breaking assingments
146
- # to concats.
147
149
  class Transmit
150
+ ## Extends the Transmit class with functionality for breaking assignments
151
+ # to concats.
152
+
148
153
  # Break the assignments to concats.
149
154
  #
150
155
  # NOTE: when breaking generates a new Block containing the broken
@@ -235,9 +240,10 @@ module HDLRuby::Low
235
240
  end
236
241
 
237
242
 
238
- ## Extends the Connection class with functionality for breaking assingments
239
- # to concats.
240
243
  class Connection
244
+ ## Extends the Connection class with functionality for breaking
245
+ # assignments to concats.
246
+
241
247
  # Break the assignments to concats.
242
248
  #
243
249
  # NOTE: when breaking generates a new Block containing the broken
@@ -27,9 +27,10 @@ module HDLRuby::Low
27
27
  end
28
28
  end
29
29
 
30
- ## Extends the SystemT class with functionality for moving the declarations
31
- # to the upper namespace.
30
+
32
31
  class SystemT
32
+ ## Extends the SystemT class with functionality for moving the
33
+ # declarations to the upper namespace.
33
34
 
34
35
  include ForceName
35
36
 
@@ -78,9 +79,10 @@ module HDLRuby::Low
78
79
  end
79
80
  end
80
81
 
81
- ## Extends the Scope class with functionality for moving the declarations
82
- # to the upper namespace.
82
+
83
83
  class Scope
84
+ ## Extends the Scope class with functionality for moving the declarations
85
+ # to the upper namespace.
84
86
 
85
87
  include ForceName
86
88
 
@@ -280,9 +282,10 @@ module HDLRuby::Low
280
282
  end
281
283
  end
282
284
 
283
- ## Extends the Type class with functionality for breaking hierarchical
284
- # types.
285
+
285
286
  class Type
287
+ ## Extends the Type class with functionality for breaking hierarchical
288
+ # types.
286
289
 
287
290
  # Breaks the hierarchical types into sequences of type definitions.
288
291
  # Assumes to_upper_space! has been called before.
@@ -293,9 +296,10 @@ module HDLRuby::Low
293
296
  end
294
297
  end
295
298
 
296
- ## Extends the TypeVector class with functionality for breaking hierarchical
297
- # types.
299
+
298
300
  class TypeVector
301
+ ## Extends the TypeVector class with functionality for breaking hierarchical
302
+ # types.
299
303
 
300
304
  # Breaks the hierarchical types into sequences of type definitions.
301
305
  # Assumes to_upper_space! has been called before.
@@ -333,9 +337,10 @@ module HDLRuby::Low
333
337
  end
334
338
  end
335
339
 
336
- ## Extends the TypeTuple class with functionality for breaking hierarchical
337
- # types.
340
+
338
341
  class TypeTuple
342
+ ## Extends the TypeTuple class with functionality for breaking
343
+ # hierarchical types.
339
344
 
340
345
  # Breaks the hierarchical types into sequences of type definitions.
341
346
  # Assumes to_upper_space! has been called before.
@@ -365,9 +370,10 @@ module HDLRuby::Low
365
370
  end
366
371
  end
367
372
 
368
- ## Extends the TypeStruct class with functionality for breaking hierarchical
369
- # types.
373
+
370
374
  class TypeStruct
375
+ ## Extends the TypeStruct class with functionality for breaking
376
+ # hierarchical types.
371
377
 
372
378
  # Breaks the hierarchical types into sequences of type definitions.
373
379
  # Assumes to_upper_space! has been called before.
@@ -397,9 +403,10 @@ module HDLRuby::Low
397
403
  end
398
404
  end
399
405
 
400
- ## Extends the SignalI class with functionality for moving the declarations
401
- # to the upper namespace.
406
+
402
407
  class SignalI
408
+ ## Extends the SignalI class with functionality for moving the
409
+ # declarations to the upper namespace.
403
410
 
404
411
  # Replaces recursively +former+ name by +nname+ until it is redeclared.
405
412
  def replace_names!(former,nname)
@@ -412,9 +419,10 @@ module HDLRuby::Low
412
419
  end
413
420
  end
414
421
 
415
- ## Extends the SystemI class with functionality for moving the declarations
416
- # to the upper namespace.
422
+
417
423
  class SystemI
424
+ ## Extends the SystemI class with functionality for moving the
425
+ # declarations to the upper namespace.
418
426
 
419
427
  # Replaces recursively +former+ name by +nname+ until it is redeclared.
420
428
  def replace_names!(former,nname)
@@ -429,9 +437,9 @@ module HDLRuby::Low
429
437
  end
430
438
 
431
439
 
432
- ## Extends the Behavior class with functionality for moving the declarations
433
- # to the upper namespace.
434
440
  class Behavior
441
+ ## Extends the Behavior class with functionality for moving the
442
+ # declarations to the upper namespace.
435
443
 
436
444
  # Moves the declarations to the upper namespace.
437
445
  def to_upper_space!
@@ -454,9 +462,10 @@ module HDLRuby::Low
454
462
  end
455
463
  end
456
464
 
457
- ## Extends the Statement class with functionality for moving the
458
- # declarations to the upper namespace.
465
+
459
466
  class Statement
467
+ ## Extends the Statement class with functionality for moving the
468
+ # declarations to the upper namespace.
460
469
 
461
470
  # Moves the declarations to the upper namespace.
462
471
  def to_upper_space!
@@ -491,9 +500,10 @@ module HDLRuby::Low
491
500
  end
492
501
  end
493
502
 
494
- ## Extends the Expression class with functionality for moving the
495
- # declarations to the upper namespace.
503
+
496
504
  class Expression
505
+ ## Extends the Expression class with functionality for moving the
506
+ # declarations to the upper namespace.
497
507
 
498
508
  # Replaces recursively +former+ name by +nname+ until it is redeclared.
499
509
  def replace_names!(former,nname)
@@ -518,10 +528,11 @@ module HDLRuby::Low
518
528
  end
519
529
  end
520
530
  end
531
+
521
532
 
522
- ## Extends the If class with functionality for moving the declarations
523
- # to the upper namespace.
524
533
  class If
534
+ ## Extends the If class with functionality for moving the declarations
535
+ # to the upper namespace.
525
536
 
526
537
  # Moves the declarations to the upper namespace.
527
538
  def to_upper_space!
@@ -569,9 +580,10 @@ module HDLRuby::Low
569
580
  end
570
581
  end
571
582
 
572
- ## Extends the When class with functionality for moving the declarations
573
- # to the upper namespace.
583
+
574
584
  class When
585
+ ## Extends the When class with functionality for moving the declarations
586
+ # to the upper namespace.
575
587
 
576
588
  # Moves the declarations to the upper namespace.
577
589
  def to_upper_space!
@@ -608,9 +620,10 @@ module HDLRuby::Low
608
620
  end
609
621
  end
610
622
 
611
- ## Extends the When class with functionality for moving the declarations
612
- # to the upper namespace.
623
+
613
624
  class Case
625
+ ## Extends the When class with functionality for moving the declarations
626
+ # to the upper namespace.
614
627
 
615
628
  # Moves the declarations to the upper namespace.
616
629
  def to_upper_space!
@@ -644,9 +657,10 @@ module HDLRuby::Low
644
657
  end
645
658
  end
646
659
 
647
- ## Extends the When class with functionality for moving the declarations
648
- # to the upper namespace.
660
+
649
661
  class TimeRepeat
662
+ ## Extends the When class with functionality for moving the declarations
663
+ # to the upper namespace.
650
664
 
651
665
  # Moves the declarations to the upper namespace.
652
666
  def to_upper_space!
@@ -669,9 +683,10 @@ module HDLRuby::Low
669
683
  end
670
684
  end
671
685
 
672
- ## Extends the When class with functionality for moving the declarations
673
- # to the upper namespace.
686
+
674
687
  class Block
688
+ ## Extends the When class with functionality for moving the declarations
689
+ # to the upper namespace.
675
690
 
676
691
  include ForceName
677
692
 
@@ -13,9 +13,9 @@ module HDLRuby::Low
13
13
  ########################################################################
14
14
 
15
15
 
16
- ## Extends the SystemT class with functionality for converting par blocks
17
- # within seq blocks to seq blocks.
18
16
  class SystemT
17
+ ## Extends the SystemT class with functionality for converting par blocks
18
+ # within seq blocks to seq blocks.
19
19
 
20
20
  # Converts par blocks within seq blocks to seq blocks.
21
21
  def par_in_seq2seq!
@@ -23,9 +23,11 @@ module HDLRuby::Low
23
23
  end
24
24
  end
25
25
 
26
- ## Extends the Scope class with functionality for breaking assingments
27
- # to concats.
26
+
28
27
  class Scope
28
+ ## Extends the Scope class with functionality for converting par blocks
29
+ # within seq blocks to seq blocks.
30
+
29
31
  # Converts par blocks within seq blocks to seq blocks.
30
32
  def par_in_seq2seq!
31
33
  # Recruse on the sub scopes.
@@ -38,9 +40,10 @@ module HDLRuby::Low
38
40
  end
39
41
 
40
42
 
41
- ## Extends the Statement class with functionality for breaking assingments
42
- # to concats.
43
43
  class Statement
44
+ ## Extends the Statement class with functionality for converting par
45
+ # blocks within seq blocks to seq blocks.
46
+
44
47
  # Converts par blocks within seq blocks to seq blocks.
45
48
  def par_in_seq2seq!
46
49
  # By default nothing to do.
@@ -55,9 +58,10 @@ module HDLRuby::Low
55
58
  end
56
59
 
57
60
 
58
- ## Extends the If class with functionality for breaking assingments
59
- # to concats.
60
61
  class If
62
+ ## Extends the If class with functionality for converting par blocks
63
+ # within seq blocks to seq blocks.
64
+
61
65
  # Converts par blocks within seq blocks to seq blocks.
62
66
  def par_in_seq2seq!
63
67
  self.yes.par_in_seq2seq!
@@ -78,9 +82,10 @@ module HDLRuby::Low
78
82
  end
79
83
 
80
84
 
81
- ## Extends the Case class with functionality for breaking assingments
82
- # to concats.
83
85
  class Case
86
+ ## Extends the Case class with functionality for converting par blocks
87
+ # within seq blocks to seq blocks.
88
+
84
89
  # Converts par blocks within seq blocks to seq blocks.
85
90
  def par_in_seq2seq!
86
91
  self.each_when do |w|
@@ -99,9 +104,10 @@ module HDLRuby::Low
99
104
  end
100
105
 
101
106
 
102
- ## Extends the Block class with functionality for breaking assingments
103
- # to concats.
104
107
  class Block
108
+ ## Extends the Block class with functionality for converting par blocks
109
+ # within seq blocks to seq blocks.
110
+
105
111
  # Converts par blocks within seq blocks to seq blocks.
106
112
  def par_in_seq2seq!
107
113
  # Recurse on the sub blocks.