Files
ResBench/setup.py
2025-12-17 18:16:44 +00:00

44 lines
1.8 KiB
Python

import argparse
import subprocess
from generate_solutions import generate_solutions
from functional_correctness import run_functional_correctness
from resource_usage import run_resource_usage
def main():
parser = argparse.ArgumentParser(description="Command-line interface for Verilog solution generation and evaluation.")
parser.add_argument("-generate_solutions", nargs=3, metavar=("MODEL_NAME", "K", "API_KEY"), help="Generate Verilog solutions using the specified model, number of iterations, and API key.")
parser.add_argument("-functional_correctness", action="store_true", help="Run functional correctness evaluation.")
parser.add_argument("-resource_usage", action="store_true", help="Run resource usage evaluation.")
args = parser.parse_args()
if args.generate_solutions:
model_name, k, api_key = args.generate_solutions
generate_solutions(api_key, model_name, int(k))
if args.functional_correctness:
run_functional_correctness()
subprocess.run(["python", "./evaluate/count_pass.py"])
subprocess.run(["python", "./evaluate/plot_pass.py"])
if args.resource_usage:
run_resource_usage()
subprocess.run(["python", "./evaluate/count_resource.py"])
else:
if args.functional_correctness:
run_functional_correctness()
subprocess.run(["python", "./evaluate/count_pass.py"])
subprocess.run(["python", "./evaluate/plot_pass.py"])
if args.resource_usage:
run_resource_usage()
subprocess.run(["python", "./evaluate/count_resource.py"])
if args.resource_usage:
run_resource_usage()
subprocess.run(["python", "./evaluate/count_resource.py"])
if __name__ == "__main__":
main()