Example #1
0
        /// <summary>
        /// Displays the WriteBack information
        /// </summary>
        /// <param name="MEMBufferR"></param>
        internal void WBDisplay(ref MEMWBBuffer MEMBufferR)
        {
            int labelWidth = 12; int dataWidth = 16;
            int offsetX = 56, offsetY = 17;

            Console.SetCursorPosition(offsetX, offsetY + 2);
            Console.Write(string.Format("=={0}=={1}==", string.Empty.PadLeft(labelWidth, '='), string.Empty.PadLeft(dataWidth, '=')));
            Console.CursorTop += 1; Console.CursorLeft = offsetX;
            Console.Write(string.Format("||{0}||{1}||", string.Empty.PadLeft(labelWidth, ' '), stage[4].PadLeft(dataWidth - ((dataWidth - stage[4].Length) / 2), ' ').PadRight(dataWidth, ' ')));
            Console.CursorLeft = offsetX; Console.CursorTop += 1;
            Console.Write(string.Format("=={0}=={1}==", string.Empty.PadLeft(labelWidth, '='), string.Empty.PadLeft(dataWidth, '=')));
            Console.CursorTop += 1; Console.CursorLeft = offsetX;
            Console.Write(string.Format("||{0}||{1}||", "Semantics".PadRight(labelWidth, ' '), MEMBufferR.Instr.ToString().PadRight(dataWidth, ' ')));
            Console.CursorLeft = offsetX; Console.CursorTop += 1;
            Console.Write(string.Format("||{0}||{1}||", "RegWrite".PadRight(labelWidth, ' '), MEMBufferR.vector.RegWrite.ToString().PadRight(dataWidth, ' ')));
            Console.CursorLeft = offsetX; Console.CursorTop += 1;
            Console.Write(string.Format("||{0}||{1}||", "MemToReg".PadRight(labelWidth, ' '), MEMBufferR.vector.MemToReg.ToString().PadRight(dataWidth, ' ')));
            Console.CursorLeft = offsetX; Console.CursorTop += 1;
            Console.Write(string.Format("||{0}||{1}||", "ReadData".PadRight(labelWidth, ' '), BitConverter.ToInt32(MEMBufferR.ReadData, 0).ToString().PadRight(dataWidth, ' ')));
            Console.CursorLeft = offsetX; Console.CursorTop += 1;
            Console.Write(string.Format("||{0}||{1}||", "ALUresult".PadRight(labelWidth, ' '), BitConverter.ToInt32(MEMBufferR.ALUResult, 0).ToString().PadRight(dataWidth, ' ')));
            Console.CursorLeft = offsetX; Console.CursorTop += 1;
            Console.Write(string.Format("||{0}||{1}||", "RegDstAddr".PadRight(labelWidth, ' '), MEMBufferR.DEST.ToString().PadRight(dataWidth, ' ')));
            Console.CursorLeft = offsetX; Console.CursorTop += 1;
            Console.Write(string.Format("=={0}=={1}==", string.Empty.PadLeft(labelWidth, '='), string.Empty.PadLeft(dataWidth, '=')));
            Console.CursorTop += 1; Console.CursorLeft = offsetX;
            Console.SetCursorPosition(0, 0);
        }
Example #2
0
        /// <summary>
        /// Displays the Memory information
        /// </summary>
        /// <param name="ExecuteBufferR"></param>
        /// <param name="MEMBufferL"></param>
        /// <param name="isBranch"></param>
        internal void MEMDisplay(ref ExecuteMEMBuffer ExecuteBufferR, ref MEMWBBuffer MEMBufferL, bool isBranch)
        {
            int labelWidth = 12; int dataWidth = 16;
            int offsetX = 56, offsetY = 0;

            Console.SetCursorPosition(offsetX, offsetY + 2);
            Console.Write(string.Format("=={0}=={1}==", string.Empty.PadLeft(labelWidth, '='), string.Empty.PadLeft(dataWidth, '=')));
            Console.CursorTop += 1; Console.CursorLeft = offsetX;
            Console.Write(string.Format("||{0}||{1}||", string.Empty.PadLeft(labelWidth, ' '), stage[3].PadLeft(dataWidth - ((dataWidth - stage[3].Length) / 2), ' ').PadRight(dataWidth, ' ')));
            Console.CursorLeft = offsetX; Console.CursorTop += 1;
            Console.Write(string.Format("=={0}=={1}==", string.Empty.PadLeft(labelWidth, '='), string.Empty.PadLeft(dataWidth, '=')));
            Console.CursorTop += 1; Console.CursorLeft = offsetX;
            Console.Write(string.Format("||{0}||{1}||", "Semantics".PadRight(labelWidth, ' '), ExecuteBufferR.Instr.ToString().PadRight(dataWidth, ' ')));
            Console.CursorLeft = offsetX; Console.CursorTop += 1;
            Console.Write(string.Format("||{0}||{1}||", "MemRead".PadRight(labelWidth, ' '), ExecuteBufferR.vector.MemRead.ToString().PadRight(dataWidth, ' ')));
            Console.CursorLeft = offsetX; Console.CursorTop += 1;
            Console.Write(string.Format("||{0}||{1}||", "MemWrite".PadRight(labelWidth, ' '), ExecuteBufferR.vector.MemWrite.ToString().PadRight(dataWidth, ' ')));
            Console.CursorLeft = offsetX; Console.CursorTop += 1;
            Console.Write(string.Format("||{0}||{1}||", "Branch".PadRight(labelWidth, ' '), ExecuteBufferR.vector.Branch.ToString().PadRight(dataWidth, ' ')));
            Console.CursorLeft = offsetX; Console.CursorTop += 1;
            Console.Write(string.Format("||{0}||{1}||", "Zero".PadRight(labelWidth, ' '), ExecuteBufferR.Zero.ToString().PadRight(dataWidth, ' ')));
            Console.CursorLeft = offsetX; Console.CursorTop += 1;
            Console.Write(string.Format("||{0}||{1}||", "BranchSgnl".PadRight(labelWidth, ' '), isBranch.ToString().PadRight(dataWidth, ' ')));
            Console.CursorLeft = offsetX; Console.CursorTop += 1;
            Console.Write(string.Format("||{0}||{1}||", "PCBranch".PadRight(labelWidth, ' '), ExecuteBufferR.PCBranch.ToString().PadRight(dataWidth, ' ')));
            Console.CursorLeft = offsetX; Console.CursorTop += 1;
            Console.Write(string.Format("||{0}||{1}||", "RegDstAddr".PadRight(labelWidth, ' '), ExecuteBufferR.DEST.ToString().PadRight(dataWidth, ' ')));
            Console.CursorLeft = offsetX; Console.CursorTop += 1;
            Console.Write(string.Format("||{0}||{1}||", "ALUresult".PadRight(labelWidth, ' '), BitConverter.ToInt32(ExecuteBufferR.ALUResult, 0).ToString().PadRight(dataWidth, ' ')));
            Console.CursorLeft = offsetX; Console.CursorTop += 1;
            Console.Write(string.Format("||{0}||{1}||", "ReadAddress".PadRight(labelWidth, ' '), MEM.ReadAddress.ToString().PadRight(dataWidth, ' ')));
            Console.CursorLeft = offsetX; Console.CursorTop += 1;
            Console.Write(string.Format("||{0}||{1}||", "WriteAddress".PadRight(labelWidth, ' '), MEM.WriteAddress.ToString().PadRight(dataWidth, ' ')));
            Console.CursorLeft = offsetX; Console.CursorTop += 1;
            Console.Write(string.Format("||{0}||{1}||", "WriteData".PadRight(labelWidth, ' '), BitConverter.ToInt32(MEM.WriteData, 0).ToString().PadRight(dataWidth, ' ')));
            Console.CursorLeft = offsetX; Console.CursorTop += 1;
            Console.Write(string.Format("||{0}||{1}||", "ReadData".PadRight(labelWidth, ' '), BitConverter.ToInt32(MEM.ReadData, 0).ToString().PadRight(dataWidth, ' ')));
            Console.CursorLeft = offsetX; Console.CursorTop += 1;
            Console.Write(string.Format("=={0}=={1}==", string.Empty.PadLeft(labelWidth, '='), string.Empty.PadLeft(dataWidth, '=')));
            Console.CursorTop += 1; Console.CursorLeft = offsetX;
            Console.SetCursorPosition(0, 0);
        }