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.
Files changed (119) hide show
  1. checksums.yaml +4 -4
  2. data/README.html +3274 -0
  3. data/README.md +608 -99
  4. data/ext/hruby_sim/hruby_rcsim_build.c +27 -0
  5. data/ext/hruby_sim/hruby_sim.h +3 -0
  6. data/ext/hruby_sim/hruby_sim_calc.c +2 -0
  7. data/ext/hruby_sim/hruby_sim_core.c +17 -5
  8. data/ext/hruby_sim/hruby_sim_stack_calc.c +1 -1
  9. data/ext/hruby_sim/hruby_sim_tree_calc.c +8 -1
  10. data/ext/hruby_sim/hruby_sim_vcd.c +24 -7
  11. data/ext/hruby_sim/hruby_sim_vizualize.c +9 -1
  12. data/lib/HDLRuby/backend/hruby_allocator.rb +2 -2
  13. data/lib/HDLRuby/backend/hruby_c_allocator.rb +7 -7
  14. data/lib/HDLRuby/hdr_samples/constant_in_function.rb +3 -1
  15. data/lib/HDLRuby/hdr_samples/counter_dff_bench.rb +3 -1
  16. data/lib/HDLRuby/hdr_samples/huge_rom.rb +1 -1
  17. data/lib/HDLRuby/hdr_samples/mei8.rb +11 -11
  18. data/lib/HDLRuby/hdr_samples/mei8_bench.rb +12 -12
  19. data/lib/HDLRuby/hdr_samples/neg_arith_bench.rb +4 -4
  20. data/lib/HDLRuby/hdr_samples/rom_nest.rb +1 -1
  21. data/lib/HDLRuby/hdr_samples/ruby_fir_hw.rb +4 -4
  22. data/lib/HDLRuby/hdr_samples/struct.rb +44 -10
  23. data/lib/HDLRuby/hdr_samples/with_bram.rb +45 -0
  24. data/lib/HDLRuby/hdr_samples/with_bram_frame_stack.rb +105 -0
  25. data/lib/HDLRuby/hdr_samples/with_bram_stack.rb +69 -0
  26. data/lib/HDLRuby/hdr_samples/with_casts.rb +3 -3
  27. data/lib/HDLRuby/hdr_samples/with_concat.rb +6 -6
  28. data/lib/HDLRuby/hdr_samples/with_connector_memory.rb +2 -2
  29. data/lib/HDLRuby/hdr_samples/with_def.rb +10 -3
  30. data/lib/HDLRuby/hdr_samples/with_define_operator.rb +44 -0
  31. data/lib/HDLRuby/hdr_samples/with_fixpoint.rb +12 -12
  32. data/lib/HDLRuby/hdr_samples/with_init.rb +3 -3
  33. data/lib/HDLRuby/hdr_samples/with_leftright.rb +21 -0
  34. data/lib/HDLRuby/hdr_samples/with_reduce.rb +13 -13
  35. data/lib/HDLRuby/hdr_samples/with_ref_array.rb +6 -6
  36. data/lib/HDLRuby/hdr_samples/with_register_stack.rb +150 -0
  37. data/lib/HDLRuby/hdr_samples/with_sequencer.rb +190 -0
  38. data/lib/HDLRuby/hdr_samples/with_sequencer_deep.rb +91 -0
  39. data/lib/HDLRuby/hdr_samples/with_sequencer_enumerable.rb +405 -0
  40. data/lib/HDLRuby/hdr_samples/with_sequencer_enumerator.rb +89 -0
  41. data/lib/HDLRuby/hdr_samples/with_sequencer_sync.rb +120 -0
  42. data/lib/HDLRuby/hdr_samples/with_subsums.rb +3 -3
  43. data/lib/HDLRuby/hdr_samples/with_terminate.rb +3 -3
  44. data/lib/HDLRuby/hdr_samples/with_to_a.rb +10 -10
  45. data/lib/HDLRuby/hdr_samples/with_values.rb +3 -3
  46. data/lib/HDLRuby/hdrcc.rb +29 -3
  47. data/lib/HDLRuby/hdrlib.rb +1 -1
  48. data/lib/HDLRuby/hruby_bstr.rb +10 -5
  49. data/lib/HDLRuby/hruby_db.rb +2 -2
  50. data/lib/HDLRuby/hruby_high.rb +152 -47
  51. data/lib/HDLRuby/hruby_high_fullname.rb +3 -1
  52. data/lib/HDLRuby/hruby_low.rb +189 -18
  53. data/lib/HDLRuby/hruby_low2c.rb +129 -54
  54. data/lib/HDLRuby/hruby_low2hdr.rb +66 -40
  55. data/lib/HDLRuby/hruby_low2high.rb +86 -44
  56. data/lib/HDLRuby/hruby_low2seq.rb +26 -18
  57. data/lib/HDLRuby/hruby_low2sym.rb +14 -13
  58. data/lib/HDLRuby/hruby_low2vhd.rb +80 -44
  59. data/lib/HDLRuby/hruby_low_bool2select.rb +61 -46
  60. data/lib/HDLRuby/hruby_low_casts_without_expression.rb +56 -44
  61. data/lib/HDLRuby/hruby_low_cleanup.rb +18 -16
  62. data/lib/HDLRuby/hruby_low_fix_types.rb +65 -32
  63. data/lib/HDLRuby/hruby_low_mutable.rb +83 -119
  64. data/lib/HDLRuby/hruby_low_resolve.rb +38 -30
  65. data/lib/HDLRuby/hruby_low_with_bool.rb +33 -16
  66. data/lib/HDLRuby/hruby_low_with_port.rb +3 -3
  67. data/lib/HDLRuby/hruby_low_with_var.rb +23 -9
  68. data/lib/HDLRuby/hruby_low_without_concat.rb +45 -19
  69. data/lib/HDLRuby/hruby_low_without_namespace.rb +47 -32
  70. data/lib/HDLRuby/hruby_low_without_parinseq.rb +32 -16
  71. data/lib/HDLRuby/hruby_low_without_select.rb +37 -24
  72. data/lib/HDLRuby/hruby_low_without_subsignals.rb +280 -0
  73. data/lib/HDLRuby/hruby_rcsim.rb +158 -134
  74. data/lib/HDLRuby/hruby_rsim.rb +194 -20
  75. data/lib/HDLRuby/hruby_rsim_mute.rb +2 -3
  76. data/lib/HDLRuby/hruby_rsim_vcd.rb +125 -50
  77. data/lib/HDLRuby/hruby_values.rb +48 -33
  78. data/lib/HDLRuby/hruby_verilog.rb +90 -48
  79. data/lib/HDLRuby/soft/stacks.rb +219 -0
  80. data/lib/HDLRuby/std/bram.rb +26 -0
  81. data/lib/HDLRuby/std/clocks.rb +1 -1
  82. data/lib/HDLRuby/std/fixpoint.rb +2 -2
  83. data/lib/HDLRuby/std/fsm.rb +48 -11
  84. data/lib/HDLRuby/std/function_generator.rb +2 -2
  85. data/lib/HDLRuby/std/sequencer.rb +1857 -0
  86. data/lib/HDLRuby/std/sequencer_sync.rb +400 -0
  87. data/lib/HDLRuby/std/std.rb +12 -0
  88. data/lib/HDLRuby/version.rb +1 -1
  89. data/tuto/adder_sat_flags_vcd.png +0 -0
  90. data/tuto/addsub_vcd.png +0 -0
  91. data/tuto/alu_vcd.png +0 -0
  92. data/tuto/bit_pong_vcd.png +0 -0
  93. data/tuto/checksum_vcd.png +0 -0
  94. data/tuto/circuit_hdr.odg +0 -0
  95. data/tuto/circuit_hdr.png +0 -0
  96. data/tuto/circuit_hie.odg +0 -0
  97. data/tuto/circuit_hie.png +0 -0
  98. data/tuto/circuit_view.odg +0 -0
  99. data/tuto/circuit_view.png +0 -0
  100. data/tuto/clock_counter_vcd.png +0 -0
  101. data/tuto/counter_ext_vcd.png +0 -0
  102. data/tuto/fact_vcd.png +0 -0
  103. data/tuto/hw_flow.odg +0 -0
  104. data/tuto/hw_flow.png +0 -0
  105. data/tuto/maxxer_vcd.png +0 -0
  106. data/tuto/pingpong0_vcd.png +0 -0
  107. data/tuto/pingpong1_vcd.png +0 -0
  108. data/tuto/pingpong2_vcd.png +0 -0
  109. data/tuto/ram_vcd.png +0 -0
  110. data/tuto/serializer_vcd.png +0 -0
  111. data/tuto/sw_flow.odg +0 -0
  112. data/tuto/sw_flow.png +0 -0
  113. data/tuto/the_counter_vcd.png +0 -0
  114. data/tuto/tutorial_sw.html +2359 -0
  115. data/tuto/tutorial_sw.md +2684 -0
  116. data/tuto/tutorial_sw.pdf +0 -0
  117. data/tuto/tutorial_sw_jp.md +417 -0
  118. metadata +49 -3
  119. data/lib/HDLRuby/hdr_samples/sumprod.rb +0 -29
@@ -14,9 +14,9 @@ module HDLRuby::Low
14
14
  ########################################################################
15
15
 
16
16
 
17
- ## Extends the SystemT class with functionality for converting booleans
18
- # in assignments to select operators.
19
17
  class SystemT
18
+ ## Extends the SystemT class with functionality for converting booleans
19
+ # in assignments to select operators.
20
20
 
21
21
  # Converts booleans in assignments to select operators.
22
22
  def boolean_in_assign2select!
@@ -27,9 +27,9 @@ module HDLRuby::Low
27
27
  end
28
28
 
29
29
 
30
- ## Extends the Scope class with functionality for converting booleans
31
- # in assignments to select operators.
32
30
  class Scope
31
+ ## Extends the Scope class with functionality for converting booleans
32
+ # in assignments to select operators.
33
33
 
34
34
  # Converts booleans in assignments to select operators.
35
35
  def boolean_in_assign2select!
@@ -48,9 +48,9 @@ module HDLRuby::Low
48
48
  end
49
49
 
50
50
 
51
- ## Extends the Transmit class with functionality for converting booleans
52
- # in assignments to select operators.
53
51
  class Transmit
52
+ ## Extends the Transmit class with functionality for converting booleans
53
+ # in assignments to select operators.
54
54
 
55
55
  # Converts booleans in assignments to select operators.
56
56
  def boolean_in_assign2select!
@@ -63,9 +63,9 @@ module HDLRuby::Low
63
63
  end
64
64
 
65
65
 
66
- ## Extends the Print class with functionality for converting booleans
67
- # in assignments to select operators.
68
66
  class Print
67
+ ## Extends the Print class with functionality for converting booleans
68
+ # in assignments to select operators.
69
69
 
70
70
  # Converts booleans in assignments to select operators.
71
71
  def boolean_in_assign2select!
@@ -76,9 +76,9 @@ module HDLRuby::Low
76
76
  end
77
77
 
78
78
 
79
- ## Extends the TimeTerminate class with functionality for converting booleans
80
- # in assignments to select operators.
81
79
  class TimeTerminate
80
+ ## Extends the TimeTerminate class with functionality for converting
81
+ # booleans in assignments to select operators.
82
82
 
83
83
  # Converts booleans in assignments to select operators.
84
84
  def boolean_in_assign2select!
@@ -88,9 +88,9 @@ module HDLRuby::Low
88
88
  end
89
89
 
90
90
 
91
- ## Extends the If class with functionality for converting booleans
92
- # in assignments to select operators.
93
91
  class If
92
+ ## Extends the If class with functionality for converting booleans
93
+ # in assignments to select operators.
94
94
 
95
95
  # Converts booleans in assignments to select operators.
96
96
  def boolean_in_assign2select!
@@ -111,9 +111,10 @@ module HDLRuby::Low
111
111
  end
112
112
  end
113
113
 
114
- ## Extends the When class with functionality for converting booleans
115
- # in assignments to select operators.
114
+
116
115
  class When
116
+ ## Extends the When class with functionality for converting booleans
117
+ # in assignments to select operators.
117
118
 
118
119
  # Converts booleans in assignments to select operators.
119
120
  def boolean_in_assign2select!
@@ -127,9 +128,9 @@ module HDLRuby::Low
127
128
  end
128
129
 
129
130
 
130
- ## Extends the Case class with functionality for converting booleans
131
- # in assignments to select operators.
132
131
  class Case
132
+ ## Extends the Case class with functionality for converting booleans
133
+ # in assignments to select operators.
133
134
 
134
135
  # Converts booleans in assignments to select operators.
135
136
  def boolean_in_assign2select!
@@ -145,9 +146,10 @@ module HDLRuby::Low
145
146
  end
146
147
 
147
148
 
148
- ## Extends the TimeWait class with functionality for converting booleans
149
- # in assignments to select operators.
150
149
  class TimeWait
150
+ ## Extends the TimeWait class with functionality for converting booleans
151
+ # in assignments to select operators.
152
+
151
153
  # Converts booleans in assignments to select operators.
152
154
  def boolean_in_assign2select!
153
155
  # Nothing to do.
@@ -155,9 +157,11 @@ module HDLRuby::Low
155
157
  end
156
158
  end
157
159
 
158
- ## Extends the TimeRepeat class with functionality for converting booleans
159
- # in assignments to setlect operators.
160
+
160
161
  class TimeRepeat
162
+ ## Extends the TimeRepeat class with functionality for converting
163
+ # booleans in assignments to setlect operators.
164
+
161
165
  # Converts booleans in assignments to select operators.
162
166
  def boolean_in_assign2select!
163
167
  # Simply recurse on the stamtement.
@@ -167,9 +171,9 @@ module HDLRuby::Low
167
171
  end
168
172
 
169
173
 
170
- ## Extends the Block class with functionality for converting booleans
171
- # in assignments to select operators.
172
174
  class Block
175
+ ## Extends the Block class with functionality for converting booleans
176
+ # in assignments to select operators.
173
177
 
174
178
  # Converts booleans in assignments to select operators.
175
179
  def boolean_in_assign2select!
@@ -180,9 +184,10 @@ module HDLRuby::Low
180
184
  end
181
185
 
182
186
 
183
- ## Extends the Value class with functionality for converting booleans
184
- # in assignments to select operators.
185
187
  class Value
188
+ ## Extends the Value class with functionality for converting booleans
189
+ # in assignments to select operators.
190
+
186
191
  # Converts booleans in assignments to select operators.
187
192
  def boolean_in_assign2select
188
193
  # Simple clones.
@@ -191,9 +196,10 @@ module HDLRuby::Low
191
196
  end
192
197
 
193
198
 
194
- ## Extends the Cast class with functionality for converting booleans
195
- # in assignments to select operators.
196
199
  class Cast
200
+ ## Extends the Cast class with functionality for converting booleans
201
+ # in assignments to select operators.
202
+
197
203
  # Converts booleans in assignments to select operators.
198
204
  def boolean_in_assign2select
199
205
  # Recurse on the child.
@@ -201,9 +207,11 @@ module HDLRuby::Low
201
207
  end
202
208
  end
203
209
 
204
- ## Extends the Unary class with functionality for converting booleans
205
- # in assignments to select operators.
210
+
206
211
  class Unary
212
+ ## Extends the Unary class with functionality for converting booleans
213
+ # in assignments to select operators.
214
+
207
215
 
208
216
  # Converts booleans in assignments to select operators.
209
217
  def boolean_in_assign2select
@@ -215,9 +223,9 @@ module HDLRuby::Low
215
223
  end
216
224
 
217
225
 
218
- ## Extends the Binary class with functionality for converting booleans
219
- # in assignments to select operators.
220
226
  class Binary
227
+ ## Extends the Binary class with functionality for converting booleans
228
+ # in assignments to select operators.
221
229
 
222
230
  # Converts booleans in assignments to select operators.
223
231
  def boolean_in_assign2select
@@ -249,9 +257,9 @@ module HDLRuby::Low
249
257
  end
250
258
 
251
259
 
252
- ## Extends the Select class with functionality for converting booleans
253
- # in assignments to select operators.
254
260
  class Select
261
+ ## Extends the Select class with functionality for converting booleans
262
+ # in assignments to select operators.
255
263
 
256
264
  # Converts booleans in assignments to select operators.
257
265
  def boolean_in_assign2select
@@ -266,9 +274,10 @@ module HDLRuby::Low
266
274
  end
267
275
 
268
276
 
269
- ## Extends the Concat class with functionality for converting booleans
270
- # in assignments to select operators.
271
277
  class Concat
278
+ ## Extends the Concat class with functionality for converting booleans
279
+ # in assignments to select operators.
280
+
272
281
  # Converts booleans in assignments to select operators.
273
282
  def boolean_in_assign2select
274
283
  # Recurse on the sub expressions.
@@ -279,9 +288,10 @@ module HDLRuby::Low
279
288
  end
280
289
 
281
290
 
282
- ## Extends the Ref class with functionality for converting booleans
283
- # in assignments to select operators.
284
291
  class RefConcat
292
+ ## Extends the RefConcat class with functionality for converting booleans
293
+ # in assignments to select operators.
294
+
285
295
  # Converts booleans in assignments to select operators.
286
296
  def boolean_in_assign2select
287
297
  # Recurse on the sub references.
@@ -292,9 +302,10 @@ module HDLRuby::Low
292
302
  end
293
303
 
294
304
 
295
- ## Extends the RefIndex class with functionality for converting booleans
296
- # in assignments to select operators.
297
305
  class RefIndex
306
+ ## Extends the RefIndex class with functionality for converting booleans
307
+ # in assignments to select operators.
308
+
298
309
  # Converts booleans in assignments to select operators.
299
310
  def boolean_in_assign2select
300
311
  # Recurse on the sub references.
@@ -305,9 +316,10 @@ module HDLRuby::Low
305
316
  end
306
317
 
307
318
 
308
- ## Extends the RefRange class with functionality for converting booleans
309
- # in assignments to select operators.
310
319
  class RefRange
320
+ ## Extends the RefRange class with functionality for converting booleans
321
+ # in assignments to select operators.
322
+
311
323
  # Converts booleans in assignments to select operators.
312
324
  def boolean_in_assign2select
313
325
  # Recurse on the sub references.
@@ -319,9 +331,10 @@ module HDLRuby::Low
319
331
  end
320
332
 
321
333
 
322
- ## Extends the RefName class with functionality for converting booleans
323
- # in assignments to select operators.
324
334
  class RefName
335
+ ## Extends the RefName class with functionality for converting booleans
336
+ # in assignments to select operators.
337
+
325
338
  # Converts booleans in assignments to select operators.
326
339
  def boolean_in_assign2select
327
340
  # Recurse on the sub references.
@@ -332,9 +345,10 @@ module HDLRuby::Low
332
345
  end
333
346
 
334
347
 
335
- ## Extends the RefName class with functionality for converting booleans
336
- # in assignments to select operators.
337
348
  class RefThis
349
+ ## Extends the RefName class with functionality for converting booleans
350
+ # in assignments to select operators.
351
+
338
352
  # Converts booleans in assignments to select operators.
339
353
  def boolean_in_assign2select
340
354
  # Simply clone.
@@ -343,9 +357,10 @@ module HDLRuby::Low
343
357
  end
344
358
 
345
359
 
346
- ## Extends the StringE class with functionality for converting booleans
347
- # in assignments to select operators.
348
360
  class StringE
361
+ ## Extends the StringE class with functionality for converting booleans
362
+ # in assignments to select operators.
363
+
349
364
 
350
365
  # Converts booleans in assignments to select operators.
351
366
  def boolean_in_assign2select
@@ -15,9 +15,9 @@ module HDLRuby::Low
15
15
  ########################################################################
16
16
 
17
17
 
18
- ## Extends the SystemT class with functionality for extracting
19
- # expressions from cast.
20
18
  class SystemT
19
+ ## Extends the SystemT class with functionality for extracting
20
+ # expressions from cast.
21
21
 
22
22
  # Extracts the expressions from the casts.
23
23
  def casts_without_expression!
@@ -28,9 +28,9 @@ module HDLRuby::Low
28
28
  end
29
29
 
30
30
 
31
- ## Extends the Scope class with functionality for extracting
32
- # expressions from cast.
33
31
  class Scope
32
+ ## Extends the Scope class with functionality for extracting
33
+ # expressions from cast.
34
34
 
35
35
  # Extracts the expressions from the casts.
36
36
  def casts_without_expression!
@@ -49,9 +49,9 @@ module HDLRuby::Low
49
49
  end
50
50
 
51
51
 
52
- ## Extends the Transmit class with functionality for extracting
53
- # expressions from cast.
54
52
  class Transmit
53
+ ## Extends the Transmit class with functionality for extracting
54
+ # expressions from cast.
55
55
 
56
56
  # Extracts the expressions from the casts.
57
57
  def casts_without_expression!
@@ -64,9 +64,9 @@ module HDLRuby::Low
64
64
  end
65
65
 
66
66
 
67
- ## Extends the Print class with functionality for extracting
68
- # expressions from cast.
69
67
  class Print
68
+ ## Extends the Print class with functionality for extracting
69
+ # expressions from cast.
70
70
 
71
71
  # Extracts the expressions from the casts.
72
72
  def casts_without_expression!
@@ -77,9 +77,9 @@ module HDLRuby::Low
77
77
  end
78
78
 
79
79
 
80
- ## Extends the If class with functionality for extracting
81
- # expressions from cast.
82
80
  class If
81
+ ## Extends the If class with functionality for extracting
82
+ # expressions from cast.
83
83
 
84
84
  # Extracts the expressions from the casts.
85
85
  def casts_without_expression!
@@ -97,9 +97,9 @@ module HDLRuby::Low
97
97
  end
98
98
  end
99
99
 
100
- ## Extends the When class with functionality for extracting
101
- # expressions from cast.
102
100
  class When
101
+ ## Extends the When class with functionality for extracting
102
+ # expressions from cast.
103
103
 
104
104
  # Extracts the expressions from the casts.
105
105
  def casts_without_expression!
@@ -112,9 +112,9 @@ module HDLRuby::Low
112
112
  end
113
113
 
114
114
 
115
- ## Extends the Case class with functionality for extracting
116
- # expressions from cast.
117
115
  class Case
116
+ ## Extends the Case class with functionality for extracting
117
+ # expressions from cast.
118
118
 
119
119
  # Extracts the expressions from the casts.
120
120
  def casts_without_expression!
@@ -130,9 +130,10 @@ module HDLRuby::Low
130
130
  end
131
131
 
132
132
 
133
- ## Extends the TimeWait class with functionality for extracting
134
- # expressions from cast.
135
133
  class TimeWait
134
+ ## Extends the TimeWait class with functionality for extracting
135
+ # expressions from cast.
136
+
136
137
  # Extracts the expressions from the casts.
137
138
  def casts_without_expression!
138
139
  # Nothing to do.
@@ -140,9 +141,11 @@ module HDLRuby::Low
140
141
  end
141
142
  end
142
143
 
143
- ## 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+.