| """ Print override delta delay placement model in human readable format. """ | |
| import argparse | |
| import capnp | |
| import os.path | |
| # Remove magic import hook. | |
| capnp.remove_import_hook() | |
| def main(): | |
| parser = argparse.ArgumentParser(description=__doc__) | |
| parser.add_argument( | |
| '--schema_path', | |
| help='Path to override delta delay placement model schema', | |
| required=True | |
| ) | |
| parser.add_argument('--place_delay_matrix', required=True) | |
| args = parser.parse_args() | |
| place_delay_model = capnp.load( | |
| os.path.join(args.schema_path, 'place_delay_model.capnp') | |
| ) | |
| with open(args.place_delay_matrix, 'rb') as f: | |
| delay_model = place_delay_model.VprOverrideDelayModel.read(f) | |
| x_dim = delay_model.delays.dims[0] | |
| y_dim = delay_model.delays.dims[1] | |
| itr = iter(delay_model.delays.data) | |
| for x in range(x_dim): | |
| row = [] | |
| for y in range(y_dim): | |
| value = next(itr) | |
| row.append(str(value.value.value)) | |
| print(','.join(row)) | |
| if __name__ == "__main__": | |
| main() |