|
8 | 8 | from pathlib import Path |
9 | 9 |
|
10 | 10 | from jinja2 import Environment, FileSystemLoader |
11 | | -from systemrdl import RDLCompiler, node |
| 11 | +from systemrdl import node |
12 | 12 | from systemrdl.rdltypes import OnReadType |
13 | 13 |
|
14 | 14 | from rdl2ot import opentitan |
|
17 | 17 | DEFAULT_INTERFACE_NAME = "regs" |
18 | 18 |
|
19 | 19 |
|
20 | | -def run(rdlc: RDLCompiler, obj: node.RootNode, out_dir: Path) -> None: |
| 20 | +def run(root_node: node.AddrmapNode, out_dir: Path) -> None: |
21 | 21 | """Export RDL to opentitan RTL.""" |
22 | | - factory = OtInterfaceBuilder(rdlc) |
23 | | - data = factory.parse_root(obj.top) |
| 22 | + factory = OtInterfaceBuilder() |
| 23 | + data = factory.parse_root(root_node) |
24 | 24 |
|
25 | 25 | Path(out_dir / "rdl.json").write_text(json.dumps(data, indent=2), encoding="utf-8") |
26 | 26 |
|
@@ -54,11 +54,6 @@ class OtInterfaceBuilder: |
54 | 54 | async_registers: list = [(int, str)] # List of all the (index, register) with async clock |
55 | 55 | any_shadowed_reg: bool = False |
56 | 56 | reg_index: int = 0 |
57 | | - rdlc: RDLCompiler |
58 | | - |
59 | | - def __init__(self, rdlc: RDLCompiler) -> None: |
60 | | - """Constructor.""" |
61 | | - self.rdlc = rdlc |
62 | 57 |
|
63 | 58 | def get_field(self, field: node.FieldNode) -> dict: |
64 | 59 | """Parse a field and return a dictionary.""" |
|
0 commit comments