title: “Reference Manuals”
- [Comportability Definition and Specification]({{< relref “comportability_specification” >}})
- [Device Interface Function (DIF) Specification]({{< relref “device_interface_functions” >}})
- Tool Guides
- [Topgen Tool]({{< relref “topgen_tool” >}}): Describes
topgen.py
and its Hjson format source. Used to generate rtl and validation files for top specific modules such as PLIC, Pinmux and crossbar. - [Register Tool]({{< relref “register_tool” >}}): Describes
regtool.py
and its Hjson format source. Used to generate documentation, rtl, header files and validation files for IP Registers and toplevel. - [Ipgen Tool]({{< relref “ipgen_tool” >}}): Describes
ipgen.py
and its Hjson control file. Used to generate IP blocks from IP templates. - [Crossbar Tool]({{< relref “crossbar_tool” >}}): Describes
tlgen.py
and its Hjson format source. Used to generate self-documentation, rtl files of the crossbars at the toplevel. - [Vendor-In Tool]({{< relref “vendor_in_tool” >}}): Describes
util/vendor.py
and its Hjson control file. Used to pull a local copy of code maintained in other upstream repositories and apply local patch sets.
- Coding Style Guides (To avoid conflict, toil and confusion regarding code style, OpenTitan's CI enforces what it can of the following guides):
- Verilog Coding Style
- [Python Coding Style]({{< relref “python_coding_style.md” >}})
- [Hjson Usage and Style Guide]({{< relref “hjson_usage_style.md” >}})
- [Markdown Usage and Style Guide]({{< relref “markdown_usage_style.md” >}})
- [C/C++ Style Guide]({{< relref “c_cpp_coding_style.md” >}})
- [RISC-V Assembly Style Guide]({{< relref “asm_coding_style.md” >}})
- [FPGA Reference Manual]({{< relref “ref_manual_fpga.md” >}})
- [OpenTitan Continuous Integration]({{< relref “continuous_integration.md” >}})