Package edu.byu.ece.rapidSmith.bitstreamTools.configuration

Examples of edu.byu.ece.rapidSmith.bitstreamTools.configuration.Frame


    int fpga2ConfiguredFrames = 0;
    int fpga1NonEmptyFrames = 0;
    int fpga2NonEmptyFrames = 0;
   
    for (; far.validFARAddress(); far.incrementFAR()) {
      Frame f1 = fpga1.getFrame(far);
      Frame f2 = fpga2.getFrame(far);
      String msg = null;

      // Collect statistics
      if (f1.isConfigured()) {
        fpga1ConfiguredFrames++;
        if (!f1.getData().isEmpty())
          fpga1NonEmptyFrames++;
      }
      if (f2.isConfigured()) {
        fpga2ConfiguredFrames++;
        if (!f2.getData().isEmpty())
          fpga2NonEmptyFrames++;
      }
     
      // Check #1: see if frames are configured or not
      if ( !f1.isConfigured() || !f2.isConfigured()) {
        String umsg = null;
       
        // Don't create a message if the ignore unconfigured frames option was set
        if (ignoreUnconfiguredFrames) continue;
       
        if (!f1.isConfigured() && f2.isConfigured() ) {         
          umsg = "FPGA 1 not configured";
          if (!f2.getData().isEmpty())
            umsg += " (non empty frame in FPGA2)";
          else
            umsg += " (empty frame in FPGA2)";
        } else if (f1.isConfigured() && !f2.isConfigured()) {
          umsg = "FPGA 2 not configured";
          if (!f1.getData().isEmpty())
            umsg += " (non empty frame in FPGA1)";
          else
            umsg += " (empty frame in FPGA1)";
        }
        msg = umsg;
       
      } else {
     
        // both frames configured
        FrameData d1 = f1.getData();
        FrameData d2 = f2.getData();
        if (!d1.isEqual(d2)) {
         
          diffFARs.add(far.getAddress());
         
          if (d1.isEmpty())
View Full Code Here


    fpgaMask.configureBitstream(bitstreamMask);
    int correct = 0, incorrect = 0, close = 0;
   
    for(Frame frame : fpga.getAllFrames()){
      if(frame.getData().isEmpty()) continue;
      Frame maskFrame = fpgaMask.getFrame(frame.getFrameAddress());
     
      //ArrayList<Integer> oneBits = new ArrayList<Integer>();
      int calcECC = calculateFrameECCBits(frame, maskFrame, spec);
      int trueECC = frame.getData().getECCBits();
      if(calcECC == trueECC){
        //bits.addAll(oneBits);
        correct++;
       
        /*System.out.println(getFARString(spec, frame));
        System.out.println("(True)ECCBits = 0x" + Integer.toHexString(trueECC) + " " + toBinaryString(Integer.toHexString(trueECC)));
        System.out.println("(Calc)ECCBits = 0x" + Integer.toHexString(calcECC) + " " + toBinaryString(Integer.toHexString(calcECC)));
        System.out.println("(Alt )ECCBits = 0x" + Integer.toHexString(altECC) + " " + toBinaryString(Integer.toHexString(altECC)));
        System.out.println(getBinaryFrameString(frame));
        System.out.println(getBinaryFrameString(maskFrame));
        try{
          System.in.read();
        }
        catch(IOException e){
          // TODO Auto-generated catch block
          e.printStackTrace();
        }*/
      }
      else if(altECC == trueECC){
        close++;
        if(frame.getData().countBitsSet() == 1){
          bits.add(bitNumber);
        }
      }
      else{
        incorrect++;
       
        System.out.println(getFARString(spec, frame));
        System.out.println("(True)ECCBits = 0x" + Integer.toHexString(trueECC) + " " + toBinaryString(Integer.toHexString(trueECC)));
        System.out.println("(Calc)ECCBits = 0x" + Integer.toHexString(calcECC) + " " + toBinaryString(Integer.toHexString(calcECC)));
        System.out.println("(Alt )ECCBits = 0x" + Integer.toHexString(altECC) + " " + toBinaryString(Integer.toHexString(altECC)));
        System.out.println(getBinaryFrameString(frame));
        System.out.println(getBinaryFrameString(maskFrame));
        try{
          System.in.read();
        }
        catch(IOException e){
          // TODO Auto-generated catch block
          e.printStackTrace();
        }
      }
     
    }
    System.out.println("correct=" + correct);
    System.out.println("close=" + close);
    System.out.println("incorrect=" + incorrect);
   
   
    Frame tmp = new Frame(41, 0);
    for(Integer i : bits){
      tmp.getData().setBit(i, 1);
    }
    System.out.println(getBinaryFrameString(tmp));
  }
View Full Code Here

    System.out.println("       Row: " + FrameAddressRegister.getRowFromAddress(spec, farAddress));
    System.out.println("    Column: " + FrameAddressRegister.getColumnFromAddress(spec, farAddress));
    System.out.println("     Minor: " + FrameAddressRegister.getMinorFromAddress(spec, farAddress));
   
    // Here we can get the frame
    Frame frame = fpga.getFrame(farAddress);
    System.out.println(frame.toString());
  }
View Full Code Here

    boolean nonempty = false;
    int startFar = 0;
    int count = 0;

    while (far.validFARAddress()) {
      Frame f = fpga.getFrame(far);     
      if (!f.isConfigured() || f.getData().isEmpty()) {
        if (printDetail) {
          if (f.isConfigured())
            System.out.println(far + " = EMPTY");
        }
        if (empty) {
          // Another empty: add count
          count++;
View Full Code Here

    // Iterate over all of the frames
    FrameAddressRegister far = new FrameAddressRegister(partInfo);
    for (; far.validFARAddress(); far.incrementFAR()) {
      //System.out.println(far);
     
      Frame fullFrame = fullFPGA.getFrame(far);
      if (!fullFrame.isConfigured()) {
        System.err.println("Error: Unconfigured Frame in the full bitstream at FAR:"+far.getHexAddress());
        System.exit(1);
      }
     
      Frame staticFrame = staticFPGA.getFrame(far);
      Frame partialFrame = partialFPGA.getFrame(far);

      FrameData fullData = fullFrame.getData();
      FrameData staticData = staticFrame.getData();
      FrameData partialData = partialFrame.getData();
     
      if (staticFrame.isConfigured() && partialFrame.isConfigured()) {
        // Both static and partial frames configured
        if (fullData.isEqual(staticData)) {
          if (fullData.isEqual(partialData)) {
            // TODO: All equal: could probably remove the partial frame (future)
            if (verbose)
              System.out.println(far.getHexAddress()+" Static, full, and partial all equal");           
          } else {
            // full and static equal, partial not equal
            System.out.println("Full and static equal, partial not equal:"+far.getHexAddress());           
            if (printData) {
              System.out.println("Full Data\n"+fullData);
              System.out.println("Static Data\n"+staticData);             
              System.out.println("Partial Data\n"+partialData);             
            }
          }       
        } else {
          // full is not equal to static
          if (fullData.isEqual(partialData)) {
            // This is OK. Don't need to do anything here.
            if (staticData.isEmpty())
              System.out.println(far.getHexAddress() + " Full and partial equal, static empty");
            else
              System.out.println(far.getHexAddress() + " Full and partial equal, static not equal and not empty");
            if (printData) {
              System.out.println("Full Data\n"+fullData);
              System.out.println("Static Data\n"+staticData);             
              System.out.println("Partial Data\n"+partialData);             
            }
          } else {
            // Full data is NOT equal to partial data
            if (staticData.isEqual(partialData)) {
              System.out.println("*** Full not equal but static and partial equal:"+far.getHexAddress());                         
            } else {
              System.out.println("*** All three not equal:"+far.getHexAddress());                         
            }
          }
        }     
      } else if (staticFrame.isConfigured()) {
        // static frame is configured and partial frame is NOT configured
        if (fullData.isEqual(staticData)) {
          if (verbose)
            System.out.println(far.getHexAddress()+" Static and full Equal (partial not configured)");
        } else {
          if (!fullData.isEmpty()) {
            // full has data
            if (!staticData.isEmpty()) {
              // Full and static have data
              System.out.println(far.getHexAddress()+" * Full and static NOT equal (partial not configured)");
              if (printData) {
                System.out.println("Full Data\n"+fullData);
                System.out.println("Static Data\n"+staticData);
              }
            } else {
              // full has data , static is empty
              System.out.println(far.getHexAddress()+" * Full has data, static is empty (partial not configured)");
            }
          } else {
            // full does not have data
            System.out.println(far.getHexAddress()+" * Full empty and static NOT equal (partial not configured)");
          }
          if (!patchPartial) {
            staticData.setData(fullData);
            staticChanged = true;
          } else {
            partialData.setData(fullData);
            partialChanged = true;
          }
        }
      } else if (partialFrame.isConfigured()) {
        // partial frame is configured, static frame is NOT configured
        if (fullData.isEqual(partialData)) {
          System.out.println("Partial and full Equal (static not configured):"+far.getHexAddress());
        } else {
          System.out.println("Partial Not Equal:"+far.getHexAddress());         
View Full Code Here

TOP

Related Classes of edu.byu.ece.rapidSmith.bitstreamTools.configuration.Frame

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.