HDLRuby 2.6.8 → 2.6.18

Sign up to get free protection for your applications and to get access to all the features.
@@ -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[] = { "