aboutsummaryrefslogtreecommitdiff
path: root/parse.py
diff options
context:
space:
mode:
authorChristian Herber <christian.herber@oss.nxp.com>2025-08-08 22:42:05 +0200
committerGitHub <noreply@github.com>2025-08-08 13:42:05 -0700
commit767b74181f2ee325a2f6a2606620530d743553d2 (patch)
tree9eccf37ce5255dcb2ec35fda216db9a138a8dba1 /parse.py
parent1d4b38c868963b312d3289fbcf41bc11a69872b0 (diff)
downloadriscv-opcodes-767b74181f2ee325a2f6a2606620530d743553d2.zip
riscv-opcodes-767b74181f2ee325a2f6a2606620530d743553d2.tar.gz
riscv-opcodes-767b74181f2ee325a2f6a2606620530d743553d2.tar.bz2
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
Diffstat (limited to 'parse.py')
-rwxr-xr-xparse.py8
1 files changed, 8 insertions, 0 deletions
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,
)