HDLRuby 2.6.8 → 2.6.18

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.
@@ -763,9 +763,9 @@ module HDLRuby::High
763
763
  systemTL = HDLRuby::Low::SystemT.new(HDLRuby.uniq_name(name),
764
764
  self.scope.to_low)
765
765
  # puts "New low from system #{self.name}: #{systemTL.name}"
766
- # For debugging: set the source high object
767
- systemTL.properties[:low2high] = self.hdr_id
768
- self.properties[:high2low] = systemTL
766
+ # # For debugging: set the source high object
767
+ # systemTL.properties[:low2high] = self.hdr_id
768
+ # self.properties[:high2low] = systemTL
769
769
 
770
770
  # Fills the interface of the new system
771
771
  # from the included systems.
@@ -1311,9 +1311,9 @@ module HDLRuby::High
1311
1311
  # Create the resulting low scope.
1312
1312
  # scopeL = HDLRuby::Low::Scope.new()
1313
1313
  scopeL = HDLRuby::Low::Scope.new(self.name)
1314
- # For debugging: set the source high object
1315
- scopeL.properties[:low2high] = self.hdr_id
1316
- self.properties[:high2low] = scopeL
1314
+ # # For debugging: set the source high object
1315
+ # scopeL.properties[:low2high] = self.hdr_id
1316
+ # self.properties[:high2low] = scopeL
1317
1317
 
1318
1318
  # Push the private namespace for the low generation.
1319
1319
  High.space_push(@namespace)
@@ -1545,9 +1545,9 @@ module HDLRuby::High
1545
1545
  def to_low(name = self.name)
1546
1546
  # return HDLRuby::Low::Type.new(name)
1547
1547
  typeL = HDLRuby::Low::Type.new(name)
1548
- # For debugging: set the source high object
1549
- typeL.properties[:low2high] = self.hdr_id
1550
- self.properties[:high2low] = typeL
1548
+ # # For debugging: set the source high object
1549
+ # typeL.properties[:low2high] = self.hdr_id
1550
+ # self.properties[:high2low] = typeL
1551
1551
  return typeL
1552
1552
  end
1553
1553
  end
@@ -1699,9 +1699,9 @@ module HDLRuby::High
1699
1699
  def to_low(name = self.name)
1700
1700
  # return HDLRuby::Low::TypeDef.new(name,self.def.to_low)
1701
1701
  typeDefL = HDLRuby::Low::TypeDef.new(name,self.def.to_low)
1702
- # For debugging: set the source high object
1703
- typeDefL.properties[:low2high] = self.hdr_id
1704
- self.properties[:high2low] = typeDefL
1702
+ # # For debugging: set the source high object
1703
+ # typeDefL.properties[:low2high] = self.hdr_id
1704
+ # self.properties[:high2low] = typeDefL
1705
1705
  return typeDefL
1706
1706
  end
1707
1707
  end
@@ -1752,9 +1752,9 @@ module HDLRuby::High
1752
1752
  def to_low(name = self.name)
1753
1753
  # return HDLRuby::Low::TypeDef.new(name,self.def.to_low)
1754
1754
  typeDefL = HDLRuby::Low::TypeDef.new(name,self.def.to_low)
1755
- # For debugging: set the source high object
1756
- typeDefL.properties[:low2high] = self.hdr_id
1757
- self.properties[:high2low] = typeDefL
1755
+ # # For debugging: set the source high object
1756
+ # typeDefL.properties[:low2high] = self.hdr_id
1757
+ # self.properties[:high2low] = typeDefL
1758
1758
  return typeDefL
1759
1759
  end
1760
1760
  end
@@ -1770,9 +1770,9 @@ module HDLRuby::High
1770
1770
  # self.range.to_low)
1771
1771
  typeVectorL = HDLRuby::Low::TypeVector.new(name,self.base.to_low,
1772
1772
  self.range.to_low)
1773
- # For debugging: set the source high object
1774
- typeVectorL.properties[:low2high] = self.hdr_id
1775
- self.properties[:high2low] = typeVectorL
1773
+ # # For debugging: set the source high object
1774
+ # typeVectorL.properties[:low2high] = self.hdr_id
1775
+ # self.properties[:high2low] = typeVectorL
1776
1776
  return typeVectorL
1777
1777
  end
1778
1778
  end
@@ -1850,9 +1850,9 @@ module HDLRuby::High
1850
1850
  # *@types.map { |type| type.to_low } )
1851
1851
  typeTupleL = HDLRuby::Low::TypeTuple.new(name,self.direction,
1852
1852
  *@types.map { |type| type.to_low } )
1853
- # For debugging: set the source high object
1854
- typeTupleL.properties[:low2high] = self.hdr_id
1855
- self.properties[:high2low] = typeTupleL
1853
+ # # For debugging: set the source high object
1854
+ # typeTupleL.properties[:low2high] = self.hdr_id
1855
+ # self.properties[:high2low] = typeTupleL
1856
1856
  return typeTupleL
1857
1857
  end
1858
1858
  end
@@ -1871,9 +1871,9 @@ module HDLRuby::High
1871
1871
  # @types.map { |name,type| [name,type.to_low] } )
1872
1872
  typeStructL = HDLRuby::Low::TypeStruct.new(name,self.direction,
1873
1873
  @types.map { |name,type| [name,type.to_low] } )
1874
- # For debugging: set the source high object
1875
- typeStructL.properties[:low2high] = self.hdr_id
1876
- self.properties[:high2low] = typeStructL
1874
+ # # For debugging: set the source high object
1875
+ # typeStructL.properties[:low2high] = self.hdr_id
1876
+ # self.properties[:high2low] = typeStructL
1877
1877
  return typeStructL
1878
1878
  end
1879
1879
  end
@@ -2111,9 +2111,9 @@ module HDLRuby::High
2111
2111
  # Creates the resulting HDLRuby::Low instance
2112
2112
  systemIL = HDLRuby::Low::SystemI.new(High.names_create(name),
2113
2113
  systemTL)
2114
- # For debugging: set the source high object
2115
- systemIL.properties[:low2high] = self.hdr_id
2116
- self.properties[:high2low] = systemIL
2114
+ # # For debugging: set the source high object
2115
+ # systemIL.properties[:low2high] = self.hdr_id
2116
+ # self.properties[:high2low] = systemIL
2117
2117
  # Adds the other systemTs.
2118
2118
  self.each_systemT do |systemT|
2119
2119
  systemIL.add_systemT(systemT.to_low) unless systemT == self.systemT
@@ -2139,9 +2139,9 @@ module HDLRuby::High
2139
2139
  lump = lump.respond_to?(:to_low) ? lump.to_low : lump.to_s
2140
2140
  lump
2141
2141
  end)
2142
- # For debugging: set the source high object
2143
- chunkL.properties[:low2high] = self.hdr_id
2144
- self.properties[:high2low] = chunkL
2142
+ # # For debugging: set the source high object
2143
+ # chunkL.properties[:low2high] = self.hdr_id
2144
+ # self.properties[:high2low] = chunkL
2145
2145
  return chunkL
2146
2146
  end
2147
2147
  end
@@ -2153,9 +2153,9 @@ module HDLRuby::High
2153
2153
  def to_low
2154
2154
  # Create the resulting code.
2155
2155
  codeL = HDLRuby::Low::Code.new
2156
- # For debugging: set the source high object
2157
- codeL.properties[:low2high] = self.hdr_id
2158
- self.properties[:high2low] = codeL
2156
+ # # For debugging: set the source high object
2157
+ # codeL.properties[:low2high] = self.hdr_id
2158
+ # self.properties[:high2low] = codeL
2159
2159
  # Add the low-level events.
2160
2160
  self.each_event { |event| codeL.add_event(event.to_low) }
2161
2161
  # Add the low-level code chunks.
@@ -2247,9 +2247,9 @@ module HDLRuby::High
2247
2247
  ifL = HDLRuby::Low::If.new(self.condition.to_low,
2248
2248
  self.yes.to_low,noL)
2249
2249
  self.each_noif {|cond,block| ifL.add_noif(cond.to_low,block.to_low)}
2250
- # For debugging: set the source high object
2251
- ifL.properties[:low2high] = self.hdr_id
2252
- self.properties[:high2low] = ifL
2250
+ # # For debugging: set the source high object
2251
+ # ifL.properties[:low2high] = self.hdr_id
2252
+ # self.properties[:high2low] = ifL
2253
2253
  return ifL
2254
2254
  end
2255
2255
  end
@@ -2272,9 +2272,9 @@ module HDLRuby::High
2272
2272
  # self.statement.to_low)
2273
2273
  whenL = HDLRuby::Low::When.new(self.match.to_low,
2274
2274
  self.statement.to_low)
2275
- # For debugging: set the source high object
2276
- whenL.properties[:low2high] = self.hdr_id
2277
- self.properties[:high2low] = whenL
2275
+ # # For debugging: set the source high object
2276
+ # whenL.properties[:low2high] = self.hdr_id
2277
+ # self.properties[:high2low] = whenL
2278
2278
  return whenL
2279
2279
  end
2280
2280
  end
@@ -2320,9 +2320,9 @@ module HDLRuby::High
2320
2320
  def to_low
2321
2321
  # Create the low level case.
2322
2322
  caseL = HDLRuby::Low::Case.new(@value.to_low)
2323
- # For debugging: set the source high object
2324
- caseL.properties[:low2high] = self.hdr_id
2325
- self.properties[:high2low] = caseL
2323
+ # # For debugging: set the source high object
2324
+ # caseL.properties[:low2high] = self.hdr_id
2325
+ # self.properties[:high2low] = caseL
2326
2326
  # Add each when case.
2327
2327
  self.each_when do |w|
2328
2328
  caseL.add_when(w.to_low)
@@ -2351,9 +2351,9 @@ module HDLRuby::High
2351
2351
  def to_low
2352
2352
  # return HDLRuby::Low::Delay.new(self.value, self.unit)
2353
2353
  delayL = HDLRuby::Low::Delay.new(self.value, self.unit)
2354
- # For debugging: set the source high object
2355
- delayL.properties[:low2high] = self.hdr_id
2356
- self.properties[:high2low] = delayL
2354
+ # # For debugging: set the source high object
2355
+ # delayL.properties[:low2high] = self.hdr_id
2356
+ # self.properties[:high2low] = delayL
2357
2357
  return delayL
2358
2358
  end
2359
2359
  end
@@ -2367,9 +2367,9 @@ module HDLRuby::High
2367
2367
  def to_low
2368
2368
  # return HDLRuby::Low::TimeWait.new(self.delay.to_low)
2369
2369
  timeWaitL = HDLRuby::Low::TimeWait.new(self.delay.to_low)
2370
- # For debugging: set the source high object
2371
- timeWaitL.properties[:low2high] = self.hdr_id
2372
- self.properties[:high2low] = timeWaitL
2370
+ # # For debugging: set the source high object
2371
+ # timeWaitL.properties[:low2high] = self.hdr_id
2372
+ # self.properties[:high2low] = timeWaitL
2373
2373
  return timeWaitL
2374
2374
  end
2375
2375
  end
@@ -2386,9 +2386,9 @@ module HDLRuby::High
2386
2386
  # self.delay.to_low)
2387
2387
  timeRepeatL = HDLRuby::Low::TimeRepeat.new(self.statement.to_low,
2388
2388
  self.delay.to_low)
2389
- # For debugging: set the source high object
2390
- timeRepeatL.properties[:low2high] = self.hdr_id
2391
- self.properties[:high2low] = timeRepeatL
2389
+ # # For debugging: set the source high object
2390
+ # timeRepeatL.properties[:low2high] = self.hdr_id
2391
+ # self.properties[:high2low] = timeRepeatL
2392
2392
  return timeRepeatL
2393
2393
  end
2394
2394
  end
@@ -2746,9 +2746,9 @@ module HDLRuby::High
2746
2746
  def to_low
2747
2747
  # return HDLRuby::Low::Cast.new(self.type.to_low,self.child.to_low)
2748
2748
  castL =HDLRuby::Low::Cast.new(self.type.to_low,self.child.to_low)
2749
- # For debugging: set the source high object
2750
- castL.properties[:low2high] = self.hdr_id
2751
- self.properties[:high2low] = castL
2749
+ # # For debugging: set the source high object
2750
+ # castL.properties[:low2high] = self.hdr_id
2751
+ # self.properties[:high2low] = castL
2752
2752
  return castL
2753
2753
  end
2754
2754
  end
@@ -2770,9 +2770,9 @@ module HDLRuby::High
2770
2770
  # self.child.to_low)
2771
2771
  unaryL = HDLRuby::Low::Unary.new(self.type.to_low, self.operator,
2772
2772
  self.child.to_low)
2773
- # For debugging: set the source high object
2774
- unaryL.properties[:low2high] = self.hdr_id
2775
- self.properties[:high2low] = unaryL
2773
+ # # For debugging: set the source high object
2774
+ # unaryL.properties[:low2high] = self.hdr_id
2775
+ # self.properties[:high2low] = unaryL
2776
2776
  return unaryL
2777
2777
  end
2778
2778
  end
@@ -2795,9 +2795,9 @@ module HDLRuby::High
2795
2795
  # self.left.to_low, self.right.to_low)
2796
2796
  binaryL = HDLRuby::Low::Binary.new(self.type.to_low, self.operator,
2797
2797
  self.left.to_low, self.right.to_low)
2798
- # For debugging: set the source high object
2799
- binaryL.properties[:low2high] = self.hdr_id
2800
- self.properties[:high2low] = binaryL
2798
+ # # For debugging: set the source high object
2799
+ # binaryL.properties[:low2high] = self.hdr_id
2800
+ # self.properties[:high2low] = binaryL
2801
2801
  return binaryL
2802
2802
  end
2803
2803
  end
@@ -2830,9 +2830,9 @@ module HDLRuby::High
2830
2830
  *self.each_choice.map do |choice|
2831
2831
  choice.to_low
2832
2832
  end)
2833
- # For debugging: set the source high object
2834
- selectL.properties[:low2high] = self.hdr_id
2835
- self.properties[:high2low] = selectL
2833
+ # # For debugging: set the source high object
2834
+ # selectL.properties[:low2high] = self.hdr_id
2835
+ # self.properties[:high2low] = selectL
2836
2836
  return selectL
2837
2837
  end
2838
2838
  end
@@ -2864,9 +2864,9 @@ module HDLRuby::High
2864
2864
  expr.to_low
2865
2865
  end
2866
2866
  )
2867
- # For debugging: set the source high object
2868
- concatL.properties[:low2high] = self.hdr_id
2869
- self.properties[:high2low] = concatL
2867
+ # # For debugging: set the source high object
2868
+ # concatL.properties[:low2high] = self.hdr_id
2869
+ # self.properties[:high2low] = concatL
2870
2870
  return concatL
2871
2871
  end
2872
2872
  end
@@ -2908,9 +2908,9 @@ module HDLRuby::High
2908
2908
  # Create and return the resulting low-level value
2909
2909
  # return HDLRuby::Low::Value.new(self.type.to_low,self.content)
2910
2910
  valueL = HDLRuby::Low::Value.new(self.type.to_low,self.content)
2911
- # For debugging: set the source high object
2912
- valueL.properties[:low2high] = self.hdr_id
2913
- self.properties[:high2low] = valueL
2911
+ # # For debugging: set the source high object
2912
+ # valueL.properties[:low2high] = self.hdr_id
2913
+ # self.properties[:high2low] = valueL
2914
2914
  return valueL
2915
2915
  end
2916
2916
 
@@ -3016,9 +3016,9 @@ module HDLRuby::High
3016
3016
  # puts "to_low with base=#{@base} @object=#{@object}"
3017
3017
  refNameL = HDLRuby::Low::RefName.new(self.type.to_low,
3018
3018
  @base.to_ref.to_low,@object.name)
3019
- # For debugging: set the source high object
3020
- refNameL.properties[:low2high] = self.hdr_id
3021
- self.properties[:high2low] = refNameL
3019
+ # # For debugging: set the source high object
3020
+ # refNameL.properties[:low2high] = self.hdr_id
3021
+ # self.properties[:high2low] = refNameL
3022
3022
  return refNameL
3023
3023
  end
3024
3024
 
@@ -3056,9 +3056,9 @@ module HDLRuby::High
3056
3056
  ref.to_low
3057
3057
  end
3058
3058
  )
3059
- # For debugging: set the source high object
3060
- refConcatL.properties[:low2high] = self.hdr_id
3061
- self.properties[:high2low] = refConcatL
3059
+ # # For debugging: set the source high object
3060
+ # refConcatL.properties[:low2high] = self.hdr_id
3061
+ # self.properties[:high2low] = refConcatL
3062
3062
  return refConcatL
3063
3063
  end
3064
3064
  end
@@ -3080,9 +3080,9 @@ module HDLRuby::High
3080
3080
  # self.ref.to_low,self.index.to_low)
3081
3081
  refIndexL = HDLRuby::Low::RefIndex.new(self.type.to_low,
3082
3082
  self.ref.to_low,self.index.to_low)
3083
- # For debugging: set the source high object
3084
- refIndexL.properties[:low2high] = self.hdr_id
3085
- self.properties[:high2low] = refIndexL
3083
+ # # For debugging: set the source high object
3084
+ # refIndexL.properties[:low2high] = self.hdr_id
3085
+ # self.properties[:high2low] = refIndexL
3086
3086
  return refIndexL
3087
3087
  end
3088
3088
  end
@@ -3104,9 +3104,9 @@ module HDLRuby::High
3104
3104
  # self.ref.to_low,self.range.to_low)
3105
3105
  refRangeL = HDLRuby::Low::RefRange.new(self.type.to_low,
3106
3106
  self.ref.to_low,self.range.to_low)
3107
- # For debugging: set the source high object
3108
- refRangeL.properties[:low2high] = self.hdr_id
3109
- self.properties[:high2low] = refRangeL
3107
+ # # For debugging: set the source high object
3108
+ # refRangeL.properties[:low2high] = self.hdr_id
3109
+ # self.properties[:high2low] = refRangeL
3110
3110
  return refRangeL
3111
3111
  end
3112
3112
  end
@@ -3127,9 +3127,9 @@ module HDLRuby::High
3127
3127
  # self.ref.to_low,self.name)
3128
3128
  refNameL = HDLRuby::Low::RefName.new(self.type.to_low,
3129
3129
  self.ref.to_low,self.name)
3130
- # For debugging: set the source high object
3131
- refNameL.properties[:low2high] = self.hdr_id
3132
- self.properties[:high2low] = refNameL
3130
+ # # For debugging: set the source high object
3131
+ # refNameL.properties[:low2high] = self.hdr_id
3132
+ # self.properties[:high2low] = refNameL
3133
3133
  return refNameL
3134
3134
  end
3135
3135
  end
@@ -3164,9 +3164,9 @@ module HDLRuby::High
3164
3164
  def to_low
3165
3165
  # return HDLRuby::Low::RefThis.new
3166
3166
  refThisL = HDLRuby::Low::RefThis.new
3167
- # For debugging: set the source high object
3168
- refThisL.properties[:low2high] = self.hdr_id
3169
- self.properties[:high2low] = refThisL
3167
+ # # For debugging: set the source high object
3168
+ # refThisL.properties[:low2high] = self.hdr_id
3169
+ # self.properties[:high2low] = refThisL
3170
3170
  return refThisL
3171
3171
  end
3172
3172
  end
@@ -3237,9 +3237,9 @@ module HDLRuby::High
3237
3237
  def to_low
3238
3238
  # return HDLRuby::Low::Event.new(self.type,self.ref.to_low)
3239
3239
  eventL = HDLRuby::Low::Event.new(self.type,self.ref.to_low)
3240
- # For debugging: set the source high object
3241
- eventL.properties[:low2high] = self.hdr_id
3242
- self.properties[:high2low] = eventL
3240
+ # # For debugging: set the source high object
3241
+ # eventL.properties[:low2high] = self.hdr_id
3242
+ # self.properties[:high2low] = eventL
3243
3243
  return eventL
3244
3244
  end
3245
3245
  end
@@ -3280,9 +3280,9 @@ module HDLRuby::High
3280
3280
  # self.right.to_low)
3281
3281
  transmitL = HDLRuby::Low::Transmit.new(self.left.to_low,
3282
3282
  self.right.to_low)
3283
- # For debugging: set the source high object
3284
- transmitL.properties[:low2high] = self.hdr_id
3285
- self.properties[:high2low] = transmitL
3283
+ # # For debugging: set the source high object
3284
+ # transmitL.properties[:low2high] = self.hdr_id
3285
+ # self.properties[:high2low] = transmitL
3286
3286
  return transmitL
3287
3287
  end
3288
3288
  end
@@ -3373,9 +3373,9 @@ module HDLRuby::High
3373
3373
  # self.right.to_low)
3374
3374
  connectionL = HDLRuby::Low::Connection.new(self.left.to_low,
3375
3375
  self.right.to_low)
3376
- # For debugging: set the source high object
3377
- connectionL.properties[:low2high] = self.hdr_id
3378
- self.properties[:high2low] = connectionL
3376
+ # # For debugging: set the source high object
3377
+ # connectionL.properties[:low2high] = self.hdr_id
3378
+ # self.properties[:high2low] = connectionL
3379
3379
  return connectionL
3380
3380
  end
3381
3381
  end
@@ -3487,9 +3487,9 @@ module HDLRuby::High
3487
3487
  def to_low(name = self.name)
3488
3488
  # return HDLRuby::Low::SignalI.new(name,self.type.to_low)
3489
3489
  signalIL = HDLRuby::Low::SignalI.new(name,self.type.to_low)
3490
- # For debugging: set the source high object
3491
- signalIL.properties[:low2high] = self.hdr_id
3492
- self.properties[:high2low] = signalIL
3490
+ # # For debugging: set the source high object
3491
+ # signalIL.properties[:low2high] = self.hdr_id
3492
+ # self.properties[:high2low] = signalIL
3493
3493
  return signalIL
3494
3494
  end
3495
3495
  end
@@ -3553,9 +3553,9 @@ module HDLRuby::High
3553
3553
  # self.value.to_low)
3554
3554
  signalCL = HDLRuby::Low::SignalC.new(name,self.type.to_low,
3555
3555
  self.value.to_low)
3556
- # For debugging: set the source high object
3557
- signalCL.properties[:low2high] = self.hdr_id
3558
- self.properties[:high2low] = signalCL
3556
+ # # For debugging: set the source high object
3557
+ # signalCL.properties[:low2high] = self.hdr_id
3558
+ # self.properties[:high2low] = signalCL
3559
3559
  return signalCL
3560
3560
  end
3561
3561
  end
@@ -3766,9 +3766,9 @@ module HDLRuby::High
3766
3766
  def to_low
3767
3767
  # Create the resulting block
3768
3768
  blockL = HDLRuby::Low::Block.new(self.mode)
3769
- # For debugging: set the source high object
3770
- blockL.properties[:low2high] = self.hdr_id
3771
- self.properties[:high2low] = blockL
3769
+ # # For debugging: set the source high object
3770
+ # blockL.properties[:low2high] = self.hdr_id
3771
+ # self.properties[:high2low] = blockL
3772
3772
  # Push the namespace for the low generation.
3773
3773
  High.space_push(@namespace)
3774
3774
  # Pushes on the name stack for converting the internals of
@@ -3836,9 +3836,9 @@ module HDLRuby::High
3836
3836
  def to_low
3837
3837
  # Create the resulting block
3838
3838
  blockL = HDLRuby::Low::TimeBlock.new(self.mode)
3839
- # For debugging: set the source high object
3840
- blockL.properties[:low2high] = self.hdr_id
3841
- self.properties[:high2low] = blockL
3839
+ # # For debugging: set the source high object
3840
+ # blockL.properties[:low2high] = self.hdr_id
3841
+ # self.properties[:high2low] = blockL
3842
3842
  # Add the inner signals
3843
3843
  self.each_inner { |inner| blockL.add_inner(inner.to_low) }
3844
3844
  # Add the statements
@@ -3930,9 +3930,9 @@ module HDLRuby::High
3930
3930
  eventLs = self.each_event.map { |event| event.to_low }
3931
3931
  # Create and return the resulting low level behavior.
3932
3932
  behaviorL = HDLRuby::Low::Behavior.new(blockL)
3933
- # For debugging: set the source high object
3934
- behaviorL.properties[:low2high] = self.hdr_id
3935
- self.properties[:high2low] = behaviorL
3933
+ # # For debugging: set the source high object
3934
+ # behaviorL.properties[:low2high] = self.hdr_id
3935
+ # self.properties[:high2low] = behaviorL
3936
3936
  eventLs.each(&behaviorL.method(:add_event))
3937
3937
  return behaviorL
3938
3938
  end
@@ -3960,9 +3960,9 @@ module HDLRuby::High
3960
3960
  eventLs = self.each_event.map { |event| event.to_low }
3961
3961
  # Create and return the resulting low level behavior.
3962
3962
  timeBehaviorL = HDLRuby::Low::TimeBehavior.new(blockL)
3963
- # For debugging: set the source high object
3964
- timeBehaviorL.properties[:low2high] = self.hdr_id
3965
- self.properties[:high2low] = timeBehaviorL
3963
+ # # For debugging: set the source high object
3964
+ # timeBehaviorL.properties[:low2high] = self.hdr_id
3965
+ # self.properties[:high2low] = timeBehaviorL
3966
3966
  eventLs.each(&timeBehaviorL.method(:add_event))
3967
3967
  return timeBehaviorL
3968
3968
  end
@@ -4237,6 +4237,22 @@ module HDLRuby::High
4237
4237
  # end
4238
4238
  # end
4239
4239
 
4240
+ # Extends the TrueClass class for computing for conversion to expression.
4241
+ class ::TrueClass
4242
+ # Converts to a new high-level expression.
4243
+ def to_expr
4244
+ return Value.new(Integer,1)
4245
+ end
4246
+ end
4247
+
4248
+ # Extends the FalseClass class for computing for conversion to expression.
4249
+ class ::FalseClass
4250
+ # Converts to a new high-level expression.
4251
+ def to_expr
4252
+ return Value.new(Integer,0)
4253
+ end
4254
+ end
4255
+
4240
4256
  # Extends the Integer class for computing for conversion to expression.
4241
4257
  class ::Integer
4242
4258
  # Converts to a new high-level expression.
@@ -1,6 +1,6 @@
1
1
  require "HDLRuby/hruby_bstr"
2
2
  require "HDLRuby/hruby_error"
3
- require "HDLRuby/hruby_decorator"
3
+ # require "HDLRuby/hruby_decorator"
4
4
  require 'forwardable'
5
5
 
6
6
 
@@ -36,7 +36,7 @@ module HDLRuby::Low
36
36
  end
37
37
 
38
38
 
39
- Hdecorator = HDLRuby::Hdecorator
39
+ # Hdecorator = HDLRuby::Hdecorator
40
40
 
41
41
  ##
42
42
  # Gives parent definition and access properties to an hardware object.
@@ -118,8 +118,8 @@ module HDLRuby::Low
118
118
  end
119
119
  end
120
120
 
121
- # Add decorator capability (modifies intialize to put after).
122
- include Hdecorator
121
+ # # Add decorator capability (modifies intialize to put after).
122
+ # include Hdecorator
123
123
 
124
124
  # Comparison for hash: structural comparison.
125
125
  def eql?(obj)
@@ -455,8 +455,8 @@ module HDLRuby::Low
455
455
  @behaviors = []
456
456
  end
457
457
 
458
- # Add decorator capability (modifies intialize to put after).
459
- include Hdecorator
458
+ # # Add decorator capability (modifies intialize to put after).
459
+ # include Hdecorator
460
460
 
461
461
  # Comparison for hash: structural comparison.
462
462
  def eql?(obj)
@@ -1221,8 +1221,8 @@ module HDLRuby::Low
1221
1221
  @name = name.to_sym
1222
1222
  end
1223
1223
 
1224
- # Add decorator capability (modifies intialize to put after).
1225
- include Hdecorator
1224
+ # # Add decorator capability (modifies intialize to put after).
1225
+ # include Hdecorator
1226
1226
 
1227
1227
  # Comparison for hash: structural comparison.
1228
1228
  def eql?(obj)
@@ -2124,8 +2124,8 @@ module HDLRuby::Low
2124
2124
  # @block = block
2125
2125
  end
2126
2126
 
2127
- # Add decorator capability (modifies intialize to put after).
2128
- include Hdecorator
2127
+ # # Add decorator capability (modifies intialize to put after).
2128
+ # include Hdecorator
2129
2129
 
2130
2130
  # Sets the block if not already set.
2131
2131
  def block=(block)
@@ -2348,8 +2348,8 @@ module HDLRuby::Low
2348
2348
  ref.parent = self
2349
2349
  end
2350
2350
 
2351
- # Add decorator capability (modifies intialize to put after).
2352
- include Hdecorator
2351
+ # # Add decorator capability (modifies intialize to put after).
2352
+ # include Hdecorator
2353
2353
 
2354
2354
  # Comparison for hash: structural comparison.
2355
2355
  def eql?(obj)
@@ -2432,8 +2432,8 @@ module HDLRuby::Low
2432
2432
  false
2433
2433
  end
2434
2434
 
2435
- # Add decorator capability (modifies intialize to put after).
2436
- include Hdecorator
2435
+ # # Add decorator capability (modifies intialize to put after).
2436
+ # include Hdecorator
2437
2437
 
2438
2438
  # Iterates over each object deeply.
2439
2439
  #
@@ -2517,8 +2517,8 @@ module HDLRuby::Low
2517
2517
  @systemTs = [ @systemT ]
2518
2518
  end
2519
2519
 
2520
- # Add decorator capability (modifies intialize to put after).
2521
- include Hdecorator
2520
+ # # Add decorator capability (modifies intialize to put after).
2521
+ # include Hdecorator
2522
2522
 
2523
2523
  # Iterates over each object deeply.
2524
2524
  #
@@ -2649,8 +2649,8 @@ module HDLRuby::Low
2649
2649
  lumps.each { |lump| self.add_lump(lump) }
2650
2650
  end
2651
2651
 
2652
- # Add decorator capability (modifies intialize to put after).
2653
- include Hdecorator
2652
+ # # Add decorator capability (modifies intialize to put after).
2653
+ # include Hdecorator
2654
2654
 
2655
2655
  # Adds a +lump+ of code, it is ment to become an expression or
2656
2656
  # some text.
@@ -2698,8 +2698,8 @@ module HDLRuby::Low
2698
2698
  @chunks = HashName.new
2699
2699
  end
2700
2700
 
2701
- # Add decorator capability (modifies intialize to put after).
2702
- include Hdecorator
2701
+ # # Add decorator capability (modifies intialize to put after).
2702
+ # include Hdecorator
2703
2703
 
2704
2704
  # Adds a +chunk+ to the sensitivity list.
2705
2705
  def add_chunk(chunk)
@@ -2810,7 +2810,7 @@ module HDLRuby::Low
2810
2810
  # NOTE: this is an abstract class which is not to be used directly.
2811
2811
  class Statement
2812
2812
  include Hparent
2813
- include Hdecorator
2813
+ # include Hdecorator
2814
2814
 
2815
2815
  # Clones (deeply)
2816
2816
  def clone
@@ -3298,8 +3298,8 @@ module HDLRuby::Low
3298
3298
  match.parent = statement.parent = self
3299
3299
  end
3300
3300
 
3301
- # Add decorator capability (modifies intialize to put after).
3302
- include Hdecorator
3301
+ # # Add decorator capability (modifies intialize to put after).
3302
+ # include Hdecorator
3303
3303
 
3304
3304
  # Iterates over each object deeply.
3305
3305
  #
@@ -3623,8 +3623,8 @@ module HDLRuby::Low
3623
3623
  @unit = unit.to_sym
3624
3624
  end
3625
3625
 
3626
- # Add decorator capability (modifies intialize to put after).
3627
- include Hdecorator
3626
+ # # Add decorator capability (modifies intialize to put after).
3627
+ # include Hdecorator
3628
3628
 
3629
3629
  # Iterates over each object deeply.
3630
3630
  #
@@ -4333,8 +4333,8 @@ module HDLRuby::Low
4333
4333
  end
4334
4334
  end
4335
4335
 
4336
- # Add decorator capability (modifies intialize to put after).
4337
- include Hdecorator
4336
+ # # Add decorator capability (modifies intialize to put after).
4337
+ # include Hdecorator
4338
4338
 
4339
4339
  # Comparison for hash: structural comparison.
4340
4340
  def eql?(obj)
@@ -1570,7 +1570,9 @@ module HDLRuby::Low
1570
1570
  # puts "content=#{self.content} str=#{str}"
1571
1571
  end
1572
1572
  # Is it a fully defined number?
1573
- if str =~ /^[01]+$/ then
1573
+ # NOTE: bignum values are not supported by the simulation engine
1574
+ # yet, therefore numeric values are limited to 64 max.
1575
+ if str =~ /^[01]+$/ && str.length <= 64 then
1574
1576
  # Yes, generate a numeral value.
1575
1577
  res << " " * (level+1)*3
1576
1578
  res << "static unsigned long long data[] = { "