# circuit = Circuit(ckt) # LoadCircuit(circuit, "ckt") # circuit.lev() # print(len(circuit.nodes_lev)) # outfile = open("../data/fault_sim/{}_full_fs.txt".format(ckt), "w") # for node in circuit.nodes_lev: # outfile.write("{}@0\n".format(node.num)) # outfile.write("{}@1\n".format(node.num)) # outfile.close() circuit = Circuit(args.ckt) LoadCircuit(circuit, "ckt") circuit.lev() ######### START OF SSTA circuit.SSTA() ######### END OF SSTA dfs = DFS(circuit) all_faults = set() for x in range(args.tp): tp = circuit.gen_tp() temp = dfs.single(tp) all_faults = temp.union(all_faults) nd_faults = [] for node in circuit.nodes_lev: for x in [0, 1]: fault = (str(node.num), x) if fault not in all_faults: nd_faults.append("{}@{}".format(node.num, x)) print("Circuit {}, TP {}".format(args.ckt, args.tp))
import sys import config from load_circuit import LoadCircuit # sys.path.insert(1, "/home/msabrishami/workspace/StatisticsSTA/") from distributions import Distribution, Normal, SkewNormal, MaxOp, SumOp import distributions as dist parser = argparse.ArgumentParser() parser.add_argument("-ckt", type=str, default="c17", help="circuit name, c17, no extension") parser.add_argument("-mode", type=str, default="alt", help="circuit name, c17, no extension") parser.add_argument("-samples", type=int, default=100, help="SSTA samples") args = parser.parse_args() config.SAMPLES = args.samples circuit = Circuit(args.ckt) LoadCircuit(circuit, "ckt") circuit.lev() circuit.load_mchist("MOSFET_16nm_HP") # circuit.ssta_pmf() circuit.SSTA(mode=args.mode, samples=args.samples) fname = "ssta-{}-{}-SK.png".format(args.ckt, args.mode) circuit.ssta_plot(fname=fname) # temp = circuit.load_mchist("MOSFET_16nm_HP")