HDLRuby 2.11.11 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
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+.