lib.io: Make Pin.name return the whole path.

This prevents duplicate pin names.
This commit is contained in:
Wanda 2024-02-29 20:53:43 +01:00 committed by Catherine
parent 871d726ad4
commit 2400d39730
2 changed files with 2 additions and 2 deletions

View file

@ -131,7 +131,7 @@ class Pin(wiring.PureInterface):
name = tracer.get_var_name(depth=2 + src_loc_at, default="$pin")
path = (name,)
self.path = tuple(path)
self.name = path[-1]
self.name = "__".join(path)
signature = Pin.Signature(width, dir, xdr=xdr)
super().__init__(signature, path=path, src_loc_at=src_loc_at + 1)

View file

@ -226,6 +226,6 @@ class PinTestCase(FHDLTestCase):
self.assertEqual(pin.path, ("testpin",))
self.assertEqual(pin.i0.name, "testpin__i0")
pin = Pin(2, dir="io", xdr=2, path=["a", "b"])
self.assertEqual(pin.name, "b")
self.assertEqual(pin.name, "a__b")
self.assertEqual(pin.path, ("a", "b"))
self.assertEqual(pin.i0.name, "a__b__i0")