Custom Templates

Custom Templates#

The built-in formats are rendered from Mako templates that ship with the plugin. When none of them fit your needs, you can supply your own template with the --template option:

peakrdl raw-header top.rdl -o top.txt --template my_template.mako

When a template is given, the --format option is ignored.

The easiest way to write a custom template is to copy one of the bundled templates (c.mako, svh.mako, svpkg.mako, ldh.mako) from the peakrdl_rawheader/templates directory and adapt it. They show the variables available in the template namespace — chiefly top_name, blocks, registers, memories, and enums — and the formatting helpers in peakrdl_rawheader.utils (fmt_hex, fmt_addr_expr, fmt_idx_expr, fmt_license).