Sort output for easier diffing.

Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
diff --git a/dump_bram.java b/dump_bram.java
index 7391f92..553c056 100644
--- a/dump_bram.java
+++ b/dump_bram.java
@@ -26,6 +26,8 @@
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.HashSet;
+import java.util.Collections;
+import java.util.List;
 
 public class dump_bram {
 
@@ -303,6 +305,8 @@
             }
             FileWriter vf = new FileWriter(f.replace(".dcp", "_o3.features"), false);
             PrintWriter v = new PrintWriter(vf);
+
+            List<String> tiles = new ArrayList<String>();
             for (Tile t : des.getDevice().getAllTiles()) {
                 TileTypeEnum tt = t.getTileTypeEnum();
                 if (tt == TileTypeEnum.BRAM || tt == TileTypeEnum.DSP || tt == TileTypeEnum.DSP_L || tt == TileTypeEnum.DSP_R ||
@@ -310,13 +314,26 @@
                     String tname = t.getName() + ":" + tt.toString();
                     if (!pips_by_tile.containsKey(tname) && !sitefeatures_by_tile.containsKey(tname))
                         continue;
-                    v.println(".tile " + tname);
-                    if (pips_by_tile.containsKey(tname))
-                        for (String p : pips_by_tile.get(tname))
-                            v.println(p);
-                    if (sitefeatures_by_tile.containsKey(tname))
-                        for (String sf : sitefeatures_by_tile.get(tname))
-                            v.println(sf);
+                    tiles.add(tname);
+                }
+            }
+
+            Collections.sort(tiles);
+            for(String tname : tiles) {
+                v.println(".tile " + tname);
+                if (pips_by_tile.containsKey(tname)) {
+                    List<String> features = pips_by_tile.get(tname);
+                    Collections.sort(features);
+                    for (String p : features) {
+                        v.println(p);
+                    }
+                }
+                if (sitefeatures_by_tile.containsKey(tname)) {
+                    List<String> features = sitefeatures_by_tile.get(tname);
+                    Collections.sort(features);
+                    for (String sf : features) {
+                        v.println(sf);
+                    }
                 }
             }
             vf.close();
diff --git a/dump_clocking.java b/dump_clocking.java
index d3d5a5d..dac3683 100644
--- a/dump_clocking.java
+++ b/dump_clocking.java
@@ -27,6 +27,8 @@
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Scanner;
+import java.util.Collections;
+import java.util.List;
 
 public class dump_clocking {
     static String site_index_in_tile(Tile t, Site s) {
@@ -432,6 +434,8 @@
             }
             FileWriter vf = new FileWriter(f.replace(".dcp", "_o2.features"), false);
             PrintWriter v = new PrintWriter(vf);
+
+            List<String> tiles = new ArrayList<String>();
             for (Tile t : des.getDevice().getAllTiles()) {
                 TileTypeEnum tt = t.getTileTypeEnum();
                 if (tt == TileTypeEnum.RCLK_INT_L|| tt == TileTypeEnum.RCLK_CLEM_L || tt == TileTypeEnum.RCLK_INT_R || tt == TileTypeEnum.RCLK_CLEM_CLKBUF_L || tt == TileTypeEnum.RCLK_CLEM_R ||
@@ -444,13 +448,26 @@
                     String tname = t.getName() + ":" + tt.toString();
                     if (!pips_by_tile.containsKey(tname) && !sitefeatures_by_tile.containsKey(tname))
                         continue;
-                    v.println(".tile " + tname);
-                    if (pips_by_tile.containsKey(tname))
-                        for (String p : pips_by_tile.get(tname))
-                            v.println(p);
-                    if (sitefeatures_by_tile.containsKey(tname))
-                        for (String sf : sitefeatures_by_tile.get(tname))
-                            v.println(sf);
+                    tiles.add(tname);
+                }
+            }
+
+            Collections.sort(tiles);
+            for(String tname : tiles) {
+                v.println(".tile " + tname);
+                if (pips_by_tile.containsKey(tname)) {
+                    List<String> features = pips_by_tile.get(tname);
+                    Collections.sort(features);
+                    for (String p : features) {
+                        v.println(p);
+                    }
+                }
+                if (sitefeatures_by_tile.containsKey(tname)) {
+                    List<String> features = sitefeatures_by_tile.get(tname);
+                    Collections.sort(features);
+                    for (String sf : features) {
+                        v.println(sf);
+                    }
                 }
             }
             vf.close();
diff --git a/dump_features.java b/dump_features.java
index 3dbd107..ffc90e7 100644
--- a/dump_features.java
+++ b/dump_features.java
@@ -28,7 +28,6 @@
 import java.util.*;
 
 public class dump_features {
-
     static String site_index_in_tile(Tile t, Site s) {
         int min_x = s.getInstanceX(), min_y = s.getInstanceY();
         for (Site s2 : t.getSites()) {
@@ -377,6 +376,8 @@
             }
             FileWriter vf = new FileWriter(f.replace(".dcp", "_o1.features"), false);
             PrintWriter v = new PrintWriter(vf);
+
+            List<String> tiles = new ArrayList<String>();
             for (Tile t : des.getDevice().getAllTiles()) {
                 TileTypeEnum tt = t.getTileTypeEnum();
                 if (tt == TileTypeEnum.CLEL_L || tt == TileTypeEnum.CLEL_R || tt == TileTypeEnum.CLEM_R || tt == TileTypeEnum.CLEM
@@ -384,13 +385,26 @@
                     String tname = t.getName() + ":" + tt.toString();
                     if (!pips_by_tile.containsKey(tname) && !sitefeatures_by_tile.containsKey(tname))
                         continue;
-                    v.println(".tile " + tname);
-                    if (pips_by_tile.containsKey(tname))
-                        for (String p : pips_by_tile.get(tname))
-                            v.println(p);
-                    if (sitefeatures_by_tile.containsKey(tname))
-                        for (String sf : sitefeatures_by_tile.get(tname))
-                            v.println(sf);
+                    tiles.add(tname);
+                }
+            }
+
+            Collections.sort(tiles);
+            for(String tname : tiles) {
+                v.println(".tile " + tname);
+                if (pips_by_tile.containsKey(tname)) {
+                    List<String> features = pips_by_tile.get(tname);
+                    Collections.sort(features);
+                    for (String p : features) {
+                        v.println(p);
+                    }
+                }
+                if (sitefeatures_by_tile.containsKey(tname)) {
+                    List<String> features = sitefeatures_by_tile.get(tname);
+                    Collections.sort(features);
+                    for (String sf : features) {
+                        v.println(sf);
+                    }
                 }
             }
             vf.close();