HDLRuby 2.10.3 → 2.11.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/HDLRuby.gemspec +1 -0
- data/README.md +8 -4
- data/Rakefile +8 -0
- data/{lib/HDLRuby/sim/Makefile → ext/hruby_sim/Makefile_csim} +0 -0
- data/ext/hruby_sim/extconf.rb +13 -0
- data/ext/hruby_sim/hruby_rcsim_build.c +1188 -0
- data/{lib/HDLRuby/sim → ext/hruby_sim}/hruby_sim.h +255 -16
- data/{lib/HDLRuby/sim → ext/hruby_sim}/hruby_sim_calc.c +310 -181
- data/{lib/HDLRuby/sim → ext/hruby_sim}/hruby_sim_core.c +34 -17
- data/{lib/HDLRuby/sim → ext/hruby_sim}/hruby_sim_list.c +0 -0
- data/{lib/HDLRuby/sim → ext/hruby_sim}/hruby_sim_stack_calc.c +4 -1
- data/{lib/HDLRuby/sim → ext/hruby_sim}/hruby_sim_stack_calc.c.sav +0 -0
- data/ext/hruby_sim/hruby_sim_tree_calc.c +375 -0
- data/{lib/HDLRuby/sim → ext/hruby_sim}/hruby_sim_vcd.c +5 -5
- data/{lib/HDLRuby/sim → ext/hruby_sim}/hruby_sim_vizualize.c +2 -2
- data/{lib/HDLRuby/sim → ext/hruby_sim}/hruby_value_pool.c +4 -1
- data/lib/HDLRuby/hdr_samples/bstr_bench.rb +2 -0
- data/lib/HDLRuby/hdr_samples/case_bench.rb +2 -2
- data/lib/HDLRuby/hdr_samples/counter_bench.rb +0 -1
- data/lib/HDLRuby/hdr_samples/counter_dff_bench.rb +46 -0
- data/lib/HDLRuby/hdr_samples/dff_bench.rb +4 -1
- data/lib/HDLRuby/hdr_samples/dff_override.rb +76 -0
- data/lib/HDLRuby/hdr_samples/print_bench.rb +62 -0
- data/lib/HDLRuby/hdr_samples/rom.rb +5 -3
- data/lib/HDLRuby/hdr_samples/simple_counter_bench.rb +43 -0
- data/lib/HDLRuby/hdr_samples/with_values.rb +14 -0
- data/lib/HDLRuby/hdrcc.rb +84 -21
- data/lib/HDLRuby/hruby_bstr.rb +1175 -917
- data/lib/HDLRuby/hruby_high.rb +267 -97
- data/lib/HDLRuby/hruby_high_fullname.rb +82 -0
- data/lib/HDLRuby/hruby_low.rb +110 -71
- data/lib/HDLRuby/hruby_low2c.rb +7 -0
- data/lib/HDLRuby/hruby_low_mutable.rb +1 -1
- data/lib/HDLRuby/hruby_low_without_namespace.rb +2 -1
- data/lib/HDLRuby/hruby_rcsim.rb +978 -0
- data/lib/HDLRuby/hruby_rsim.rb +1134 -0
- data/lib/HDLRuby/hruby_rsim_vcd.rb +322 -0
- data/lib/HDLRuby/hruby_values.rb +362 -18
- data/lib/HDLRuby/hruby_verilog.rb +21 -3
- data/lib/HDLRuby/std/handshakes.rb +1 -1
- data/lib/HDLRuby/version.rb +1 -1
- metadata +25 -13
@@ -0,0 +1,82 @@
|
|
1
|
+
require "HDLRuby/hruby_high"
|
2
|
+
|
3
|
+
|
4
|
+
|
5
|
+
module HDLRuby::High
|
6
|
+
|
7
|
+
##
|
8
|
+
# Library for describing adding the fullname method to HDLRuby::High objects.
|
9
|
+
#
|
10
|
+
########################################################################
|
11
|
+
|
12
|
+
class SystemT
|
13
|
+
|
14
|
+
## Returns the name of the signal with its hierarchy.
|
15
|
+
def fullname
|
16
|
+
@fullname ||= (self.parent ? self.parent.fullname + ":" : "") +
|
17
|
+
self.name.to_s
|
18
|
+
return @fullname
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
|
23
|
+
##
|
24
|
+
# Module for extending named classes with fullname (other than SystemT).
|
25
|
+
module WithFullname
|
26
|
+
|
27
|
+
## Returns the name of the signal with its hierarchy.
|
28
|
+
def fullname
|
29
|
+
@fullname ||= self.parent.fullname + ":" + self.name.to_s
|
30
|
+
return @fullname
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
34
|
+
|
35
|
+
class Scope
|
36
|
+
include WithFullname
|
37
|
+
end
|
38
|
+
|
39
|
+
|
40
|
+
class Behavior
|
41
|
+
|
42
|
+
## Returns the name of the signal with its hierarchy.
|
43
|
+
def fullname
|
44
|
+
return self.parent.fullname
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
|
49
|
+
class TimeBehavior
|
50
|
+
|
51
|
+
## Returns the name of the signal with its hierarchy.
|
52
|
+
def fullname
|
53
|
+
return self.parent.fullname
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
|
58
|
+
class SignalI
|
59
|
+
include WithFullname
|
60
|
+
end
|
61
|
+
|
62
|
+
class SignalC
|
63
|
+
include WithFullname
|
64
|
+
end
|
65
|
+
|
66
|
+
class SystemI
|
67
|
+
include WithFullname
|
68
|
+
end
|
69
|
+
|
70
|
+
class Code
|
71
|
+
# TODO
|
72
|
+
end
|
73
|
+
|
74
|
+
class Block
|
75
|
+
include WithFullname
|
76
|
+
end
|
77
|
+
|
78
|
+
class TimeBlock
|
79
|
+
include WithFullname
|
80
|
+
end
|
81
|
+
|
82
|
+
end
|
data/lib/HDLRuby/hruby_low.rb
CHANGED
@@ -57,6 +57,11 @@ module HDLRuby::Low
|
|
57
57
|
end
|
58
58
|
end
|
59
59
|
|
60
|
+
# Clears the parent.
|
61
|
+
def no_parent!
|
62
|
+
@parent = nil
|
63
|
+
end
|
64
|
+
|
60
65
|
# Get the parent scope.
|
61
66
|
def scope
|
62
67
|
cur = self.parent
|
@@ -190,14 +195,22 @@ module HDLRuby::Low
|
|
190
195
|
raise AnyError,
|
191
196
|
"Invalid class for a signal instance: #{signal.class}"
|
192
197
|
end
|
198
|
+
# if @inputs.include?(signal) then
|
199
|
+
# raise AnyError, "SignalI #{signal.name} already present."
|
200
|
+
# end
|
193
201
|
if @inputs.include?(signal) then
|
194
|
-
|
202
|
+
signal.parent = self
|
203
|
+
# Replace the signal.
|
204
|
+
old_signal = @inputs[signal.name]
|
205
|
+
@inputs.add(signal)
|
206
|
+
@interface[@interface.index(old_signal)] = signal
|
207
|
+
else
|
208
|
+
# Set the parent of the signal.
|
209
|
+
signal.parent = self
|
210
|
+
# And add the signal.
|
211
|
+
@inputs.add(signal)
|
212
|
+
@interface << signal
|
195
213
|
end
|
196
|
-
# Set the parent of the signal.
|
197
|
-
signal.parent = self
|
198
|
-
# And add the signal.
|
199
|
-
@inputs.add(signal)
|
200
|
-
@interface << signal
|
201
214
|
return signal
|
202
215
|
end
|
203
216
|
|
@@ -208,14 +221,22 @@ module HDLRuby::Low
|
|
208
221
|
raise AnyError,
|
209
222
|
"Invalid class for a signal instance: #{signal.class}"
|
210
223
|
end
|
224
|
+
# if @outputs.include?(signal) then
|
225
|
+
# raise AnyError, "SignalI #{signal.name} already present."
|
226
|
+
# end
|
211
227
|
if @outputs.include?(signal) then
|
212
|
-
|
228
|
+
signal.parent = self
|
229
|
+
# Replace the signal.
|
230
|
+
old_signal = @outputs[signal.name]
|
231
|
+
@outputs.add(signal)
|
232
|
+
@interface[@interface.index(old_signal)] = signal
|
233
|
+
else
|
234
|
+
# Set the parent of the signal.
|
235
|
+
signal.parent = self
|
236
|
+
# And add the signal.
|
237
|
+
@outputs.add(signal)
|
238
|
+
@interface << signal
|
213
239
|
end
|
214
|
-
# Set the parent of the signal.
|
215
|
-
signal.parent = self
|
216
|
-
# And add the signal.
|
217
|
-
@outputs.add(signal)
|
218
|
-
@interface << signal
|
219
240
|
return signal
|
220
241
|
end
|
221
242
|
|
@@ -226,14 +247,22 @@ module HDLRuby::Low
|
|
226
247
|
raise AnyError,
|
227
248
|
"Invalid class for a signal instance: #{signal.class}"
|
228
249
|
end
|
250
|
+
# if @inouts.include?(signal) then
|
251
|
+
# raise AnyError, "SignalI #{signal.name} already present."
|
252
|
+
# end
|
229
253
|
if @inouts.include?(signal) then
|
230
|
-
|
254
|
+
signal.parent = self
|
255
|
+
# Replace the signal.
|
256
|
+
old_signal = @inouts[signal.name]
|
257
|
+
@inouts.add(signal)
|
258
|
+
@interface[@interface.index(old_signal)] = signal
|
259
|
+
else
|
260
|
+
# Set the parent of the signal.
|
261
|
+
signal.parent = self
|
262
|
+
# And add the signal.
|
263
|
+
@inouts.add(signal)
|
264
|
+
@interface << signal
|
231
265
|
end
|
232
|
-
# Set the parent of the signal.
|
233
|
-
signal.parent = self
|
234
|
-
# And add the signal.
|
235
|
-
@inouts.add(signal)
|
236
|
-
@interface << signal
|
237
266
|
return signal
|
238
267
|
end
|
239
268
|
|
@@ -571,9 +600,9 @@ module HDLRuby::Low
|
|
571
600
|
raise AnyError,
|
572
601
|
"Invalid class for a system type: #{systemT.class}"
|
573
602
|
end
|
574
|
-
if @systemTs.include?(systemT) then
|
575
|
-
|
576
|
-
end
|
603
|
+
# if @systemTs.include?(systemT) then
|
604
|
+
# raise AnyError, "SystemT #{systemT.name} already present."
|
605
|
+
# end
|
577
606
|
# Set the parent of the instance
|
578
607
|
systemT.parent = self
|
579
608
|
# puts "systemT = #{systemT}, parent=#{self}"
|
@@ -623,9 +652,9 @@ module HDLRuby::Low
|
|
623
652
|
raise AnyError,
|
624
653
|
"Invalid class for a type: #{type.class}"
|
625
654
|
end
|
626
|
-
if @types.include?(type) then
|
627
|
-
|
628
|
-
end
|
655
|
+
# if @types.include?(type) then
|
656
|
+
# raise AnyError, "Type #{type.name} already present."
|
657
|
+
# end
|
629
658
|
# Set the parent of the instance
|
630
659
|
type.parent = self
|
631
660
|
# puts "type = #{type}, parent=#{self}"
|
@@ -676,12 +705,14 @@ module HDLRuby::Low
|
|
676
705
|
raise AnyError,
|
677
706
|
"Invalid class for a system instance: #{scope.class}"
|
678
707
|
end
|
679
|
-
if @scopes.include?(scope) then
|
680
|
-
|
681
|
-
end
|
708
|
+
# if @scopes.include?(scope) then
|
709
|
+
# raise AnyError, "Scope #{scope} already present."
|
710
|
+
# end
|
682
711
|
# Set the parent of the scope
|
683
712
|
scope.parent = self
|
684
|
-
#
|
713
|
+
# Remove a former scope with same name if present (override)
|
714
|
+
@scopes.delete_if { |sc| sc.name && sc.name == scope.name }
|
715
|
+
# Add the scope
|
685
716
|
@scopes << scope
|
686
717
|
end
|
687
718
|
|
@@ -732,9 +763,9 @@ module HDLRuby::Low
|
|
732
763
|
raise AnyError,
|
733
764
|
"Invalid class for a system instance: #{systemI.class}"
|
734
765
|
end
|
735
|
-
if @systemIs.include?(systemI) then
|
736
|
-
|
737
|
-
end
|
766
|
+
# if @systemIs.include?(systemI) then
|
767
|
+
# raise AnyError, "SystemI #{systemI.name} already present."
|
768
|
+
# end
|
738
769
|
# Set the parent of the instance
|
739
770
|
systemI.parent = self
|
740
771
|
# puts "systemI = #{systemI}, parent=#{self}"
|
@@ -783,9 +814,9 @@ module HDLRuby::Low
|
|
783
814
|
raise AnyError,
|
784
815
|
"Invalid class for a non-hDLRuby code chunk: #{code.class}"
|
785
816
|
end
|
786
|
-
if @codes.include?(code) then
|
787
|
-
|
788
|
-
end
|
817
|
+
# if @codes.include?(code) then
|
818
|
+
# raise AnyError, "Code #{code.name} already present."
|
819
|
+
# end
|
789
820
|
# Set the parent of the code chunk.
|
790
821
|
code.parent = self
|
791
822
|
# puts "code = #{code}, parent=#{self}"
|
@@ -824,11 +855,9 @@ module HDLRuby::Low
|
|
824
855
|
raise AnyError,
|
825
856
|
"Invalid class for a signal instance: #{signal.class}"
|
826
857
|
end
|
827
|
-
# if @inners.
|
828
|
-
|
829
|
-
|
830
|
-
end
|
831
|
-
# @inners[signal.name] = signal
|
858
|
+
# if @inners.include?(signal) then
|
859
|
+
# raise AnyError, "SignalI #{signal.name} already present."
|
860
|
+
# end
|
832
861
|
# Set the parent of the signal.
|
833
862
|
signal.parent = self
|
834
863
|
# And add the signal.
|
@@ -1432,6 +1461,10 @@ module HDLRuby::Low
|
|
1432
1461
|
# The bit type leaf.
|
1433
1462
|
class << ( Bit = Type.new(:bit) )
|
1434
1463
|
include LLeaf
|
1464
|
+
# Tells if the type is unsigned.
|
1465
|
+
def unsigned?
|
1466
|
+
return true
|
1467
|
+
end
|
1435
1468
|
# Tells if the type fixed point.
|
1436
1469
|
def fixed?
|
1437
1470
|
return true
|
@@ -1573,10 +1606,11 @@ module HDLRuby::Low
|
|
1573
1606
|
|
1574
1607
|
# Comparison for hash: structural comparison.
|
1575
1608
|
def eql?(obj)
|
1576
|
-
# General type comparison.
|
1577
|
-
return false unless super(obj)
|
1609
|
+
# # General type comparison.
|
1610
|
+
# return false unless super(obj)
|
1578
1611
|
# Specific comparison.
|
1579
1612
|
return false unless obj.is_a?(TypeDef)
|
1613
|
+
return false unless @name.eql?(obj.name)
|
1580
1614
|
return false unless @def.eql?(obj.def)
|
1581
1615
|
return true
|
1582
1616
|
end
|
@@ -1651,8 +1685,8 @@ module HDLRuby::Low
|
|
1651
1685
|
|
1652
1686
|
# Comparison for hash: structural comparison.
|
1653
1687
|
def eql?(obj)
|
1654
|
-
# General type comparison.
|
1655
|
-
return false unless super(obj)
|
1688
|
+
# # General type comparison.
|
1689
|
+
# return false unless super(obj)
|
1656
1690
|
# Specific comparison.
|
1657
1691
|
return false unless obj.is_a?(TypeVector)
|
1658
1692
|
return false unless @base.eql?(obj.base)
|
@@ -1843,8 +1877,9 @@ module HDLRuby::Low
|
|
1843
1877
|
|
1844
1878
|
# Comparison for hash: structural comparison.
|
1845
1879
|
def eql?(obj)
|
1846
|
-
# General type comparison.
|
1847
|
-
return false unless super(obj)
|
1880
|
+
# # General type comparison.
|
1881
|
+
# return false unless super(obj)
|
1882
|
+
return false unless obj.is_a?(TypeTuple)
|
1848
1883
|
# Specific comparison.
|
1849
1884
|
idx = 0
|
1850
1885
|
obj.each_type do |type|
|
@@ -2499,18 +2534,18 @@ module HDLRuby::Low
|
|
2499
2534
|
self.value.each_deep(&ruby_block) if self.value
|
2500
2535
|
end
|
2501
2536
|
|
2502
|
-
# Comparison for hash: structural comparison.
|
2503
|
-
def eql?(obj)
|
2504
|
-
|
2505
|
-
|
2506
|
-
|
2507
|
-
|
2508
|
-
end
|
2537
|
+
# # Comparison for hash: structural comparison.
|
2538
|
+
# def eql?(obj)
|
2539
|
+
# return false unless obj.is_a?(SignalI)
|
2540
|
+
# return false unless @name.eql?(obj.name)
|
2541
|
+
# return false unless @type.eql?(obj.type)
|
2542
|
+
# return true
|
2543
|
+
# end
|
2509
2544
|
|
2510
|
-
# Hash function.
|
2511
|
-
def hash
|
2512
|
-
|
2513
|
-
end
|
2545
|
+
# # Hash function.
|
2546
|
+
# def hash
|
2547
|
+
# return [@name,@type].hash
|
2548
|
+
# end
|
2514
2549
|
|
2515
2550
|
# Gets the bit width.
|
2516
2551
|
def width
|
@@ -2761,10 +2796,9 @@ module HDLRuby::Low
|
|
2761
2796
|
raise AnyError,
|
2762
2797
|
"Invalid class for a code chunk: #{chunk.class}"
|
2763
2798
|
end
|
2764
|
-
# if @chunks.
|
2765
|
-
|
2766
|
-
|
2767
|
-
end
|
2799
|
+
# if @chunks.include?(chunk) then
|
2800
|
+
# raise AnyError, "Code chunk #{chunk.name} already present."
|
2801
|
+
# end
|
2768
2802
|
# Set its parent.
|
2769
2803
|
chunk.parent = self
|
2770
2804
|
# And add it
|
@@ -4269,11 +4303,9 @@ module HDLRuby::Low
|
|
4269
4303
|
raise AnyError,
|
4270
4304
|
"Invalid class for a signal instance: #{signal.class}"
|
4271
4305
|
end
|
4272
|
-
# if @inners.
|
4273
|
-
|
4274
|
-
|
4275
|
-
end
|
4276
|
-
# @inners[signal.name] = signal
|
4306
|
+
# if @inners.include?(signal) then
|
4307
|
+
# raise AnyError, "SignalI #{signal.name} already present."
|
4308
|
+
# end
|
4277
4309
|
# Set its parent.
|
4278
4310
|
signal.parent = self
|
4279
4311
|
# And add it
|
@@ -4573,7 +4605,8 @@ module HDLRuby::Low
|
|
4573
4605
|
# Yes so it is also a left value if it is a sub ref.
|
4574
4606
|
if parent.respond_to?(:ref) then
|
4575
4607
|
# It might nor be a sub ref.
|
4576
|
-
return parent.ref == self
|
4608
|
+
# return parent.ref == self
|
4609
|
+
return parent.ref.eql?(self)
|
4577
4610
|
else
|
4578
4611
|
# It is necessarily a sub ref (case of RefConcat for now).
|
4579
4612
|
return true
|
@@ -4581,7 +4614,8 @@ module HDLRuby::Low
|
|
4581
4614
|
end
|
4582
4615
|
# No, therefore maybe it is directly a left value.
|
4583
4616
|
return (parent.is_a?(Transmit) || parent.is_a?(Connection)) &&
|
4584
|
-
parent.left == self
|
4617
|
+
# parent.left == self
|
4618
|
+
parent.left.eql?(self)
|
4585
4619
|
end
|
4586
4620
|
|
4587
4621
|
# Tells if the expression is a right value.
|
@@ -4655,12 +4689,16 @@ module HDLRuby::Low
|
|
4655
4689
|
# Creates a new value typed +type+ and containing +content+.
|
4656
4690
|
def initialize(type,content)
|
4657
4691
|
super(type)
|
4658
|
-
|
4692
|
+
if content.nil? then
|
4659
4693
|
# Handle the nil content case.
|
4660
4694
|
unless type.eql?(Void) then
|
4661
4695
|
raise AnyError, "A value with nil content must have the Void type."
|
4662
4696
|
end
|
4663
4697
|
@content = content
|
4698
|
+
elsif content.is_a?(FalseClass) then
|
4699
|
+
@content = 0
|
4700
|
+
elsif content.is_a?(TrueClass) then
|
4701
|
+
@content = 1
|
4664
4702
|
else
|
4665
4703
|
# Checks and set the content: Ruby Numeric and HDLRuby
|
4666
4704
|
# BitString are supported. Strings or equivalent are
|
@@ -4697,8 +4735,8 @@ module HDLRuby::Low
|
|
4697
4735
|
|
4698
4736
|
# Comparison for hash: structural comparison.
|
4699
4737
|
def eql?(obj)
|
4700
|
-
# General comparison.
|
4701
|
-
return false unless super(obj)
|
4738
|
+
# # General comparison.
|
4739
|
+
# return false unless super(obj)
|
4702
4740
|
# Specific comparison.
|
4703
4741
|
return false unless obj.is_a?(Value)
|
4704
4742
|
return false unless @content.eql?(obj.content)
|
@@ -5097,7 +5135,7 @@ module HDLRuby::Low
|
|
5097
5135
|
|
5098
5136
|
|
5099
5137
|
##
|
5100
|
-
# Describes a
|
5138
|
+
# Describes a selection operation (generalization of the ternary operator).
|
5101
5139
|
#
|
5102
5140
|
# NOTE: choice is using the value of +select+ as an index.
|
5103
5141
|
class Select < Operation
|
@@ -5263,6 +5301,7 @@ module HDLRuby::Low
|
|
5263
5301
|
# def initialize(expressions = [])
|
5264
5302
|
def initialize(type,expressions = [])
|
5265
5303
|
super(type)
|
5304
|
+
# puts "Building concat=#{self} with direction=#{type.direction}\n"
|
5266
5305
|
# Initialize the array of expressions that are concatenated.
|
5267
5306
|
@expressions = []
|
5268
5307
|
# Check and add the expressions.
|
data/lib/HDLRuby/hruby_low2c.rb
CHANGED
@@ -709,6 +709,10 @@ module HDLRuby::Low
|
|
709
709
|
# Tells if the behavior is timed or not.
|
710
710
|
res << " " * (level+1)*3
|
711
711
|
res << "behavior->timed = #{time ? 1 : 0};\n"
|
712
|
+
|
713
|
+
# Set the active time to 0.
|
714
|
+
res << " " * (level+1)*3
|
715
|
+
res << "behavior->active_time = 0;\n"
|
712
716
|
|
713
717
|
# Is it a clocked behavior?
|
714
718
|
events = self.each_event.to_a
|
@@ -858,6 +862,7 @@ module HDLRuby::Low
|
|
858
862
|
# +level+ is the hierachical level of the object.
|
859
863
|
# def to_c(level = 0)
|
860
864
|
def to_c(res,level = 0)
|
865
|
+
|
861
866
|
# puts "Signal.to_c with name: #{Low2C.obj_name(self)}"
|
862
867
|
# Declare the global variable holding the signal.
|
863
868
|
res << "SignalI "
|
@@ -2546,6 +2551,7 @@ module HDLRuby::Low
|
|
2546
2551
|
# Generates the C text for the equivalent HDLRuby code.
|
2547
2552
|
# +level+ is the hierachical level of the object.
|
2548
2553
|
def to_c(res,level = 0)
|
2554
|
+
# puts "to_c fo concat=#{self} with type=#{self.type} and direction=#{self.type.direction}"
|
2549
2555
|
# Save the value pool state.
|
2550
2556
|
res << (" " * (level*3)) << "PV;\n"
|
2551
2557
|
# Gather the content to concat.
|
@@ -2556,6 +2562,7 @@ module HDLRuby::Low
|
|
2556
2562
|
end
|
2557
2563
|
# Compute the resulting concatenation.
|
2558
2564
|
res << (" " * ((level+1)*3))
|
2565
|
+
# puts "self.type.direction=#{self.type.direction}\n"
|
2559
2566
|
res << "sconcat(#{expressions.size},"
|
2560
2567
|
res << (self.type.direction == :little ? "1" : "0")
|
2561
2568
|
res << ");\n"
|
@@ -147,7 +147,8 @@ module HDLRuby::Low
|
|
147
147
|
cnxs = self.each_connection.to_a
|
148
148
|
# Remove them from the scope.
|
149
149
|
# cnxs.each { |cnx| self.delete_connection!(cnx) }
|
150
|
-
cnxs.delete_all_connections!
|
150
|
+
# cnxs.delete_all_connections!
|
151
|
+
self.delete_all_connections!
|
151
152
|
# Return the connections.
|
152
153
|
return cnxs
|
153
154
|
end
|