Start of public OpenTitan development history
Code contributors:
Alex Bradbury <asb@lowrisc.org>
Cindy Chen <chencindy@google.com>
Eunchan Kim <eunchan@google.com>
Gaurang Chitroda <gaurangg@google.com>
Mark Hayter <mark.hayter@gmail.com>
Michael Schaffner <msf@google.com>
Miguel Osorio <miguelosorio@google.com>
Nils Graf <nilsg@google.com>
Philipp Wagner <phw@lowrisc.org>
Pirmin Vogel <vogelpi@lowrisc.org>
Ram Babu Penugonda <rampenugonda@google.com>
Scott Johnson <scottdj@google.com>
Shail Kushwah <kushwahs@google.com>
Srikrishna Iyer <sriyer@google.com>
Steve Nelson <Steve.Nelson@wdc.com>
Tao Liu <taliu@google.com>
Timothy Chen <timothytim@google.com>
Tobias Wölfel <tobias.woelfel@mailbox.org>
Weicai Yang <weicai@google.com>
diff --git a/util/tlgen/generate.py b/util/tlgen/generate.py
new file mode 100644
index 0000000..80f7e91
--- /dev/null
+++ b/util/tlgen/generate.py
@@ -0,0 +1,27 @@
+# Copyright lowRISC contributors.
+# Licensed under the Apache License, Version 2.0, see LICENSE for details.
+# SPDX-License-Identifier: Apache-2.0
+
+from mako.template import Template
+from pkg_resources import resource_filename
+
+from .item import NodeType
+from .xbar import Xbar
+
+
+def generate(xbar): #xbar: Xbar -> str
+ """generate uses elaborated model then creates top level Xbar module
+ with prefix.
+ """
+
+ xbar_rtl_tpl = Template(
+ filename=resource_filename('tlgen', 'xbar.rtl.tpl.sv'))
+ xbar_pkg_tpl = Template(
+ filename=resource_filename('tlgen', 'xbar.pkg.tpl.sv'))
+ xbar_dv_tpl = Template(
+ filename=resource_filename('tlgen', 'xbar.dv.tpl.sv'))
+
+ out_rtl = xbar_rtl_tpl.render(xbar=xbar, ntype=NodeType)
+ out_pkg = xbar_pkg_tpl.render(xbar=xbar)
+ out_dv = xbar_dv_tpl.render(xbar=xbar, ntype=NodeType)
+ return (out_rtl, out_pkg, out_dv)