From 1fc02389ed4c230aff9c9e4a5de877eb074cf509 Mon Sep 17 00:00:00 2001 From: John McMaster Date: Tue, 11 Sep 2018 12:25:57 -0700 Subject: [PATCH] timfuz: tile_annotate report solve correctly Signed-off-by: John McMaster --- fuzzers/007-timing/tile_annotate.py | 21 +++++++++++++-------- fuzzers/007-timing/timfuz.py | 12 ++++++------ 2 files changed, 19 insertions(+), 14 deletions(-) diff --git a/fuzzers/007-timing/tile_annotate.py b/fuzzers/007-timing/tile_annotate.py index e294769b..005b6c52 100644 --- a/fuzzers/007-timing/tile_annotate.py +++ b/fuzzers/007-timing/tile_annotate.py @@ -1,5 +1,6 @@ #!/usr/bin/env python3 +import timfuz from timfuz import loadc_Ads_b, Ads2bounds import sys @@ -20,9 +21,9 @@ def run(fnin, fnout, tile_json_fn, verbose=False): bounds = Ads2bounds(Ads, b) pipn_net = 0 - pipn_solved = 0 + pipn_solved = [0, 0, 0, 0] wiren_net = 0 - wiren_solved = 0 + wiren_solved = [0, 0, 0, 0] for tile in tilej['tiles'].values(): pips = tile['pips'] @@ -30,19 +31,23 @@ def run(fnin, fnout, tile_json_fn, verbose=False): val = bounds.get('PIP_' + v, None) pips[k] = quad(val) pipn_net += 1 - if pips[k]: - pipn_solved += 1 + for i in range(4): + if pips[k][i]: + pipn_solved[i] += 1 wires = tile['wires'] for k, v in wires.items(): val = bounds.get('WIRE_' + v, None) wires[k] = quad(val) wiren_net += 1 - if wires[k]: - wiren_solved += 1 + for i in range(4): + if wires[k][i]: + wiren_solved[i] += 1 - print('Pips: %u / %u solved' % (pipn_solved, pipn_net)) - print('Wires: %u / %u solved' % (wiren_solved, wiren_net)) + for corner, corneri in timfuz.corner_s2i.items(): + print('Corner %s' % corner) + print(' Pips: %u / %u solved' % (pipn_solved[corneri], pipn_net)) + print(' Wires: %u / %u solved' % (wiren_solved[corneri], wiren_net)) json.dump(tilej, open(fnout, 'w'), sort_keys=True, indent=4, separators=(',', ': ')) diff --git a/fuzzers/007-timing/timfuz.py b/fuzzers/007-timing/timfuz.py index 6f2f8918..f48b7e89 100644 --- a/fuzzers/007-timing/timfuz.py +++ b/fuzzers/007-timing/timfuz.py @@ -30,12 +30,12 @@ NAME_ZERO = set([ ]) # csv index -corner_s2i = { - 'fast_max': 0, - 'fast_min': 1, - 'slow_max': 2, - 'slow_min': 3, - } +corner_s2i = OrderedDict([ + ('fast_max', 0), + ('fast_min', 1), + ('slow_max', 2), + ('slow_min', 3), + ]) def print_eqns(A_ubd, b_ub, verbose=0, lim=3, label=''): rows = len(b_ub)