44 lines
1.8 KiB
Python
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()
|