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.
- checksums.yaml +4 -4
- data/README.html +3274 -0
- data/README.md +660 -128
- data/ext/hruby_sim/hruby_sim_calc.c +2 -0
- data/lib/HDLRuby/backend/hruby_allocator.rb +2 -2
- data/lib/HDLRuby/backend/hruby_c_allocator.rb +7 -7
- data/lib/HDLRuby/hdr_samples/constant_in_function.rb +2 -1
- data/lib/HDLRuby/hdr_samples/mei8_bench.rb +1 -1
- data/lib/HDLRuby/hdr_samples/with_bram.rb +3 -3
- data/lib/HDLRuby/hdr_samples/with_bram_frame_stack.rb +105 -0
- data/lib/HDLRuby/hdr_samples/with_bram_stack.rb +69 -0
- data/lib/HDLRuby/hdr_samples/with_ref_expr.rb +30 -0
- data/lib/HDLRuby/hdr_samples/with_sequencer.rb +185 -0
- data/lib/HDLRuby/hdr_samples/with_sequencer_deep.rb +91 -0
- data/lib/HDLRuby/hdr_samples/with_sequencer_enumerable.rb +439 -0
- data/lib/HDLRuby/hdr_samples/with_sequencer_enumerator.rb +89 -0
- data/lib/HDLRuby/hdr_samples/with_sequencer_func.rb +63 -0
- data/lib/HDLRuby/hdr_samples/with_sequencer_sync.rb +120 -0
- data/lib/HDLRuby/hdrcc.rb +16 -3
- data/lib/HDLRuby/hdrlib.rb +1 -1
- data/lib/HDLRuby/hruby_db.rb +2 -2
- data/lib/HDLRuby/hruby_high.rb +61 -25
- data/lib/HDLRuby/hruby_high_fullname.rb +3 -1
- data/lib/HDLRuby/hruby_low.rb +2 -2
- data/lib/HDLRuby/hruby_low2c.rb +58 -43
- data/lib/HDLRuby/hruby_low2hdr.rb +66 -40
- data/lib/HDLRuby/hruby_low2high.rb +86 -44
- data/lib/HDLRuby/hruby_low2seq.rb +26 -18
- data/lib/HDLRuby/hruby_low2sym.rb +14 -13
- data/lib/HDLRuby/hruby_low2vhd.rb +78 -43
- data/lib/HDLRuby/hruby_low_bool2select.rb +61 -46
- data/lib/HDLRuby/hruby_low_casts_without_expression.rb +56 -44
- data/lib/HDLRuby/hruby_low_cleanup.rb +18 -16
- data/lib/HDLRuby/hruby_low_fix_types.rb +64 -32
- data/lib/HDLRuby/hruby_low_mutable.rb +53 -118
- data/lib/HDLRuby/hruby_low_resolve.rb +26 -31
- data/lib/HDLRuby/hruby_low_with_bool.rb +33 -16
- data/lib/HDLRuby/hruby_low_with_port.rb +3 -3
- data/lib/HDLRuby/hruby_low_with_var.rb +23 -9
- data/lib/HDLRuby/hruby_low_without_concat.rb +19 -13
- data/lib/HDLRuby/hruby_low_without_namespace.rb +47 -32
- data/lib/HDLRuby/hruby_low_without_parinseq.rb +18 -12
- data/lib/HDLRuby/hruby_low_without_select.rb +36 -23
- data/lib/HDLRuby/hruby_low_without_subsignals.rb +79 -39
- data/lib/HDLRuby/hruby_rcsim.rb +79 -64
- data/lib/HDLRuby/hruby_rsim.rb +64 -15
- data/lib/HDLRuby/hruby_rsim_mute.rb +2 -3
- data/lib/HDLRuby/hruby_rsim_vcd.rb +28 -25
- data/lib/HDLRuby/hruby_types.rb +5 -5
- data/lib/HDLRuby/hruby_values.rb +19 -8
- data/lib/HDLRuby/hruby_verilog.rb +191 -65
- data/lib/HDLRuby/hruby_verilog_name.rb +49 -42
- data/lib/HDLRuby/soft/stacks.rb +219 -0
- data/lib/HDLRuby/std/bram.rb +9 -5
- data/lib/HDLRuby/std/clocks.rb +1 -1
- data/lib/HDLRuby/std/fsm.rb +39 -10
- data/lib/HDLRuby/std/sequencer.rb +2085 -0
- data/lib/HDLRuby/std/sequencer_func.rb +533 -0
- data/lib/HDLRuby/std/sequencer_sync.rb +400 -0
- data/lib/HDLRuby/std/std.rb +13 -0
- data/lib/HDLRuby/version.rb +1 -1
- data/tuto/adder_sat_flags_vcd.png +0 -0
- data/tuto/addsub_vcd.png +0 -0
- data/tuto/alu_vcd.png +0 -0
- data/tuto/bit_pong_vcd.png +0 -0
- data/tuto/checksum_vcd.png +0 -0
- data/tuto/circuit_hdr.odg +0 -0
- data/tuto/circuit_hdr.png +0 -0
- data/tuto/circuit_hie.odg +0 -0
- data/tuto/circuit_hie.png +0 -0
- data/tuto/circuit_view.odg +0 -0
- data/tuto/circuit_view.png +0 -0
- data/tuto/clock_counter_vcd.png +0 -0
- data/tuto/counter_ext_vcd.png +0 -0
- data/tuto/fact_vcd.png +0 -0
- data/tuto/hw_flow.odg +0 -0
- data/tuto/hw_flow.png +0 -0
- data/tuto/maxxer_vcd.png +0 -0
- data/tuto/pingpong0_vcd.png +0 -0
- data/tuto/pingpong1_vcd.png +0 -0
- data/tuto/pingpong2_vcd.png +0 -0
- data/tuto/ram_vcd.png +0 -0
- data/tuto/serializer_vcd.png +0 -0
- data/tuto/sw_flow.odg +0 -0
- data/tuto/sw_flow.png +0 -0
- data/tuto/the_counter_vcd.png +0 -0
- data/tuto/tutorial_sw.html +2359 -0
- data/tuto/tutorial_sw.md +2890 -0
- data/tuto/tutorial_sw.pdf +0 -0
- data/tuto/tutorial_sw_jp.md +417 -0
- 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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|