4 def __init__(self
, default_clk
=None):
6 self
.default_clk
= default_clk
8 self
.add_clocker(default_clk
)
10 def _format_interfaces(self
, interfaces
):
11 if not isinstance(interfaces
, list):
12 interfaces
= [interfaces
]
16 if isinstance(it
, tuple):
18 obj
= {"name": name
, "index": index
}
22 def add_clocker(self
, clk
):
23 self
.add_module("clocker", [], clocks
=clk
, tickfirst
=True)
25 def add_module(self
, name
, interfaces
, clocks
=None, args
=None, tickfirst
=False):
26 interfaces
= self
._format
_interfaces
(interfaces
)
28 interfaces
+= self
._format
_interfaces
(clocks
)
30 interfaces
+= [self
.default_clk
]
33 "interface": interfaces
,
36 newmod
.update({"args": args
})
38 newmod
.update({"tickfirst": tickfirst
})
39 self
.modules
.append(newmod
)
41 def has_module(self
, name
):
42 for module
in self
.modules
:
43 if module
["module"] == name
:
48 return json
.dumps(self
.modules
, indent
=4)