diff --git a/src/main/java/ddtranslatorSoclib/toTopCell/Deployinfo.java b/src/main/java/ddtranslatorSoclib/toTopCell/Deployinfo.java index 5e7d179a8fab0cebcdeb1c8d112fd2ce711581b9..1f4a0ab225da37d3aeeafb67015945759dd038ba 100755 --- a/src/main/java/ddtranslatorSoclib/toTopCell/Deployinfo.java +++ b/src/main/java/ddtranslatorSoclib/toTopCell/Deployinfo.java @@ -72,19 +72,57 @@ package ddtranslatorSoclib.toTopCell; -import avatartranslator.AvatarSpecification; -import ddtranslatorSoclib.AvatarCPU; +//base +// import avatartranslator.AvatarSpecification; +// import avatartranslator.AvatarRelation; +// import avatartranslator.AvatarSignal; +// import ddtranslatorSoclib.AvatarCPU; +// import ddtranslatorSoclib.AvatarRAM; + +import ddtranslatorSoclib.*; +import ddtranslatorSoclib.toSoclib.*; + +//add +import avatartranslator.*; import ddtranslatorSoclib.AvatarRAM; +import ddtranslatorSoclib.AvatarTask; +import ddtranslatorSoclib.AvatarddSpecification; +import ddtranslatorSoclib.toTopCell.TopCellGenerator; +import myutil.Conversion; +import myutil.FileException; +import myutil.FileUtils; +import myutil.TraceManager; + +import java.io.File; +import java.util.LinkedList; +import java.util.List; +import java.util.Vector; +// public class Deployinfo { private final static String CR = "\n"; private final static String CR2 = "\n\n"; - - public static AvatarSpecification avspec;//DG 15.05.2017 - + + public static AvatarRelation ar; + public static AvatarSpecification avspec;//DG 15.05.2017 + //add + public static AvatarddSpecification avddspec; + private Vector<?> warnings; + + private MainFileSoclib mainFile; + private Vector<TaskFileSoclib> taskFiles; + private String makefile_src; + private String makefile_SocLib; + // /* for the moment, this is specific to PowerPC */ + public Deployinfo(AvatarddSpecification _avddspec, AvatarSpecification _avspec) { + avspec = _avspec; + avddspec = _avddspec; + taskFiles = new Vector<TaskFileSoclib>(); + } + public static String getDeployInfo() { int nb_clusters=TopCellGenerator.avatardd.getAllCrossbar().size(); @@ -112,17 +150,17 @@ public class Deployinfo { int i=0; for (AvatarRAM ram : TopCellGenerator.avatardd.getAllRAM()) { - + /* data memory always starts at 0x10000000 */ int address_start = 268435456; String string_adress_start = Integer.toHexString(i*268435456); - + /* segment size is either given by the user or a default value is calculated */ if(ram.getDataSize()==0){ - + if((nb_clusters<16)||(TopCellGenerator.avatardd.getAllRAM().size()<16)){ size = 268435456; - + } else {//smaller segments size = 134217728; @@ -134,43 +172,26 @@ public class Deployinfo { ram.setDataSize(size); //ram.setDataSize(0); size = ram.getDataSize(); // this is the hardware RAM size - + System.out.println("***hardware RAM size"+size); - + String string_size_half = (Integer.toHexString(size/2)); //segments on this are half uram, half cram - + deployinfo += "#define CACHED_RAM" + ram.getNo_ram() + "_NAME cram" + ram.getNo_ram() + CR; - - // deployinfo = deployinfo + "#define CACHED_RAM" + ram.getNo_ram() + "_ADDR 0x" + Integer.toHexString(address_start+i*size) + CR; -deployinfo = deployinfo + "#define CACHED_RAM" + ram.getNo_ram() + "_ADDR 0x" + Integer.toHexString(address_start+i*CLUSTER_SIZE) + CR; - -// 31.08. simplifie - - //deployinfo = deployinfo + "#define CACHED_RAM" + ram.getNo_ram() + "_ADDR 0x" + (ram.getNo_ram()+1)+ "0000000" + CR; - + deployinfo = deployinfo + "#define CACHED_RAM" + ram.getNo_ram() + "_ADDR 0x" + Integer.toHexString(address_start+i*CLUSTER_SIZE) + CR; + // 31.08. simplifie deployinfo = deployinfo + "#define CACHED_RAM" + ram.getNo_ram() + "_SIZE 0x"+ string_size_half + CR; - - deployinfo += "#define DEPLOY_RAM" + ram.getNo_ram() + "_NAME uram" + ram.getNo_ram() + CR; - - int cacheability_bit= 2097152; //0x00200000 - - // deployinfo = deployinfo + "#define DEPLOY_RAM" + ram.getNo_ram() + "_ADDR 0x" + Integer.toHexString(address_start+i*size+size/2) + CR; - - //deployinfo = deployinfo + "#define DEPLOY_RAM" + ram.getNo_ram() + "_ADDR 0x" + Integer.toHexString(address_start+i*size+size/2+cacheability_bit) + CR; - -deployinfo = deployinfo + "#define DEPLOY_RAM" + ram.getNo_ram() + "_ADDR 0x" + Integer.toHexString(address_start+i*CLUSTER_SIZE+size/2+cacheability_bit) + CR; - -// 31.08. simplifie - -//deployinfo = deployinfo + "#define DEPLOY_RAM" + ram.getNo_ram() + "_ADDR 0x"+ (ram.getNo_ram()+1)+ "0200000" + CR; - + deployinfo += "#define DEPLOY_RAM" + ram.getNo_ram() + "_NAME uram" + ram.getNo_ram() + CR; + int cacheability_bit= 2097152; //0x00200000 + deployinfo = deployinfo + "#define DEPLOY_RAM" + ram.getNo_ram() + "_ADDR 0x" + Integer.toHexString(address_start+i*CLUSTER_SIZE+size/2+cacheability_bit) + CR; + // 31.08. simplifie deployinfo = deployinfo + "#define DEPLOY_RAM" + ram.getNo_ram() + "_SIZE 0x"+ (string_size_half) + CR; - + i++; } return deployinfo; } - + /* public static String getDeployInfoMap() { int i=0; String deployinfo_map = CR; @@ -248,6 +269,28 @@ System.out.println("@@@@@@@@ @@@@@@@@@@@@@@@@@"); } + //ajout C.D. + /* public static String getDeployInfoRam() { + int i=0; + String deployinfo_ram = CR; + //List<AvatarRelation> ar= avspec.getRelations(); + // int k = ar.nbOfSignals(); + //if(ar !=null){ + //for (AvatarRAM ram : TopCellGenerator.avatardd.getAllRAM()) { + for(AvatarRelation ar: avspec.getRelations()){ + System.out.println("test test test"); + for (i=0; i<ar.nbOfSignals();i++){ + deployinfo_ram += "DEPLOY_RAM" + i + "_NAME (RWAL) : ORIGIN = DEPLOY_RAM" + i + "_ADDR, LENGTH = DEPLOY_RAM" + i + "_SIZE" + CR; + deployinfo_ram += "CACHED_RAM" + i + "_NAME (RWAL : ORIGIN = CACHED_RAM" + i + "_ADDR, LENGTH = CACHED_RAM" + i + "_SIZE" + CR; + // } + } + } + //} + return deployinfo_ram; + }*/ + + //fin ajout C.D. + public static String getProcInfo() {