iterateInorder(traces, false, true, rawChip);
iterateInorder(traces, false, false, rawChip);
    public static void run(SpaceTimeSchedule schedule, RawChip rawChip, Layout layout) {        Trace traces[];        Rawify.layout = layout;                //determine the number of dram reads and writes to each port in        //the steady state, this is necessary to throttle the issuing        //tile during data-redistribution        steadyDRAMCommands = new DRAMCommandDist(schedule.getSchedule(),                 rawChip);        steadyDRAMCommands.calcDRAMDist();        steadyDRAMCommands.printDramCommands();                //the initialization stage!!        traces = schedule.getInitSchedule();        iterateInorder(traces, true, false, rawChip);//      make sure all the dram command are completed before moving on        ComputeCodeStore.presynchAllDramsInInit();        //the prime pump stage!!        traces = schedule.getPrimePumpScheduleFlat();        iterateInorder(traces, false, true, rawChip);//      make sure all the dram command are completed before moving on        ComputeCodeStore.presynchAllDramsInInit();        //the steady-state!!        traces = schedule.getSchedule();        if (SpaceTimeBackend.NO_SWPIPELINE) {            iterateInorder(traces, false, true, rawChip);        } else {            //iterate over the joiners then the filters then             //the splitter, this will create a data-redistribution             //stage between the iterations that will improve performance             iterateJoinFiltersSplit(traces, false, false, rawChip);        }        ComputeCodeStore.presynchEmptyTilesInSteady();    }