From 767b74181f2ee325a2f6a2606620530d743553d2 Mon Sep 17 00:00:00 2001 From: Christian Herber Date: Fri, 8 Aug 2025 22:42:05 +0200 Subject: Adding support to generate an svg from opcodes (#364) * Adding support to generate an svg from opcodes * Attempt to fix linting issues * Adding matplotlib dependency to precommit hooks * Update linting changes * Added typed tuples * Fixing further linting issue (WiP) * Resolved all linting issue Matplotlib types cannot be resolved by the linter. Matplotlib calles are ignored for type checking * Adding matplotlib to dependencies and svg to output for coverage --- parse.py | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'parse.py') diff --git a/parse.py b/parse.py index 8aebf5c..29853af 100755 --- a/parse.py +++ b/parse.py @@ -13,6 +13,7 @@ from latex_utils import make_latex_table, make_priv_latex_table from rust_utils import make_rust from shared_utils import add_segmented_vls_insn, create_inst_dict from sverilog_utils import make_sverilog +from svg_utils import make_svg LOG_FORMAT = "%(levelname)s:: %(message)s" LOG_LEVEL = logging.INFO @@ -31,6 +32,7 @@ def generate_extensions( rust: bool, go: bool, latex: bool, + svg: bool, ): instr_dict = create_inst_dict(extensions, include_pseudo) instr_dict = dict(sorted(instr_dict.items())) @@ -73,6 +75,10 @@ def generate_extensions( make_priv_latex_table() logging.info("priv-instr-table.tex generated successfully") + if svg: + make_svg(instr_dict) + logging.info("inst.svg generated successfully") + def main(): parser = argparse.ArgumentParser(description="Generate RISC-V constants headers") @@ -92,6 +98,7 @@ def main(): parser.add_argument("-rust", action="store_true", help="Generate output for Rust") parser.add_argument("-go", action="store_true", help="Generate output for Go") parser.add_argument("-latex", action="store_true", help="Generate output for Latex") + parser.add_argument("-svg", action="store_true", help="Generate .svg output") parser.add_argument( "extensions", nargs="*", @@ -112,6 +119,7 @@ def main(): args.rust, args.go, args.latex, + args.svg, ) -- cgit v1.1