mirror of https://github.com/openXC7/prjxray.git
timfuz: tile annotate. Workflow alpha!
Signed-off-by: John McMaster <johndmcmaster@gmail.com>
This commit is contained in:
parent
fb69b9f045
commit
edbd5f4ca9
|
|
@ -0,0 +1,64 @@
|
|||
#!/usr/bin/env python3
|
||||
|
||||
from timfuz import loadc_Ads_b, Ads2bounds
|
||||
|
||||
import sys
|
||||
import os
|
||||
import time
|
||||
import json
|
||||
|
||||
# corner wokraround
|
||||
def quad(x):
|
||||
return [x for _ in range(4)]
|
||||
|
||||
def run(fnin, fnout, tile_json_fn, verbose=False):
|
||||
# modified in place
|
||||
tilej = json.load(open(tile_json_fn, 'r'))
|
||||
|
||||
# FIXME: all corners
|
||||
Ads, b = loadc_Ads_b([fnin], corner=None, ico=True)
|
||||
bounds = Ads2bounds(Ads, b)
|
||||
|
||||
pipn_net = 0
|
||||
pipn_solved = 0
|
||||
wiren_net = 0
|
||||
wiren_solved = 0
|
||||
|
||||
for tile in tilej['tiles'].values():
|
||||
pips = tile['pips']
|
||||
for k, v in pips.items():
|
||||
val = bounds.get('PIP_' + v, None)
|
||||
pips[k] = quad(val)
|
||||
pipn_net += 1
|
||||
if pips[k]:
|
||||
pipn_solved += 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
|
||||
|
||||
print('Pips: %u / %u solved' % (pipn_solved, pipn_net))
|
||||
print('Wires: %u / %u solved' % (wiren_solved, wiren_net))
|
||||
|
||||
json.dump(tilej, open(fnout, 'w'), sort_keys=True, indent=4, separators=(',', ': '))
|
||||
|
||||
def main():
|
||||
import argparse
|
||||
|
||||
parser = argparse.ArgumentParser(
|
||||
description=
|
||||
''
|
||||
)
|
||||
parser.add_argument('--tile-json', default='tiles.json', help='')
|
||||
parser.add_argument('fnin', default=None, help='Flattened timing csv')
|
||||
parser.add_argument('fnout', default=None, help='output tile .json')
|
||||
args = parser.parse_args()
|
||||
|
||||
run(args.fnin, args.fnout, args.tile_json, verbose=False)
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
Loading…
Reference in New Issue