Esempio n. 1
0
 public void init(FetchStage f)
 {
     if (!stall)
     {
         if (bubble)
         {
             icode = 0;
             ifun = 0;
             rA = 0;
             rB = 0;
             valC = 0;
             valP = 0;
             Ins = "bubble";
         }
         else
         {
             icode = f.icode;
             ifun = f.ifun;
             rA = f.rA;
             rB = f.rB;
             valC = f.valC;
             valP = f.valP;
             Ins = f.Ins;
         }
     }
 }
Esempio n. 2
0
        public void Init(string inPath, string outPath = "output.txt")
        {
            Mem = new Memory(CodeStart + CodeMaxLen);
            StreamReader IStream = new StreamReader(inPath);
            BinaryReader reader = new BinaryReader(IStream.BaseStream);
            CodeLen = reader.Read(Mem.Data, CodeStart, CodeMaxLen);
            IStream.Close();

            writer = File.CreateText(outPath);

            Circle = 0;

            CL = new ControlLogic();
            CC = new ControlCode();
            rf = new Registerfile();

            f = new FetchStage();
            d = new DecodeStage();
            e = new ExecuteStage();
            m = new MemoryStage();

            F = new FetchRegister();
            D = new DecodeRegister();
            E = new ExecuteRegister();
            M = new MemoryRegister();
            W = new WritebackRegister();

            F.predPC = CodeStart;
            rf.Data[ConstVar.RESP] = CodeStart;

            f.F = F;
            f.Mem = Mem;
            d.D = D;
            d.rf = rf;
            e.E = E;
            e.CC = CC;
            m.M = M;
            m.Mem = Mem;

            CL.set(D, d, E, e, M);
        }
Esempio n. 3
0
 public void init(FetchStage f)
 {
     if (!stall)
         predPC = f.predPC;
 }