| """ 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() |