more declaration of singleton objects
[nmigen-soc.git] / nmigen_soc / wishbone / bus.py
index 2d9296c1689292cef6d0bdcbc0db693a72a74bbd..580af84f6757f11886c7ee19fd2621cf5c48b16d 100644 (file)
@@ -225,8 +225,11 @@ class Decoder(Elaboratable):
         Bus providing access to subordinate buses.
     """
 
-    def __init__(self, *, addr_width, data_width, granularity=None, features=frozenset(),
+    def __init__(self, *, addr_width, data_width, granularity=None,
+                features=None,
                  alignment=0):
+        if features is None:
+            features = frozenset()
         self.bus = Interface(addr_width=addr_width, data_width=data_width,
                              granularity=granularity, features=features,
                              alignment=alignment)
@@ -373,8 +376,11 @@ class Arbiter(Elaboratable):
         Shared bus to which the selected initiator gains access.
     """
 
-    def __init__(self, *, addr_width, data_width, granularity=None, features=frozenset(),
+    def __init__(self, *, addr_width, data_width, granularity=None,
+                features=None,
                  scheduler="rr"):
+        if features is None:
+            features = frozenset()
         self.bus = Interface(addr_width=addr_width, data_width=data_width,
                              granularity=granularity, features=features)
         self._itors = []