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
@@ -340,8 +340,8 @@ module HDLRuby::Low
340
340
  end
341
341
 
342
342
 
343
- ## Extends the SystemT class with generation of HDLRuby::High text.
344
343
  class SystemT
344
+ ## Extends the SystemT class with generation of HDLRuby::High text.
345
345
 
346
346
  # Generates the text of the equivalent HDLRuby::High code.
347
347
  # +level+ is the hierachical level of the object.
@@ -403,8 +403,8 @@ module HDLRuby::Low
403
403
  end
404
404
 
405
405
 
406
- ## Extends the Scope class with generation of HDLRuby::High text.
407
406
  class Scope
407
+ ## Extends the Scope class with generation of HDLRuby::High text.
408
408
 
409
409
  ## Tells if an expression is a reference to port +systemI.signal+.
410
410
  def port_assign?(expr, systemI, signal)
@@ -611,8 +611,8 @@ module HDLRuby::Low
611
611
  end
612
612
 
613
613
 
614
- ## Extends the Type class with generation of HDLRuby::High text.
615
614
  class Type
615
+ ## Extends the Type class with generation of HDLRuby::High text.
616
616
 
617
617
  # Generates the text of the equivalent HDLRuby::High code.
618
618
  # +level+ is the hierachical level of the object.
@@ -621,8 +621,9 @@ module HDLRuby::Low
621
621
  end
622
622
  end
623
623
 
624
- ## Extends the TypeDef class with generation of HDLRuby::High text.
624
+
625
625
  class TypeDef
626
+ ## Extends the TypeDef class with generation of HDLRuby::High text.
626
627
 
627
628
  # Generates the text of the equivalent HDLRuby::High code.
628
629
  # +level+ is the hierachical level of the object.
@@ -644,8 +645,9 @@ module HDLRuby::Low
644
645
  end
645
646
  end
646
647
 
647
- ## Extends the TypeVector class with generation of HDLRuby::High text.
648
+
648
649
  class TypeVector
650
+ ## Extends the TypeVector class with generation of HDLRuby::High text.
649
651
 
650
652
  # Generates the text of the equivalent HDLRuby::High code.
651
653
  # +level+ is the hierachical level of the object.
@@ -703,8 +705,9 @@ module HDLRuby::Low
703
705
  end
704
706
  end
705
707
 
706
- ## Extends the TypeTuple class with generation of HDLRuby::High text.
708
+
707
709
  class TypeTuple
710
+ ## Extends the TypeTuple class with generation of HDLRuby::High text.
708
711
 
709
712
  # Generates the text of the equivalent HDLRuby::High code.
710
713
  # +level+ is the hierachical level of the object.
@@ -716,8 +719,9 @@ module HDLRuby::Low
716
719
  end
717
720
  end
718
721
 
719
- ## Extends the TypeStruct class with generation of HDLRuby::High text.
722
+
720
723
  class TypeStruct
724
+ ## Extends the TypeStruct class with generation of HDLRuby::High text.
721
725
 
722
726
  # Generates the text of the equivalent HDLRuby::High code.
723
727
  # +level+ is the hierachical level of the object.
@@ -740,8 +744,8 @@ module HDLRuby::Low
740
744
  end
741
745
 
742
746
 
743
- ## Extends the Behavior class with generation of HDLRuby::High text.
744
747
  class Behavior
748
+ ## Extends the Behavior class with generation of HDLRuby::High text.
745
749
 
746
750
  # Generates the text of the equivalent HDLRuby::High code.
747
751
  # +level+ is the hierachical level of the object.
@@ -845,20 +849,24 @@ module HDLRuby::Low
845
849
  end
846
850
  end
847
851
 
848
- ## Extends the TimeBehavior class with generation of HDLRuby::High text.
852
+
849
853
  class TimeBehavior
854
+ ## Extends the TimeBehavior class with generation of HDLRuby::High text.
855
+
850
856
  # TimeBehavior is identical to Behavior in VHDL
851
857
  end
852
858
 
853
859
 
854
- ## Extends the Event class with generation of HDLRuby::High text.
855
860
  class Event
861
+ ## Extends the Event class with generation of HDLRuby::High text.
862
+
856
863
  # Events are not directly generated.
857
864
  end
858
865
 
859
866
 
860
- ## Extends the SignalI class with generation of HDLRuby::High text.
861
867
  class SignalI
868
+ ## Extends the SignalI class with generation of HDLRuby::High text.
869
+
862
870
  # Signals are not directly generated.
863
871
 
864
872
  # Generates the text of the equivalent HDLRuby::High code.
@@ -870,8 +878,9 @@ module HDLRuby::Low
870
878
  end
871
879
 
872
880
 
873
- ## Extends the SystemI class with generation of HDLRuby::High text.
874
881
  class SystemI
882
+ ## Extends the SystemI class with generation of HDLRuby::High text.
883
+
875
884
  # Instances are not directly generated.
876
885
 
877
886
  # Generates the text of the equivalent HDLRuby::High code.
@@ -883,8 +892,8 @@ module HDLRuby::Low
883
892
  end
884
893
 
885
894
 
886
- ## Extends the Statement class with generation of HDLRuby::High text.
887
895
  class Statement
896
+ ## Extends the Statement class with generation of HDLRuby::High text.
888
897
 
889
898
  # Generates the text of the equivalent HDLRuby::High code.
890
899
  # +vars+ is the list of the variables and
@@ -895,8 +904,9 @@ module HDLRuby::Low
895
904
  end
896
905
  end
897
906
 
898
- ## Extends the Transmit class with generation of HDLRuby::High text.
907
+
899
908
  class Transmit
909
+ ## Extends the Transmit class with generation of HDLRuby::High text.
900
910
 
901
911
  # Generates the text of the equivalent HDLRuby::High code.
902
912
  # +vars+ is the list of the variables and
@@ -913,8 +923,9 @@ module HDLRuby::Low
913
923
  end
914
924
  end
915
925
 
916
- ## Extends the Print class with generation of HDLRuby::High text.
926
+
917
927
  class Print
928
+ ## Extends the Print class with generation of HDLRuby::High text.
918
929
 
919
930
  # Generates the text of the equivalent HDLRuby::High code.
920
931
  # +vars+ is the list of the variables and
@@ -927,8 +938,9 @@ module HDLRuby::Low
927
938
  end
928
939
  end
929
940
 
930
- ## Extends the TimeTerminate class with generation of HDLRuby::High text.
941
+
931
942
  class TimeTerminate
943
+ ## Extends the TimeTerminate class with generation of HDLRuby::High text.
932
944
 
933
945
  # Generates the text of the equivalent HDLRuby::High code.
934
946
  # +vars+ is the list of the variables and
@@ -938,9 +950,10 @@ module HDLRuby::Low
938
950
  return " " * (level*3) + "finish;\n"
939
951
  end
940
952
  end
941
-
942
- ## Extends the If class with generation of HDLRuby::High text.
953
+
954
+
943
955
  class If
956
+ ## Extends the If class with generation of HDLRuby::High text.
944
957
 
945
958
  # Generates the text of the equivalent HDLRuby::High code.
946
959
  # +vars+ is the list of the variables and
@@ -972,8 +985,9 @@ module HDLRuby::Low
972
985
  end
973
986
  end
974
987
 
975
- ## Extends the When class with generation of HDLRuby::High text.
988
+
976
989
  class When
990
+ ## Extends the When class with generation of HDLRuby::High text.
977
991
 
978
992
  # Generates the text of the equivalent HDLRuby::High code ensuring
979
993
  # the match is of +type+.
@@ -991,8 +1005,9 @@ module HDLRuby::Low
991
1005
  end
992
1006
  end
993
1007
 
994
- ## Extends the Case class with generation of HDLRuby::High text.
1008
+
995
1009
  class Case
1010
+ ## Extends the Case class with generation of HDLRuby::High text.
996
1011
 
997
1012
  # Generates the text of the equivalent HDLRuby::High code.
998
1013
  # +vars+ is the list of the variables and
@@ -1027,8 +1042,8 @@ module HDLRuby::Low
1027
1042
  end
1028
1043
 
1029
1044
 
1030
- ## Extends the Delay class with generation of HDLRuby::High text.
1031
1045
  class Delay
1046
+ ## Extends the Delay class with generation of HDLRuby::High text.
1032
1047
 
1033
1048
  # Generates the text of the equivalent HDLRuby::High code.
1034
1049
  # +level+ is the hierachical level of the object.
@@ -1038,8 +1053,8 @@ module HDLRuby::Low
1038
1053
  end
1039
1054
 
1040
1055
 
1041
- ## Extends the TimeWait class with generation of HDLRuby::High text.
1042
1056
  class TimeWait
1057
+ ## Extends the TimeWait class with generation of HDLRuby::High text.
1043
1058
 
1044
1059
  # Generates the text of the equivalent HDLRuby::High code.
1045
1060
  # +vars+ is the list of the variables and
@@ -1054,8 +1069,10 @@ module HDLRuby::Low
1054
1069
  end
1055
1070
  end
1056
1071
 
1057
- ## Extends the TimeRepeat class with generation of HDLRuby::High text.
1072
+
1058
1073
  class TimeRepeat
1074
+ ## Extends the TimeRepeat class with generation of HDLRuby::High text.
1075
+
1059
1076
  # Generates the text of the equivalent HDLRuby::High code.
1060
1077
  # +vars+ is the list of the variables and
1061
1078
  # +level+ is the hierachical level of the object.
@@ -1094,8 +1111,9 @@ module HDLRuby::Low
1094
1111
  end
1095
1112
  end
1096
1113
 
1097
- ## Extends the Block class with generation of HDLRuby::High text.
1114
+
1098
1115
  class Block
1116
+ ## Extends the Block class with generation of HDLRuby::High text.
1099
1117
 
1100
1118
  # Generates the text of the equivalent HDLRuby::High code.
1101
1119
  # +vars+ is the list of variables and
@@ -1115,14 +1133,16 @@ module HDLRuby::Low
1115
1133
  end
1116
1134
  end
1117
1135
 
1118
- ## Extends the TimeBlock class with generation of HDLRuby::High text.
1136
+
1119
1137
  class TimeBlock
1138
+ ## Extends the TimeBlock class with generation of HDLRuby::High text.
1139
+
1120
1140
  # TimeBlock is identical to Block in VHDL
1121
1141
  end
1122
1142
 
1123
1143
 
1124
- ## Extends the Code class with generation of HDLRuby::High text.
1125
1144
  class Code
1145
+ ## Extends the Code class with generation of HDLRuby::High text.
1126
1146
 
1127
1147
  # Generates the text of the equivalent HDLRuby::High code.
1128
1148
  # +level+ is the hierachical level of the object.
@@ -1131,14 +1151,16 @@ module HDLRuby::Low
1131
1151
  end
1132
1152
  end
1133
1153
 
1134
- ## Extends the Connection class with generation of HDLRuby::High text.
1154
+
1135
1155
  class Connection
1156
+ ## Extends the Connection class with generation of HDLRuby::High text.
1157
+
1136
1158
  # Nothing required, Transmit is generated identically.
1137
1159
  end
1138
1160
 
1139
1161
 
1140
- ## Extends the Expression class with generation of HDLRuby::High text.
1141
1162
  class Expression
1163
+ ## Extends the Expression class with generation of HDLRuby::High text.
1142
1164
 
1143
1165
  # Generates the text of the equivalent HDLRuby::High code.
1144
1166
  # +level+ is the hierachical level of the object.
@@ -1148,8 +1170,9 @@ module HDLRuby::Low
1148
1170
  end
1149
1171
  end
1150
1172
 
1151
- ## Extends the Value class with generation of HDLRuby::High text.
1173
+
1152
1174
  class Value
1175
+ ## Extends the Value class with generation of HDLRuby::High text.
1153
1176
 
1154
1177
  # Generate the text of the equivalent VHDL is case of arithmetic
1155
1178
  # expression.
@@ -1209,8 +1232,9 @@ module HDLRuby::Low
1209
1232
  end
1210
1233
  end
1211
1234
 
1212
- ## Extends the Cast class with generation of HDLRuby::High text.
1235
+
1213
1236
  class Cast
1237
+ ## Extends the Cast class with generation of HDLRuby::High text.
1214
1238
 
1215
1239
  # Generates the text of the equivalent HDLRuby::High code.
1216
1240
  # +level+ is the hierachical level of the object.
@@ -1241,8 +1265,9 @@ module HDLRuby::Low
1241
1265
  end
1242
1266
  end
1243
1267
 
1244
- ## Extends the Operation class with generation of HDLRuby::High text.
1268
+
1245
1269
  class Operation
1270
+ ## Extends the Operation class with generation of HDLRuby::High text.
1246
1271
 
1247
1272
  # Generates the text of the equivalent HDLRuby::High code.
1248
1273
  # +level+ is the hierachical level of the object.
@@ -1252,8 +1277,9 @@ module HDLRuby::Low
1252
1277
  end
1253
1278
  end
1254
1279
 
1255
- ## Extends the Unary class with generation of HDLRuby::High text.
1280
+
1256
1281
  class Unary
1282
+ ## Extends the Unary class with generation of HDLRuby::High text.
1257
1283
 
1258
1284
  # Generates the text of the equivalent HDLRuby::High code.
1259
1285
  # +level+ is the hierachical level of the object.
@@ -1277,8 +1303,9 @@ module HDLRuby::Low
1277
1303
  end
1278
1304
  end
1279
1305
 
1280
- ## Extends the Binary class with generation of HDLRuby::High text.
1306
+
1281
1307
  class Binary
1308
+ ## Extends the Binary class with generation of HDLRuby::High text.
1282
1309
 
1283
1310
  # Generates the text of the equivalent HDLRuby::High code.
1284
1311
  # +level+ is the hierachical level of the object.
@@ -1352,8 +1379,9 @@ module HDLRuby::Low
1352
1379
  end
1353
1380
  end
1354
1381
 
1355
- ## Extends the Select class with generation of HDLRuby::High text.
1382
+
1356
1383
  class Select
1384
+ ## Extends the Select class with generation of HDLRuby::High text.
1357
1385
 
1358
1386
  # Generates the text of the equivalent HDLRuby::High code.
1359
1387
  # +level+ is the hierachical level of the object.
@@ -1378,8 +1406,9 @@ module HDLRuby::Low
1378
1406
  end
1379
1407
  end
1380
1408
 
1381
- ## Extends the Concat class with generation of HDLRuby::High text.
1409
+
1382
1410
  class Concat
1411
+ ## Extends the Concat class with generation of HDLRuby::High text.
1383
1412
 
1384
1413
  # Generates the text of the equivalent HDLRuby::High code.
1385
1414
  # +type+ is the expected type of the content.
@@ -1417,8 +1446,8 @@ module HDLRuby::Low
1417
1446
  end
1418
1447
 
1419
1448
 
1420
- ## Extends the Ref class with generation of HDLRuby::High text.
1421
1449
  class Ref
1450
+ ## Extends the Ref class with generation of HDLRuby::High text.
1422
1451
 
1423
1452
  # Generates the text of the equivalent HDLRuby::High code.
1424
1453
  # +level+ is the hierachical level of the object.
@@ -1428,8 +1457,9 @@ module HDLRuby::Low
1428
1457
  end
1429
1458
  end
1430
1459
 
1431
- ## Extends the RefConcat class with generation of HDLRuby::High text.
1460
+
1432
1461
  class RefConcat
1462
+ ## Extends the RefConcat class with generation of HDLRuby::High text.
1433
1463
 
1434
1464
  # Generates the text of the equivalent HDLRuby::High code.
1435
1465
  # +level+ is the hierachical level of the object.
@@ -1449,8 +1479,9 @@ module HDLRuby::Low
1449
1479
  end
1450
1480
  end
1451
1481
 
1452
- ## Extends the RefIndex class with generation of HDLRuby::High text.
1482
+
1453
1483
  class RefIndex
1484
+ ## Extends the RefIndex class with generation of HDLRuby::High text.
1454
1485
 
1455
1486
  # Generates the text of the equivalent HDLRuby::High code.
1456
1487
  # +level+ is the hierachical level of the object.
@@ -1466,8 +1497,9 @@ module HDLRuby::Low
1466
1497
  end
1467
1498
  end
1468
1499
 
1469
- ## Extends the RefRange class with generation of HDLRuby::High text.
1500
+
1470
1501
  class RefRange
1502
+ ## Extends the RefRange class with generation of HDLRuby::High text.
1471
1503
 
1472
1504
  # Generates the text of the equivalent HDLRuby::High code.
1473
1505
  # +level+ is the hierachical level of the object.
@@ -1499,8 +1531,9 @@ module HDLRuby::Low
1499
1531
  end
1500
1532
  end
1501
1533
 
1502
- ## Extends the RefName class with generation of HDLRuby::High text.
1534
+
1503
1535
  class RefName
1536
+ ## Extends the RefName class with generation of HDLRuby::High text.
1504
1537
 
1505
1538
  # Generates the text of the equivalent HDLRuby::High code.
1506
1539
  # +level+ is the hierachical level of the object.
@@ -1520,13 +1553,15 @@ module HDLRuby::Low
1520
1553
  end
1521
1554
  end
1522
1555
 
1523
- ## Extends the RefThis class with generation of HDLRuby::High text.
1556
+
1524
1557
  class RefThis
1558
+ ## Extends the RefThis class with generation of HDLRuby::High text.
1525
1559
  # Nothing to generate.
1526
1560
  end
1527
1561
 
1528
- ## Extends the StringE class with generation of HDLRuby::High text.
1562
+
1529
1563
  class StringE
1564
+ ## Extends the StringE class with generation of HDLRuby::High text.
1530
1565
 
1531
1566
  # Generates the text of the equivalent HDLRuby::High code.
1532
1567
  # +level+ is the hierachical level of the object.
@@ -1537,8 +1572,8 @@ module HDLRuby::Low
1537
1572
  end
1538
1573
  end
1539
1574
 
1540
- ## Extends the Numeric class with generation of HDLRuby::High text.
1541
1575
  class ::Numeric
1576
+ ## Extends the Numeric class with generation of HDLRuby::High text.
1542
1577
 
1543
1578
  # Generates the text of the equivalent HDLRuby::High code.
1544
1579
  # +level+ is the hierachical level of the object.
@@ -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