private void moveEmacs(AvalonSystem sys)
	{
		final String[] signal_suffix = {"", "_md_clk", "_rx_clk_in", "_tx_clk_in", "_gtx_clk", "_tx_reset", "_rx_reset"}; 
		String hpsName = null;
		Vector<BasicComponent> vHPS = sys.getComponentsByClass("altera_arria10_hps");
		for(int i=0; i<vHPS.size() && (hpsName == null); i++) {
			if(getInstanceName().startsWith(vHPS.get(i).getInstanceName() + '_')) {
				hpsName = vHPS.get(i).getInstanceName();
			}
		}
		if (hpsName != null) {
			Logger.logln("name of HPS is " + hpsName, LogLevel.DEBUG);
		}
		for (int i = 0; i < 3; i++) {
			String signal_base = String.format("emac%d", i);
			String emac_name = hpsName+"_i_emac_"+signal_base;
			BasicComponent emac = sys.getComponentByName(emac_name) ;
			if (emac == null) {
				Logger.logln("Could not find " + emac_name, LogLevel.DEBUG);
			} else {		
				for (String suffix : signal_suffix) {
					String signal = signal_base + suffix;
					Interface intf = getInterfaceByName(signal);
					if (intf != null) {
						Logger.logln("found "+intf.getName()+" mapped to "+emac.getInstanceName(), LogLevel.DEBUG);
						intf.getOwner().removeInterface(intf);
						emac.addInterface(intf);
		
					} else {
						Logger.logln("could not find interface "+signal, LogLevel.DEBUG);
					}
				}
			}
		}			
	}