vpr: Add router lookahead plotting script
diff --git a/vpr/scripts/plot_vpr_lookahead.py b/vpr/scripts/plot_vpr_lookahead.py
new file mode 100755
index 0000000..a1e7012
--- /dev/null
+++ b/vpr/scripts/plot_vpr_lookahead.py
@@ -0,0 +1,91 @@
+#!/usr/bin/env python
+import argparse
+import sys
+import os
+from matplotlib import pyplot as plt
+from matplotlib.mlab import griddata
+
+import pandas as pd
+import numpy as np
+
+def parse_args():
+
+    parser = argparse.ArgumentParser()
+
+    parser.add_argument("csv_file")
+
+    parser.add_argument("--value",
+                        required=True,)
+
+    parser.add_argument("--min",
+                        default=None)
+
+    parser.add_argument("--max",
+                        default=None)
+
+    parser.add_argument("-f", "--file",
+                        help="Output file name")
+
+    return parser.parse_args()
+
+def main():
+
+    args = parse_args()
+
+    df = pd.read_csv(args.csv_file)
+
+    nx = len(df['dx'].unique())
+    ny = len(df['dy'].unique())
+
+    print "nx: {} ny: {}".format(nx, ny)
+
+    x = df['dx'].values
+    y = df['dy'].values
+    v = df[args.value].values
+
+    X = np.empty((nx+1, ny+1))
+    Y = np.empty((nx+1, ny+1))
+    V = np.empty((nx, ny))
+    X[:] = np.nan
+    Y[:] = np.nan
+    V[:] = np.nan
+
+    ix = 0
+    for dx in df['dx'].unique():
+        iy = 0
+        for dy in df['dy'].unique():
+            X[ix,iy] = dx
+            Y[ix,iy] = dy
+
+            entry = df[(df['dx'] == dx) & (df['dy'] == dy)]
+            if not entry.empty:
+                V[ix,iy] = entry[args.value]
+            else:
+                V[ix,iy] = np.nan
+            iy += 1
+        ix += 1
+
+    print "Max Value: {}".format(np.nanmax(V))
+    print "Min Value: {}".format(np.nanmin(V))
+
+    # plt.scatter(X,Y,c=C)
+    # plt.pcolor(V)
+    # plt.pcolor(X, Y, V)
+    # plt.imshow(V)
+    pcol = plt.pcolor(X, Y, V, linewidth=0, rasterized=True, vmin=args.min, vmax=args.max)
+    pcol.set_edgecolor('face')
+    # plt.contourf(V)
+
+    plt.colorbar()
+    plt.xlabel('$\Delta x$')
+    plt.ylabel('$\Delta y$')
+
+    plt.tight_layout()
+    if not args.file:
+        plt.show()
+    else:
+        plt.savefig(args.file, dpi=300)
+
+
+if __name__ == "__main__":
+    main()