Examples of Pin


Examples of edu.byu.ece.rapidSmith.design.Pin

   */
  private boolean addReservedGNDVCCNode(Node node, Pin pin){
    if(router.usedNodes.contains(node)){
      LinkedList<Net> nets = router.usedNodesMap.get(node);
      if(nets == null){
        Pin p = reservedGNDVCCResources.get(node);
        if(p == null){
          return false;
        }
        else if(!p.getNet().getType().equals(pin.getNet().getType())){
          return false;
        }
      }
      else if(!nets.get(0).getType().equals(pin.getNet().getType())){
        return false;
View Full Code Here

Examples of edu.byu.ece.rapidSmith.design.Pin

    }
    nets.add(net);
  }
 
  public Node getSwitchBoxWire(Net net){
    Pin source = net.getSource();
    if(source.getName().contains("COUT") && net.getPins().size() == 2){
      Pin sink = net.getPins().get(1).equals(source) ? net.getPins().get(0) : net.getPins().get(1);
      if(sink.getName().contains("CIN")){
        return null;
      }
    }
   
    Node curr = new Node(source.getTile(), dev.getPrimitiveExternalPin(source), null, 0);
View Full Code Here

Examples of edu.byu.ece.rapidSmith.design.Pin

   * wires for heavily congested switch matrices.
   */
  private void reserveVirtex4SpecificResources(ArrayList<Net> netList){
    HashMap<Tile, ArrayList<Net>> sourceCount = new HashMap<Tile, ArrayList<Net>>();
    for(Net net : netList){
      Pin p = net.getSource();
      if(p == null) continue;
      ArrayList<Net> nets = sourceCount.get(p.getTile());
      if(nets == null){
        nets = new ArrayList<Net>();
        sourceCount.put(p.getTile(), nets);
      }
      nets.add(net);
    }
    HashMap<Tile, ArrayList<Net>> switchMatrixSources = new HashMap<Tile, ArrayList<Net>>();
    for(Tile t : sourceCount.keySet()){
View Full Code Here

Examples of edu.byu.ece.rapidSmith.design.Pin

            newNet.addPin(currStaticSourcePin);
          }
          else{
            router.design.addInstance(currInst);
            currInst.addToNetList(newNet);
            Pin source = new Pin(true, slicePin, currInst);
            newNet.addPin(source);         
          }
        }
        if(vccs.size() > 0){
          // Create the new net
          Net newNet = createNewNet(NetType.VCC, vccs);
          finalStaticNets.add(newNet);

          // Create new instance of SLICE primitive to get source
          Instance currInst = findClosestAvailableSLICE(ps.useSLICE.get(0).switchMatrixSink.tile, NetType.VCC);

          if(currStaticSourcePin != null){
            currInst.addToNetList(newNet);
            newNet.addPin(currStaticSourcePin);
          }
          else{
            router.design.addInstance(currInst);
            currInst.addToNetList(newNet);
            Pin source = new Pin(true, slicePin, currInst);
            newNet.addPin(source);
          }
        }
      }
    }
   
   
    //===================================================================//
    // Step 4: Finalize node reservations and re-order and assemble nets
    //         for router
    //===================================================================//
    for(Node n : reservedGNDVCCResources.keySet()){
      Pin pinToReserve = reservedGNDVCCResources.get(n);
      addReservedNode(n, pinToReserve.getNet());
   
   
    finalStaticNets = orderGNDNetsFirst(finalStaticNets);
    finalStaticNets.addAll(netList);
    router.netList = finalStaticNets;
View Full Code Here

Examples of edu.byu.ece.rapidSmith.design.Pin

      pinName = "HARD1";
    }
    else{
      pinName = "KEEP1";
    }
    Pin source = new Pin(true,pinName, inst);
    net.addPin(source);
    inst.addToNetList(net);
  }
View Full Code Here

Examples of edu.byu.ece.rapidSmith.design.Pin

                if(i.testAttributeValue(letter+"5LUT", "#OFF") &&
                   i.testAttributeValue(letter+"6LUT", "#OFF") &&
                   !i.hasAttribute("_GND_SOURCE") &&
                   !i.hasAttribute("_VCC_SOURCE")){
                  i.addAttribute(new Attribute(new Attribute(srcTypeString,"",letter)));
                  currStaticSourcePin = new Pin(true, letter, i);
                  i.addPin(currStaticSourcePin);
                  return i;
                }
              }
            }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.