From e5edd2acdb1e3e8d753702a8424b0bf6b09166aa Mon Sep 17 00:00:00 2001 From: "Emil J. Tywoniak" Date: Mon, 13 Oct 2025 17:32:26 +0200 Subject: [PATCH] sort: init --- passes/cmds/Makefile.inc | 1 + passes/cmds/sort.cc | 26 ++++++++++++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 passes/cmds/sort.cc diff --git a/passes/cmds/Makefile.inc b/passes/cmds/Makefile.inc index 9bf615a7e..2dbeadac2 100644 --- a/passes/cmds/Makefile.inc +++ b/passes/cmds/Makefile.inc @@ -57,3 +57,4 @@ OBJS += passes/cmds/abstract.o OBJS += passes/cmds/test_select.o OBJS += passes/cmds/timeest.o OBJS += passes/cmds/linecoverage.o +OBJS += passes/cmds/sort.o diff --git a/passes/cmds/sort.cc b/passes/cmds/sort.cc new file mode 100644 index 000000000..ab058880e --- /dev/null +++ b/passes/cmds/sort.cc @@ -0,0 +1,26 @@ +#include "kernel/yosys.h" + +USING_YOSYS_NAMESPACE +PRIVATE_NAMESPACE_BEGIN + +struct SortPass : Pass { + SortPass() : Pass("sort", "sort the design objects") {} + void help() override + { + // |---v---|---v---|---v---|---v---|---v---|---v---|---v---|---v---|---v---|---v---| + log("\n"); + log(" sort\n"); + log("\n"); + log("Sorts the design objects.\n"); + log("\n"); + } + void execute(std::vector args, RTLIL::Design *d) override + { + log_header(d, "Executing SORT pass.\n"); + if (args.size() != 1) + log_cmd_error("This pass takes no arguments.\n"); + d->sort(); + } +} SortPass; + +PRIVATE_NAMESPACE_END