Skip to content

Commit 9945831

Browse files
committed
[rdl2ot] Add typename field to rdljson output
Signed-off-by: Douglas Reis <[email protected]>
1 parent 5d8657a commit 9945831

File tree

1 file changed

+4
-6
lines changed

1 file changed

+4
-6
lines changed

rdl2ot/src/rdl2ot/rtl_exporter.py

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -130,9 +130,7 @@ def parse_array(self, node_: node.AddressableNode) -> list:
130130

131131
def get_field(self, field: node.FieldNode) -> dict:
132132
"""Parse a field and return a dictionary."""
133-
obj = {}
134-
obj["name"] = field.inst_name
135-
obj["type"] = "field"
133+
obj = {"name": field.inst_name, "type": "field", "type_name": field.type_name}
136134
obj["desc"] = field.get_property("desc", default="")
137135
obj["parent_name"] = field.parent.inst_name
138136
obj["lsb"] = field.lsb
@@ -180,7 +178,7 @@ def get_mem(self, mem: node.FieldNode) -> dict:
180178

181179
def get_reg(self, reg: node.RegNode) -> dict:
182180
"""Parse a register and return a dictionary."""
183-
obj = {"name": reg.inst_name, "type": "reg"}
181+
obj = {"name": reg.inst_name, "type": "reg", "type_name": reg.type_name}
184182
obj["desc"] = reg.get_property("desc", default="")
185183
obj["width"] = reg.get_property("regwidth")
186184
obj["hw_readable"] = reg.has_hw_readable
@@ -309,7 +307,7 @@ def get_interface(self, addrmap: node.AddrmapNode, defalt_name: None | str = Non
309307

310308
def parse_ip_block(self, ip_block: node.AddrmapNode) -> dict:
311309
"""Parse the ip_block node of an IP block and return a dictionary."""
312-
obj = {"name": ip_block.inst_name, "type": "device"}
310+
obj = {"name": ip_block.inst_name, "type": "device", "type_name": ip_block.type_name}
313311
params = self.get_paramesters(ip_block)
314312
if params:
315313
obj["parameters"] = params
@@ -357,7 +355,7 @@ def parse_soc(self, root: node.AddrmapNode) -> dict:
357355
print("Error: Top level must be an addrmap")
358356
raise TypeError
359357

360-
obj = {"name":root.inst_name, "devices": []}
358+
obj = {"name": root.inst_name, "devices": []}
361359
for child in root.children():
362360
if isinstance(child, node.AddrmapNode):
363361
obj["devices"].append(self.parse_ip_block(child))

0 commit comments

Comments
 (0)