add python script for batch simulations
This commit is contained in:
parent
0c2ad5ab5e
commit
4df6402241
|
@ -0,0 +1,71 @@
|
||||||
|
# = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
|
||||||
|
# Script Name : regression.py
|
||||||
|
# Description : This script designed to run:
|
||||||
|
# openfpga_flow tasks
|
||||||
|
# run_{simulator}.py
|
||||||
|
# Args : python3 regression.py --help
|
||||||
|
# Author : Aurelien Alacchi
|
||||||
|
# Email : aurelien.alacchi@utah.edu
|
||||||
|
# = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
|
||||||
|
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
import shutil
|
||||||
|
import time
|
||||||
|
from datetime import timedelta
|
||||||
|
import shlex
|
||||||
|
import argparse
|
||||||
|
from configparser import ConfigParser, ExtendedInterpolation
|
||||||
|
import logging
|
||||||
|
import glob
|
||||||
|
import subprocess
|
||||||
|
import threading
|
||||||
|
import csv
|
||||||
|
from string import Template
|
||||||
|
import pprint
|
||||||
|
from importlib import util
|
||||||
|
from collections import OrderedDict
|
||||||
|
|
||||||
|
modelsim="modelsim"
|
||||||
|
vcs="vcs"
|
||||||
|
formality="formality"
|
||||||
|
modelsim_file="simulation_deck_info.ini"
|
||||||
|
ini_list=""
|
||||||
|
|
||||||
|
# = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
|
||||||
|
# Parse commandline arguments
|
||||||
|
# = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
|
||||||
|
parser = argparse.ArgumentParser()
|
||||||
|
parser.add_argument('tasks', nargs='+')
|
||||||
|
parser.add_argument('--maxthreads', type=int, default=2,
|
||||||
|
help="Number of fpga_flow threads to run default = 2," +
|
||||||
|
"Typically <= Number of processors on the system")
|
||||||
|
parser.add_argument('--simulator', type=str, default=modelsim,
|
||||||
|
help="Simulator to use. Set at \"" + modelsim + "\" by default. Can also be \"" + vcs + "\" or \"" + formality + "\"")
|
||||||
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
|
||||||
|
args.tasks=str(args.tasks).strip('[]')
|
||||||
|
#print(args.tasks)
|
||||||
|
#print(args.maxthreads)
|
||||||
|
|
||||||
|
command="python3 openfpga_flow/scripts/run_fpga_task.py " + args.tasks + " --maxthreads " + str(args.maxthreads) + " --debug --show_thread_logs"
|
||||||
|
|
||||||
|
print(command)
|
||||||
|
|
||||||
|
os.system(command)
|
||||||
|
|
||||||
|
if(args.simulator == modelsim):
|
||||||
|
command="python3 openfpga_flow/scripts/run_modelsim.py"
|
||||||
|
os.system("grep \"INFO - Run directory :\" openfpga_flow/tasks/" + args.tasks + "/latest/*.log > paths_ini.txt")
|
||||||
|
arguments = " --skip_prompt --run_sim";
|
||||||
|
fp = open("paths_ini.txt")
|
||||||
|
line = fp.readline()
|
||||||
|
while line:
|
||||||
|
ini_list= ini_list + line + modelsim_file
|
||||||
|
line = fp.readline()
|
||||||
|
ini_list = ini_list.replace("INFO - Run directory :", "")
|
||||||
|
ini_list = ini_list.replace("\n", "/")
|
||||||
|
fp.close()
|
||||||
|
print(command + ini_list + arguments)
|
||||||
|
os.system(command + ini_list + arguments)
|
|
@ -55,4 +55,5 @@ vpr_fpga_verilog_print_sdc_pnr=
|
||||||
vpr_fpga_verilog_print_sdc_analysis=
|
vpr_fpga_verilog_print_sdc_analysis=
|
||||||
vpr_fpga_verilog_explicit_mapping=
|
vpr_fpga_verilog_explicit_mapping=
|
||||||
vpr_fpga_x2p_compact_routing_hierarchy=
|
vpr_fpga_x2p_compact_routing_hierarchy=
|
||||||
|
#vpr_fpga_verilog_print_simulation_ini=
|
||||||
end_flow_with_test=
|
end_flow_with_test=
|
||||||
|
|
Loading…
Reference in New Issue