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
@@ -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
- ## Extends the TimeRepeat class with functionality for extracting
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
- ## Extends the Unary class with functionality for extracting
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
- ## Extends the When class with functionality for breaking assingments
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
- ## Extends the TimeBlock class with functionality for breaking assingments
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+.
@@ -12,8 +12,9 @@ module HDLRuby::Low
12
12
  ########################################################################
13
13
 
14
14
 
15
- ## Extends the SystemT class with fixing of types and constants.
16
15
  class SystemT
16
+ ## Extends the SystemT class with fixing of types and constants.
17
+
17
18
  # Explicit the types conversions in the system.
18
19
  def explicit_types!
19
20
  # No direct fix required in the system, recurse on the scope.
@@ -23,8 +24,9 @@ module HDLRuby::Low
23
24
  end
24
25
 
25
26
 
26
- ## Extends the Scope class with fixing of types and constants.
27
27
  class Scope
28
+ ## Extends the Scope class with fixing of types and constants.
29
+
28
30
  # Explicit the types conversions in the scope.
29
31
  def explicit_types!
30
32
  # Recurse on the sub scopes.
@@ -40,8 +42,9 @@ module HDLRuby::Low
40
42
  end
41
43
 
42
44
 
43
- ## Extends the Behavior class with fixing of types and constants.
44
45
  class Behavior
46
+ ## Extends the Behavior class with fixing of types and constants.
47
+
45
48
  # Explicit the types conversions in the scope.
46
49
  def explicit_types!
47
50
  # Fix the types of the block.
@@ -51,8 +54,9 @@ module HDLRuby::Low
51
54
  end
52
55
 
53
56
 
54
- ## Extends the SignalI class with fixing of types and constants.
55
57
  class SignalI
58
+ ## Extends the SignalI class with fixing of types and constants.
59
+
56
60
  # Explicit the types conversions in the signal.
57
61
  def explicit_types!
58
62
  # Is there a value?
@@ -67,8 +71,9 @@ module HDLRuby::Low
67
71
  end
68
72
 
69
73
 
70
- ## Extends the Statement class with fixing of types and constants.
71
74
  class Statement
75
+ ## Extends the Statement class with fixing of types and constants.
76
+
72
77
  # Explicit the types conversions in the statement.
73
78
  def explicit_types!
74
79
  raise "Should implement explicit_types! for class #{self.class}."
@@ -76,8 +81,9 @@ module HDLRuby::Low
76
81
  end
77
82
 
78
83
 
79
- ## Extends the Transmit class with fixing of types and constants.
80
84
  class Transmit
85
+ ## Extends the Transmit class with fixing of types and constants.
86
+
81
87
  # Explicit the types conversions in the statement.
82
88
  def explicit_types!
83
89
  # Recurse on the left and the right.
@@ -90,8 +96,9 @@ module HDLRuby::Low
90
96
  end
91
97
 
92
98
 
93
- ## Extends the Print class with fixing of types and constants.
94
99
  class Print
100
+ ## Extends the Print class with fixing of types and constants.
101
+
95
102
  # Explicit the types conversions in the statement.
96
103
  def explicit_types!
97
104
  # Recurse on the arguments.
@@ -101,8 +108,9 @@ module HDLRuby::Low
101
108
  end
102
109
 
103
110
 
104
- ## Extends the Configure class with fixing of types and constants.
105
111
  class Configure
112
+ ## Extends the Configure class with fixing of types and constants.
113
+
106
114
  # Explicit the types conversions in the statement.
107
115
  def explicit_types!
108
116
  # Nothing to do.
@@ -111,8 +119,9 @@ module HDLRuby::Low
111
119
  end
112
120
 
113
121
 
114
- ## Extends the TimeTerminate class with fixing of types and constants.
115
122
  class TimeTerminate
123
+ ## Extends the TimeTerminate class with fixing of types and constants.
124
+
116
125
  # Explicit the types conversions in the statement.
117
126
  def explicit_types!
118
127
  # Nothing to do.
@@ -123,8 +132,9 @@ module HDLRuby::Low
123
132
 
124
133
 
125
134
 
126
- ## Extends the If class with fixing of types and constants.
127
135
  class If
136
+ ## Extends the If class with fixing of types and constants.
137
+
128
138
  # Explicit the types conversions in the if.
129
139
  def explicit_types!
130
140
  # Recurse on the condition: it must be a Bit.
@@ -142,8 +152,9 @@ module HDLRuby::Low
142
152
  end
143
153
 
144
154
 
145
- ## Extends the When class with fixing of types and constants.
146
155
  class When
156
+ ## Extends the When class with fixing of types and constants.
157
+
147
158
  # Explicit the types conversions in the when where +type+ is the
148
159
  # type of the selecting value.
149
160
  def explicit_types!(type)
@@ -156,8 +167,9 @@ module HDLRuby::Low
156
167
  end
157
168
 
158
169
 
159
- ## Extends the Case class with fixing of types and constants.
160
170
  class Case
171
+ ## Extends the Case class with fixing of types and constants.
172
+
161
173
  # Explicit the types conversions in the case.
162
174
  def explicit_types!
163
175
  # Recurse on the value.
@@ -169,9 +181,10 @@ module HDLRuby::Low
169
181
  end
170
182
  end
171
183
 
172
- ##
173
- # Describes a wait statement: not synthesizable!
184
+
174
185
  class TimeWait
186
+ ## Extends the TimeWait class with fixing of types and constants.
187
+
175
188
  # Explicit the types conversions in the time wait.
176
189
  def explicit_types!
177
190
  # Nothing to do.
@@ -179,8 +192,10 @@ module HDLRuby::Low
179
192
  end
180
193
  end
181
194
 
182
- ## Extends the TimeRepeat class with fixing of types and constants.
195
+
183
196
  class TimeRepeat
197
+ ## Extends the TimeRepeat class with fixing of types and constants.
198
+
184
199
  # Explicit the types conversions in the time repeat.
185
200
  def explicit_types!
186
201
  # Recurse on the statement.
@@ -190,8 +205,9 @@ module HDLRuby::Low
190
205
  end
191
206
 
192
207
 
193
- ## Extends the Block class with fixing of types and constants.
194
208
  class Block
209
+ ## Extends the Block class with fixing of types and constants.
210
+
195
211
  # Explicit the types conversions in the block.
196
212
  def explicit_types!
197
213
  # Recurse on the statements.
@@ -201,14 +217,16 @@ module HDLRuby::Low
201
217
  end
202
218
 
203
219
 
204
- ## Extends the Connection class with fixing of types and constants.
205
220
  class Connection
221
+ ## Extends the Connection class with fixing of types and constants.
222
+
206
223
  # Nothing required, Transmit is generated identically.
207
224
  end
208
225
 
209
226
 
210
- ## Extends the Expression class with fixing of types and constants.
211
227
  class Expression
228
+ ## Extends the Expression class with fixing of types and constants.
229
+
212
230
  # Explicit the types conversions in the expression where
213
231
  # +type+ is the expected type of the condition if any.
214
232
  def explicit_types(type = nil)
@@ -217,8 +235,9 @@ module HDLRuby::Low
217
235
  end
218
236
 
219
237
 
220
- ## Extends the Value class with fixing of types and constants.
221
238
  class Value
239
+ ## Extends the Value class with fixing of types and constants.
240
+
222
241
  # Explicit the types conversions in the value where
223
242
  # +type+ is the expected type of the condition if any.
224
243
  def explicit_types(type = nil)
@@ -234,8 +253,9 @@ module HDLRuby::Low
234
253
  end
235
254
 
236
255
 
237
- ## Extends the Cast class with fixing of types and constants.
238
256
  class Cast
257
+ ## Extends the Cast class with fixing of types and constants.
258
+
239
259
  # Explicit the types conversions in the cast where
240
260
  # +type+ is the expected type of the condition if any.
241
261
  def explicit_types(type = nil)
@@ -251,8 +271,9 @@ module HDLRuby::Low
251
271
  end
252
272
 
253
273
 
254
- ## Extends the Operation class with fixing of types and constants.
255
274
  class Operation
275
+ ## Extends the Operation class with fixing of types and constants.
276
+
256
277
  # Explicit the types conversions in the operation where
257
278
  # +type+ is the expected type of the condition if any.
258
279
  def explicit_types(type = nil)
@@ -261,8 +282,9 @@ module HDLRuby::Low
261
282
  end
262
283
 
263
284
 
264
- ## Extends the Unary class with fixing of types and constants.
265
285
  class Unary
286
+ ## Extends the Unary class with fixing of types and constants.
287
+
266
288
  # Explicit the types conversions in the unary operation where
267
289
  # +type+ is the expected type of the condition if any.
268
290
  def explicit_types(type = nil)
@@ -281,8 +303,9 @@ module HDLRuby::Low
281
303
  end
282
304
 
283
305
 
284
- ## Extends the Binary class with fixing of types and constants.
285
306
  class Binary
307
+ ## Extends the Binary class with fixing of types and constants.
308
+
286
309
  # Explicit the types conversions in the binary operation where
287
310
  # +type+ is the expected type of the condition if any.
288
311
  def explicit_types(type = nil)
@@ -305,8 +328,9 @@ module HDLRuby::Low
305
328
  end
306
329
 
307
330
 
308
- ## Extends the Select class with fixing of types and constants.
309
331
  class Select
332
+ ## Extends the Select class with fixing of types and constants.
333
+
310
334
  # Explicit the types conversions in the selection where
311
335
  # +type+ is the expected type of the condition if any.
312
336
  def explicit_types(type = nil)
@@ -319,8 +343,9 @@ module HDLRuby::Low
319
343
  end
320
344
 
321
345
 
322
- ## Extends the Concat class with fixing of types and constants.
323
346
  class Concat
347
+ ## Extends the Concat class with fixing of types and constants.
348
+
324
349
  # Explicit the types conversions in the concat where
325
350
  # +type+ is the expected type of the condition if any.
326
351
  def explicit_types(type = nil)
@@ -354,8 +379,9 @@ module HDLRuby::Low
354
379
  end
355
380
 
356
381
 
357
- ## Extends the Ref class with fixing of types and constants.
358
382
  class Ref
383
+ ## Extends the Ref class with fixing of types and constants.
384
+
359
385
  # Explicit the types conversions in the reference where
360
386
  # +type+ is the expected type of the condition if any.
361
387
  def explicit_types(type = nil)
@@ -364,8 +390,9 @@ module HDLRuby::Low
364
390
  end
365
391
 
366
392
 
367
- ## Extends the RefConcat class with fixing of types and constants.
368
393
  class RefConcat
394
+ ## Extends the RefConcat class with fixing of types and constants.
395
+
369
396
  # Explicit the types conversions in the concat ref where
370
397
  # +type+ is the expected type of the condition if any.
371
398
  def explicit_types(type = nil)
@@ -397,8 +424,9 @@ module HDLRuby::Low
397
424
  end
398
425
 
399
426
 
400
- ## Extends the RefIndex class with fixing of types and constants.
401
427
  class RefIndex
428
+ ## Extends the RefIndex class with fixing of types and constants.
429
+
402
430
  # Explicit the types conversions in the index ref where
403
431
  # +type+ is the expected type of the condition if any.
404
432
  def explicit_types(type = nil)
@@ -418,8 +446,9 @@ module HDLRuby::Low
418
446
  end
419
447
 
420
448
 
421
- ## Extends the RefRange class with fixing of types and constants.
422
449
  class RefRange
450
+ ## Extends the RefRange class with fixing of types and constants.
451
+
423
452
  # Explicit the types conversions in the range ref where
424
453
  # +type+ is the expected type of the condition if any.
425
454
  def explicit_types(type = nil)
@@ -441,8 +470,9 @@ module HDLRuby::Low
441
470
  end
442
471
 
443
472
 
444
- ## Extends the RefName class with fixing of types and constants.
445
473
  class RefName
474
+ ## Extends the RefName class with fixing of types and constants.
475
+
446
476
  # Explicit the types conversions in the index ref where
447
477
  # +type+ is the expected type of the condition if any.
448
478
  def explicit_types(type = nil)
@@ -461,8 +491,9 @@ module HDLRuby::Low
461
491
  end
462
492
 
463
493
 
464
- ## Extends the RefThis class with fixing of types and constants.
465
494
  class RefThis
495
+ ## Extends the RefThis class with fixing of types and constants.
496
+
466
497
  # Explicit the types conversions in the index ref where
467
498
  # +type+ is the expected type of the condition if any.
468
499
  def explicit_types(type = nil)
@@ -472,8 +503,9 @@ module HDLRuby::Low
472
503
  end
473
504
 
474
505
 
475
- ## Extends the stringE class with fixing of types and constants.
476
506
  class StringE
507
+ ## Extends the stringE class with fixing of types and constants.
508
+
477
509
  # Explicit the types conversions in the concat where
478
510
  # +type+ is the expected type of the condition if any.
479
511
  def explicit_types(type = nil)