Package edu.byu.ece.rapidSmith.device

Examples of edu.byu.ece.rapidSmith.device.Tile


        else if(index.column() == 3) switchToModuleTab((String)index.data());
        break;
      case DELAYS:
        if(index.model().objectName().equals("Max")){
          if(index.column() == 0){
            Tile t = explorer.device.getPrimitiveSite(data.substring(0, data.indexOf('.'))).getTile();
            switchToTileTab(t.getName());
          }
          else if(index.column() == 3){
            if(((String)index.model().data(index.row(), 1)).startsWith("net")){
              switchToNetTab(data);
            }
            else{
              switchToInstanceTab(data);
            }
          }
        }
        else{
          subModels[0].removeRows(0, subModels[0].rowCount());
          subViews[0].setSortingEnabled(true);
          subViews[0].sortByColumn(0, Qt.SortOrder.AscendingOrder);
          Path pd = (Path)((DesignItem)model.itemFromIndex(proxyModel.mapToSource(index))).refObject;
          for(PathElement pe : pd.getMaxDataPath()){
            if(pe.getClass().equals(LogicPathElement.class)){
              LogicPathElement lpe = (LogicPathElement) pe;
              ArrayList<QStandardItem> items = new ArrayList<QStandardItem>();
              items.add(createNewHyperlinkItem(lpe.getInstance().getPrimitiveSiteName() + "." + (lpe.getPin()==null ? "<null>":lpe.getPin().getName()), pd));
              items.add(new DesignItem(lpe.getType().toString(), pd));
              items.add(new DesignItem(String.format("%5.3f", lpe.getDelay(), pd)));
              items.add(createNewHyperlinkItem(lpe.getInstance().getName(), pd));
              subModels[0].appendRow(items);
            }
            else{
              RoutingPathElement rpe = (RoutingPathElement) pe;
              ArrayList<QStandardItem> items = new ArrayList<QStandardItem>();
              items.add(createNewHyperlinkItem(rpe.getPin().getInstance().getPrimitiveSiteName() + "." + rpe.getPin().getName(), pd));
              items.add(new DesignItem(rpe.getType().toString() + " (fanout=" + rpe.getNet().getFanOut() + ")", pd));
              items.add(new DesignItem(String.format("%5.3f", rpe.getDelay(), pd)));
              items.add(createNewHyperlinkItem(rpe.getNet().getName(), pd));
              subModels[0].appendRow(items);
            }
          }         
        }
        break;
      case OFFSETS:
        if(index.model().objectName().equals("Max")){
          if(index.column() == 0){
            Tile t = explorer.device.getPrimitiveSite(data.substring(0, data.indexOf('.'))).getTile();
            switchToTileTab(t.getName());
          }
          else if(index.column() == 3){
            if(((String)index.model().data(index.row(), 1)).startsWith("NET")){
              switchToNetTab(data);
            }
            else{
              switchToInstanceTab(data);
            }
          }
        }
        else if(index.model().objectName().equals("Min")){
          if(index.column() == 0){
            Tile t = explorer.device.getPrimitiveSite(data.substring(0, data.indexOf('.'))).getTile();
            switchToTileTab(t.getName());
          }
          else if(index.column() == 3){
            if(((String)index.model().data(index.row(), 1)).startsWith("NET")){
              switchToNetTab(data);
            }
View Full Code Here


    PrimitiveSite p = new PrimitiveSite();
   
    try {
      p.setName(dis.readString());
      p.setType(typeValues[dis.readInt()]);
      Tile t = device.getTile(dis.readInt());
      p.setTile(t);
      p.setPins(primitivePinMaps.get(dis.readInt()));

    } catch (IOException e) {
      return null;
View Full Code Here

          (j) * tileSize);
    }

    for (int i = 0; i < numRows; i++) {
      for (int j = 0; j < numCols; j++) {
        Tile tile = device.getTile(i, j);
        String name = tile.getName();
        int hash = name.hashCode();
        int idx = name.indexOf("_");
        if (idx != -1) {
          hash = name.substring(0, idx).hashCode();
        }
View Full Code Here

    int maxRow = row+1;
    int minColumn = column-1;
    int minRow = row;
    String srcTypeString = sourceType.equals(NetType.VCC) ? "_VCC_SOURCE" : "_GND_SOURCE";
    boolean isVirtex5 = dev.getFamilyType().equals(FamilyType.VIRTEX5);
    Tile currentTile;
    boolean foundFreeSlice = false;
    while(!foundFreeSlice){
      switch(dir){
        case UP:
          if(row == minRow){
            dir = Direction.RIGHT;
            minRow--;
            column++;
          }
          else{
            row--;
          }
          break;
        case DOWN:
          if(row == maxRow){
            dir = Direction.LEFT;
            maxRow++;
            column--;
          }
          else{
            row++;
          }
          break;
        case LEFT:
          if(column == minColumn){
            dir = Direction.UP;
            minColumn--;
            row--;
          }
          else{
            column--;
          }
          break;
        case RIGHT:
          if(column == maxColumn){
            dir = Direction.DOWN;
            maxColumn++;
            row++;
          }
          else{
            column++;
          }
          break;
      }
      currentTile = dev.getTile(row, column);
      if(currentTile != null && currentTile.getPrimitiveSites() != null){
        for(PrimitiveSite site : currentTile.getPrimitiveSites()){
          if(site.getType().equals(PrimitiveType.SLICEL) || site.getType().equals(PrimitiveType.SLICEM)){
            if(!router.design.getUsedPrimitiveSites().contains(site)){
              Instance returnMe = new Instance();
              HashMap<String, Attribute> attributeMap = new HashMap<String, Attribute>();
              attributeMap.put("_NO_USER_LOGIC", new Attribute("_NO_USER_LOGIC","",""));
View Full Code Here

  }

 
  @Override
  public void mouseDoubleClickEvent(QGraphicsSceneMouseEvent event){
    Tile t = getTile(event);
    this.updateTile.emit(t);
    super.mouseDoubleClickEvent(event);
  }
View Full Code Here

TOP

Related Classes of edu.byu.ece.rapidSmith.device.Tile

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.