Skip to content

Commit 2400d39

Browse files
wanda-phiwhitequark
authored andcommitted
lib.io: Make Pin.name return the whole path.
This prevents duplicate pin names.
1 parent 871d726 commit 2400d39

File tree

2 files changed

+2
-2
lines changed

2 files changed

+2
-2
lines changed

amaranth/lib/io.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ def __init__(self, width, dir, *, xdr=0, name=None, path=None, src_loc_at=0):
131131
name = tracer.get_var_name(depth=2 + src_loc_at, default="$pin")
132132
path = (name,)
133133
self.path = tuple(path)
134-
self.name = path[-1]
134+
self.name = "__".join(path)
135135
signature = Pin.Signature(width, dir, xdr=xdr)
136136
super().__init__(signature, path=path, src_loc_at=src_loc_at + 1)
137137

tests/test_lib_io.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -226,6 +226,6 @@ def test_attributes(self):
226226
self.assertEqual(pin.path, ("testpin",))
227227
self.assertEqual(pin.i0.name, "testpin__i0")
228228
pin = Pin(2, dir="io", xdr=2, path=["a", "b"])
229-
self.assertEqual(pin.name, "b")
229+
self.assertEqual(pin.name, "a__b")
230230
self.assertEqual(pin.path, ("a", "b"))
231231
self.assertEqual(pin.i0.name, "a__b__i0")

0 commit comments

Comments
 (0)