[doc/rm] Crossbar Tool
Add `tlgen.py`, more generally `util/tlgen`, document to help
understanding how the crossbar is being generated in OpenTitan and its
usage.
To generate tlgen selfdoc, validate has checker logic inside. The
checking structure (control group) is slightly changed from its in
reggen. The change makes validate to run recursively and generate the
doc recursively.
This document addresses the issue #340.
diff --git a/util/example/tlgen/xbar_2x2.hjson b/util/example/tlgen/xbar_2x2.hjson
new file mode 100644
index 0000000..7d639d5
--- /dev/null
+++ b/util/example/tlgen/xbar_2x2.hjson
@@ -0,0 +1,15 @@
+{
+ name: "2x2",
+ clock: "main",
+ nodes: [
+ { name: "h0", type: "host", clock: "main" },
+ { name: "h1", type: "host", clock: "periph" },
+ { name: "d0", type: "device", clock: "main", base_addr: "0x0000", size_byte: "0x1000" },
+ { name: "d1", type: "device", clock: "main", base_addr: "0x1000", size_byte: "0x1000" }
+ ],
+ connections: {
+ h0: ["d0", "d1"],
+ h1: ["d0", "d1"]
+ }
+}
+