HDLRuby 2.11.12 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (86) hide show
  1. checksums.yaml +4 -4
  2. data/README.html +3274 -0
  3. data/README.md +556 -84
  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/mei8_bench.rb +1 -1
  8. data/lib/HDLRuby/hdr_samples/with_bram.rb +3 -3
  9. data/lib/HDLRuby/hdr_samples/with_bram_frame_stack.rb +105 -0
  10. data/lib/HDLRuby/hdr_samples/with_bram_stack.rb +69 -0
  11. data/lib/HDLRuby/hdr_samples/with_register_stack.rb +150 -0
  12. data/lib/HDLRuby/hdr_samples/with_sequencer.rb +190 -0
  13. data/lib/HDLRuby/hdr_samples/with_sequencer_deep.rb +91 -0
  14. data/lib/HDLRuby/hdr_samples/with_sequencer_enumerable.rb +405 -0
  15. data/lib/HDLRuby/hdr_samples/with_sequencer_enumerator.rb +89 -0
  16. data/lib/HDLRuby/hdr_samples/with_sequencer_sync.rb +120 -0
  17. data/lib/HDLRuby/hdrcc.rb +15 -2
  18. data/lib/HDLRuby/hdrlib.rb +1 -1
  19. data/lib/HDLRuby/hruby_db.rb +2 -2
  20. data/lib/HDLRuby/hruby_high.rb +38 -20
  21. data/lib/HDLRuby/hruby_high_fullname.rb +3 -1
  22. data/lib/HDLRuby/hruby_low.rb +2 -2
  23. data/lib/HDLRuby/hruby_low2c.rb +58 -43
  24. data/lib/HDLRuby/hruby_low2hdr.rb +66 -40
  25. data/lib/HDLRuby/hruby_low2high.rb +86 -44
  26. data/lib/HDLRuby/hruby_low2seq.rb +26 -18
  27. data/lib/HDLRuby/hruby_low2sym.rb +14 -13
  28. data/lib/HDLRuby/hruby_low2vhd.rb +78 -43
  29. data/lib/HDLRuby/hruby_low_bool2select.rb +61 -46
  30. data/lib/HDLRuby/hruby_low_casts_without_expression.rb +56 -44
  31. data/lib/HDLRuby/hruby_low_cleanup.rb +18 -16
  32. data/lib/HDLRuby/hruby_low_fix_types.rb +64 -32
  33. data/lib/HDLRuby/hruby_low_mutable.rb +53 -118
  34. data/lib/HDLRuby/hruby_low_resolve.rb +26 -31
  35. data/lib/HDLRuby/hruby_low_with_bool.rb +33 -16
  36. data/lib/HDLRuby/hruby_low_with_port.rb +3 -3
  37. data/lib/HDLRuby/hruby_low_with_var.rb +23 -9
  38. data/lib/HDLRuby/hruby_low_without_concat.rb +19 -13
  39. data/lib/HDLRuby/hruby_low_without_namespace.rb +47 -32
  40. data/lib/HDLRuby/hruby_low_without_parinseq.rb +18 -12
  41. data/lib/HDLRuby/hruby_low_without_select.rb +36 -23
  42. data/lib/HDLRuby/hruby_low_without_subsignals.rb +29 -28
  43. data/lib/HDLRuby/hruby_rcsim.rb +79 -64
  44. data/lib/HDLRuby/hruby_rsim.rb +64 -15
  45. data/lib/HDLRuby/hruby_rsim_mute.rb +2 -3
  46. data/lib/HDLRuby/hruby_rsim_vcd.rb +28 -25
  47. data/lib/HDLRuby/hruby_values.rb +13 -2
  48. data/lib/HDLRuby/hruby_verilog.rb +90 -48
  49. data/lib/HDLRuby/soft/stacks.rb +219 -0
  50. data/lib/HDLRuby/std/bram.rb +9 -5
  51. data/lib/HDLRuby/std/clocks.rb +1 -1
  52. data/lib/HDLRuby/std/fsm.rb +29 -9
  53. data/lib/HDLRuby/std/sequencer.rb +1857 -0
  54. data/lib/HDLRuby/std/sequencer_sync.rb +400 -0
  55. data/lib/HDLRuby/std/std.rb +12 -0
  56. data/lib/HDLRuby/version.rb +1 -1
  57. data/tuto/adder_sat_flags_vcd.png +0 -0
  58. data/tuto/addsub_vcd.png +0 -0
  59. data/tuto/alu_vcd.png +0 -0
  60. data/tuto/bit_pong_vcd.png +0 -0
  61. data/tuto/checksum_vcd.png +0 -0
  62. data/tuto/circuit_hdr.odg +0 -0
  63. data/tuto/circuit_hdr.png +0 -0
  64. data/tuto/circuit_hie.odg +0 -0
  65. data/tuto/circuit_hie.png +0 -0
  66. data/tuto/circuit_view.odg +0 -0
  67. data/tuto/circuit_view.png +0 -0
  68. data/tuto/clock_counter_vcd.png +0 -0
  69. data/tuto/counter_ext_vcd.png +0 -0
  70. data/tuto/fact_vcd.png +0 -0
  71. data/tuto/hw_flow.odg +0 -0
  72. data/tuto/hw_flow.png +0 -0
  73. data/tuto/maxxer_vcd.png +0 -0
  74. data/tuto/pingpong0_vcd.png +0 -0
  75. data/tuto/pingpong1_vcd.png +0 -0
  76. data/tuto/pingpong2_vcd.png +0 -0
  77. data/tuto/ram_vcd.png +0 -0
  78. data/tuto/serializer_vcd.png +0 -0
  79. data/tuto/sw_flow.odg +0 -0
  80. data/tuto/sw_flow.png +0 -0
  81. data/tuto/the_counter_vcd.png +0 -0
  82. data/tuto/tutorial_sw.html +2359 -0
  83. data/tuto/tutorial_sw.md +2684 -0
  84. data/tuto/tutorial_sw.pdf +0 -0
  85. data/tuto/tutorial_sw_jp.md +417 -0
  86. metadata +44 -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