[util, topgen] Add helper functions to c.py
These are helpful for the ROM_EXT manifest header generation,
but could also be useful in future for other use-cases.
Signed-off-by: Silvestrs Timofejevs <silvestrst@lowrisc.org>
diff --git a/util/topgen/c.py b/util/topgen/c.py
index d98e16d..0884176 100644
--- a/util/topgen/c.py
+++ b/util/topgen/c.py
@@ -8,6 +8,8 @@
from mako.template import Template
+from math import ceil
+
class Name(object):
"""We often need to format names in specific ways; this class does so."""
@@ -52,13 +54,20 @@
self.name = name
self.base_addr = base_addr
self.size_bytes = size_bytes
+ self.size_words = ceil(int(str(size_bytes), 0) / 4)
def base_addr_name(self):
return self.name + Name(["base", "addr"])
+ def offset_name(self):
+ return self.name + Name(["offset"])
+
def size_bytes_name(self):
return self.name + Name(["size", "bytes"])
+ def size_words_name(self):
+ return self.name + Name(["size", "words"])
+
class CEnum(object):
def __init__(self, name):