@Override
	public String getTextOutput(BoardInfo bi) {
		String res = null;
		vHandled.clear();
		if(bi.getPov()==null)
		{
			for(BasicComponent comp : sys.getSystemComponents())
			{
				if(!comp.getScd().getGroup().equals("bridge"))
				{
					if(res==null)
					{
						res = "#ifndef _ALTERA_CPU_H_\n" +
							"#define _ALTERA_CPU_H_\n\n" +
							lameCopyright;
					}
					res += dumpComponent(comp, bi.getPov());
				}
			}
			if(res!=null)
			{
				res += "\n#endif //_ALTERA_CPU_H_\n";
			}
		} else {
			BasicComponent povComp = sys.getComponentByName(bi.getPov());
			if(povComp!=null)
			{
				res = "#ifndef _ALTERA_" + definenify(bi.getPov()) + "_H_\n" +
				"#define _ALTERA_" + definenify(bi.getPov()) + "_H_\n\n" +
				lameCopyright + "\n/*\n" +
						" * This file contains macros for module '" + bi.getPov() + "' and devices\n" +
						" * connected to the following masters:\n";
				for(Interface intf : povComp.getInterfaces())
				{
					if(intf.isMemoryMaster())
					{
						res += " *   " + intf.getName() + "\n";
					}
				}
				res += " * \n" +
						" * Do not include this header file and another header file created for a\n" +
						" * different module or master group at the same time.\n" +
						" * Doing so may result in duplicate macro names.\n" +
						" * Instead, use the system header file which has macros with unique names.\n" +
						" */\n" +
						"\n" + dumpComponent(povComp, bi.getPov())
						+ dumpChildren(povComp, bi.getPov());
				res += "\n#endif /* _ALTERA_" + definenify(bi.getPov()) + "_H_ */\n";

			}
		}
		return res;
	}