soc/cores/identifier: append 0 to contents to indicate end of string
[litex.git] / litex / soc / cores / identifier.py
index 2ed151f858e6214ffe8c27cbd623da875a355985..07fc08efd78fafbee49f54ca4b610b2949f88864 100644 (file)
@@ -1,16 +1,14 @@
 from litex.gen import *
 
-from litex.soc.interconnect.csr import *
 
-
-class Identifier(Module, AutoCSR):
-    def __init__(self, sysid, frequency, revision=None):
-        self._sysid = CSRStatus(16)
-        self._frequency = CSRStatus(32)
-
-        ###
-
-        self.comb += [
-            self._sysid.status.eq(sysid),
-            self._frequency.status.eq(frequency)
-        ]
+class Identifier(Module):
+    def __init__(self, ident):
+        contents = list(ident.encode())
+        l = len(contents)
+        if l > 255:
+            raise ValueError("Identifier string must be 255 characters or less")
+        contents.append(0)
+        self.mem = Memory(8, len(contents), init=contents)
+
+    def get_memories(self):
+        return [(True, self.mem)]