svblock ======= **A SystemVerilog-native module symbol (pin diagram) generator.** svblock parses ``.sv`` / ``.v`` files using `pyslang `_ (IEEE 1800-2017 compliant) and renders clean, CSS-themeable SVG pin diagrams. Zero native dependencies -- no GTK, Cairo, or Pango required for SVG output. .. raw:: html
.. image:: _static/examples/large_module.svg :alt: Example pin diagram of a large SystemVerilog module .. raw:: html
Features -------- - Full **SystemVerilog 2017** support via ``pyslang`` -- ``logic``, packed arrays, interfaces, modports, parametric types - **Comment-driven port grouping** (``// @sym group="Clocks"``) with automatic heuristic fallback - **Pin decorators**: clock triangle, active-low bubble, bus thick stroke, interface diamond, inout arrow - **4 built-in themes**: default, dark, minimal, print -- plus custom TOML/YAML themes - **Deterministic SVG** output safe for version control and PR diffing - Optional **PNG/PDF** export via ``cairosvg`` - **Sphinx extension** (``.. svblock::`` directive) for embedding diagrams in docs .. toctree:: :maxdepth: 2 :caption: Contents getting-started cli-reference port-grouping themes examples sphinx-extension architecture api contributing