more helpful formatDataTokAddr() showing bit numbers, endianness
authorAdam Megacz <adam.megacz@sun.com>
Mon, 23 Mar 2009 00:49:07 +0000 (00:49 +0000)
committerAdam Megacz <adam.megacz@sun.com>
Mon, 23 Mar 2009 00:49:07 +0000 (00:49 +0000)
testCode/com/sun/vlsi/chips/marina/test/MarinaUtils.java

index e061b7c..23bf242 100644 (file)
@@ -434,14 +434,21 @@ public class MarinaUtils {
 
     }
 
+    private static String reverse(String s) {
+        StringBuffer ret = new StringBuffer();
+        for(int i=s.length()-1; i>=0; i--)
+            ret.append(s.charAt(i));
+        return ret.toString();
+    }
+
     public static String formatDataTokAddr(BitVector dta) {
         if (dta.getNumBits()!=(37+1+14)) {
             Infrastructure.fatal("wrong number of bits");
         }
         return
-            dta.get(0,1).getState() + " " +
-            dta.get(1,14).getState() + " " +
-            dta.get(15,37).getState();
+            "tokenhood[1]="+dta.get(0,1).getState()
+            + ", addr[14:1]=" + reverse(dta.get(1,14).getState())
+            + ", data[37:1]=" + reverse(dta.get(15,37).getState());
     }
     public static BitVector extractAddr(BitVector dataTokAddr) {
         fatal(dataTokAddr.getNumBits()!=37+1+14, "wrong length for data token addr");