diff --git a/src/main/dig/processor/ProcessorVonNeumann.dig b/src/main/dig/processor/ProcessorVonNeumann.dig index fa6045cef..455d562f9 100644 --- a/src/main/dig/processor/ProcessorVonNeumann.dig +++ b/src/main/dig/processor/ProcessorVonNeumann.dig @@ -58,7 +58,7 @@ Von Neumann Two-Cycle CPU.}} SignExt.dig - + ALU.dig @@ -102,7 +102,7 @@ Von Neumann Two-Cycle CPU.}} Output Splitting - 4,4,1,7 + 4,4,8 @@ -130,24 +130,6 @@ Von Neumann Two-Cycle CPU.}} - - Clock - - - runRealTime - true - - - Label - Clock - - - Frequency - 500000 - - - - Driver @@ -176,216 +158,6 @@ Von Neumann Two-Cycle CPU.}} - - Tunnel - - - rotation - - - - NetName - stPC - - - - - - Tunnel - - - rotation - - - - NetName - WE - - - - - - Tunnel - - - rotation - - - - NetName - imm - - - - - - Tunnel - - - rotation - - - - NetName - abs - - - - - - Tunnel - - - rotation - - - - NetName - muxB - - - - - - Tunnel - - - rotation - - - - NetName - src2D - - - - - - Tunnel - - - rotation - - - - NetName - muxA - - - - - - Tunnel - - - rotation - - - - NetName - ALU2D - - - - - - Tunnel - - - rotation - - - - NetName - ALUop - - - - - - Tunnel - - - rotation - - - - NetName - sf - - - - - - Tunnel - - - rotation - - - - NetName - br - - - - - - Tunnel - - - rotation - - - - NetName - st - - - - - - Tunnel - - - rotation - - - - NetName - ld - - - - - - Tunnel - - - rotation - - - - NetName - ioW - - - - - - Tunnel - - - rotation - - - - NetName - ioR - - - - Tunnel @@ -422,7 +194,7 @@ Von Neumann Two-Cycle CPU.}} imm - + Tunnel @@ -481,7 +253,7 @@ Von Neumann Two-Cycle CPU.}} NetName - ALU2D + alu2D @@ -495,7 +267,7 @@ Von Neumann Two-Cycle CPU.}} NetName - ALUop + aluOp @@ -539,28 +311,14 @@ Von Neumann Two-Cycle CPU.}} rotation - + NetName ld - - - - Tunnel - - - rotation - - - - NetName - C - - - + Tunnel @@ -588,7 +346,7 @@ Von Neumann Two-Cycle CPU.}} C - + Tunnel @@ -675,20 +433,6 @@ Von Neumann Two-Cycle CPU.}} - - Tunnel - - - rotation - - - - NetName - C_in - - - - Tunnel @@ -701,36 +445,12 @@ Von Neumann Two-Cycle CPU.}} S_in - - - - Tunnel - - - rotation - - - - NetName - S_in - - - - - - ControlTwoCycle.dig - - - rotation - - - - + LedMatrix.dig - + Tunnel @@ -744,7 +464,7 @@ Von Neumann Two-Cycle CPU.}} ioW - + Tunnel @@ -758,7 +478,7 @@ Von Neumann Two-Cycle CPU.}} C - + RegisterOpt.dig @@ -770,6 +490,387 @@ Von Neumann Two-Cycle CPU.}} + + Control.dig + + + rotation + + + + + + + Tunnel + + + rotation + + + + NetName + stPC + + + + + + Tunnel + + + rotation + + + + NetName + WE + + + + + + Tunnel + + + rotation + + + + NetName + imm + + + + + + Tunnel + + + rotation + + + + NetName + abs + + + + + + Tunnel + + + rotation + + + + NetName + muxB + + + + + + Tunnel + + + rotation + + + + NetName + src2D + + + + + + Tunnel + + + rotation + + + + NetName + muxA + + + + + + Tunnel + + + rotation + + + + NetName + alu2D + + + + + + Tunnel + + + rotation + + + + NetName + aluOp + + + + + + Tunnel + + + rotation + + + + NetName + sf + + + + + + Tunnel + + + rotation + + + + NetName + br + + + + + + Tunnel + + + rotation + + + + NetName + st + + + + + + Tunnel + + + rotation + + + + NetName + ld + + + + + + Tunnel + + + rotation + + + + NetName + ioW + + + + + + Tunnel + + + rotation + + + + NetName + ioR + + + + + + Tunnel + + + rotation + + + + NetName + iem + + + + + + Tunnel + + + rotation + + + + NetName + RetI + + + + + + Tunnel + + + rotation + + + + NetName + iem + + + + + + ClockDiv.dig + + + + + Clock + + + runRealTime + true + + + Label + Clock + + + Frequency + 2147483647 + + + + + + Tunnel + + + NetName + C + + + + + + Tunnel + + + NetName + C_in + + + + + + Tunnel + + + NetName + S_in + + + + + + Const + + + Value + 0 + + + Bits + 16 + + + + + + Multiplexer + + + rotation + + + + Bits + 8 + + + + + + Tunnel + + + rotation + + + + NetName + S_in + + + + + + Const + + + Value + 0 + + + Bits + 8 + + + + + + Or + + + rotation + + + + + @@ -793,12 +894,28 @@ Von Neumann Two-Cycle CPU.}} - - + + + + + + - + + + + + + + + + + + + + @@ -816,10 +933,6 @@ Von Neumann Two-Cycle CPU.}} - - - - @@ -828,6 +941,18 @@ Von Neumann Two-Cycle CPU.}} + + + + + + + + + + + + @@ -861,12 +986,16 @@ Von Neumann Two-Cycle CPU.}} - + + + + + - - + + @@ -889,12 +1018,16 @@ Von Neumann Two-Cycle CPU.}} - - + + - - + + + + + + @@ -909,25 +1042,25 @@ Von Neumann Two-Cycle CPU.}} - - + + - - + + - - + + + + + + - - - - @@ -940,6 +1073,10 @@ Von Neumann Two-Cycle CPU.}} + + + + @@ -948,25 +1085,9 @@ Von Neumann Two-Cycle CPU.}} - - - - - - - - - - - - - - - - - + @@ -996,6 +1117,22 @@ Von Neumann Two-Cycle CPU.}} + + + + + + + + + + + + + + + + @@ -1009,17 +1146,25 @@ Von Neumann Two-Cycle CPU.}} - - + + - - + + + + + + + + + + @@ -1040,6 +1185,10 @@ Von Neumann Two-Cycle CPU.}} + + + + @@ -1056,14 +1205,6 @@ Von Neumann Two-Cycle CPU.}} - - - - - - - - @@ -1080,10 +1221,6 @@ Von Neumann Two-Cycle CPU.}} - - - - @@ -1092,25 +1229,21 @@ Von Neumann Two-Cycle CPU.}} - - - - - - - - - - + + - - + + + + + + @@ -1128,37 +1261,45 @@ Von Neumann Two-Cycle CPU.}} - - - - - - - - - - + + + + + + + + + + + + + + - + - - + + - - + + - - + + + + + + @@ -1169,36 +1310,44 @@ Von Neumann Two-Cycle CPU.}} - - + + - - + + + + + + - - + + + + + + - + @@ -1208,10 +1357,6 @@ Von Neumann Two-Cycle CPU.}} - - - - @@ -1224,6 +1369,10 @@ Von Neumann Two-Cycle CPU.}} + + + + @@ -1232,6 +1381,10 @@ Von Neumann Two-Cycle CPU.}} + + + + @@ -1240,10 +1393,6 @@ Von Neumann Two-Cycle CPU.}} - - - - @@ -1253,24 +1402,28 @@ Von Neumann Two-Cycle CPU.}} - - + + - - + + - - + + - - + + - - + + + + + + @@ -1281,32 +1434,40 @@ Von Neumann Two-Cycle CPU.}} - - - - - - + + - - + + - - + + - - + + + + + + + + + + + + + + diff --git a/src/main/dig/processor/core/ControlTwoCycle.dig b/src/main/dig/processor/core/ControlTwoCycle.dig deleted file mode 100644 index 7bcd25b92..000000000 --- a/src/main/dig/processor/core/ControlTwoCycle.dig +++ /dev/null @@ -1,696 +0,0 @@ - - - 1 - - - Description - Control unit for a simple processor. -It works purely combinatorial. -Since it is relatively complex (24 output bits), it is -implemented by a corresponding ROM component, -and not by 24 individual combinatorial circuits. -{{de Leitwerk für einen einfachen Prozessor. -Es arbeitet rein kombinatorisch, es handelt sich -also um ein einfaches Schaltnetz. -Da es vergleichsweise komplex ist (24 -Ausgangsbits), wird es durch einen -entsprechenden ROM-Baustein -realisiert, und nicht durch 24 einzelne Schaltnetze.}} - - - Width - 5 - - - - - In - - - Description - The obcode and the immediate bit. -{{de Der Opcode incl. Immediate Bit}} - - - Label - Op - - - Bits - 7 - - - - - - Splitter - - - Input Splitting - 7 - - - Output Splitting - 6,1 - - - - - - Multiplexer - - - Bits - 6 - - - - - - Const - - - Value - 0 - - - Bits - 6 - - - - - - ROM - - - AddrBits - 6 - - - Label - Logic - - - Bits - 24 - - - Addr Bits - 6 - - - Data - 0,200080,4004c0,4044c0,4008c0,4048c0,400cc0,4010c0,4014c0,c4,d4,4004c4,4004d4,4044c4, -4044d4,4008c4,4008d4,4048c4,4048d4,400cc4,400cd4,4010c4,4010d4,4014c4,4014d4,402cc0, -402cc4,402cd4,400800,400804,400814,4018c0,401cc0,4058c0,405cc0,4020c0,24c0,28c0,20040a, -689,200006,20001e,85,95,200406,685,8018,10018,18018,28018,30018,38018,1a4,20,24,20018, -240004,24001c,240408,80284,80294,80688,100000,800020 - - - lastDataFile - - /home/hneemann/Dokumente/DHBW/Technische_Informatik_II/Systemnahes_Programmieren/java/assembler3/control.dat - - - - - - - Const - - - - - Out - - - Description - The programm counter is stored in a register. -{{de Programm Counter in Register Speichern}} - - - Label - stPC - - - - - - Splitter - - - Input Splitting - 24 - - - Output Splitting - 1*2,3,1*5,5,3,1*6 - - - - - - Out - - - Description - The data bus value ist stored in a register. -{{de Wert am Datenbus in Register speichern}} - - - Label - WE - - - - - - Out - - - Description - Enables the storage of a constant value. -{{de Aktiviert das Speichern der Konstanten}} - - - Label - imm - - - - - - Out - - - Description - triggers a absolute jump -{{de absoluten Sprung auslösen}} - - - Label - absJmp - - - - - - Out - - - Description - selector for mux B -{{de Selektor für Mux B}} - - - Label - muxB - - - Bits - 3 - - - - - - Out - - - Description - Put source register to data bus -{{de SourceRegister auf Datenbus legen}} - - - Label - srcToD - - - - - - Out - - - Description - selector for mux A -{{de Selector für Mux A}} - - - Label - muxA - - - - - - Out - - - Description - ALU value is put on the data bus. -{{de ALU auf den Datenbus legen}} - - - Label - ALUToBus - - - - - - Out - - - Description - the operation of the ALU -{{de Operation der ALU}} - - - Label - ALUop - - - Bits - 5 - - - - - - Out - - - Description - If set, the ALU performs an arithmetic operation so that the -flags must be stored. -{{de Wenn gesetzt führt die ALU eine arithmetische Operation -aus, so dass die Flags gespeichert werden müssen.}} - - - Label - storeFlags - - - - - - Out - - - Description - kind of branch -{{de Art des bedingten Sprunges}} - - - Label - Branch - - - Bits - 3 - - - - - - Out - - - Description - The RAM stores the data on the data bus. -{{de Ram speichert Daten vom Datenbus}} - - - Label - st - - - - - - Out - - - Description - The RAM component puts its content to the -data bus. -{{de Ram gibt Daten auf den Datenbus}} - - - Label - ld - - - - - - Break - - - Cycles - 600000 - - - Label - Break - - - - - - Out - - - Description - write to IO -{{de Es wird auf die IO geschrieben}} - - - Label - ioW - - - - - - Out - - - Description - read from IO -{{de Es wird IO gelesen}} - - - Label - ioR - - - - - - PullDown - - - Bits - 24 - - - - - - Or - - - - - And - - - - - Not - - - - - Or - - - - - ClockDiv.dig - - - - - Clock - - - Label - Clock - - - - - - Out - - - Description - Clock used to execute an instruction. -{{de Takt der das Ausführen eines Befehlswortes -steuert.}} - - - Label - C - - - - - - Out - - - Description - Clock signal to read the next instruction. -{{de Taktsignal für das Lesen eines Befehlswortes}} - - - Label - C_in - - - - - - Out - - - Description - Signal to configure the processor for reading -the next instruction. -{{de Signal welches den Prozessor für das Lesen -eines Befehlswortes konfiguriert.}} - - - Label - S_in - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/main/dig/processor/core/Memory.dig b/src/main/dig/processor/core/Memory.dig index acebdf0b5..17455feab 100644 --- a/src/main/dig/processor/core/Memory.dig +++ b/src/main/dig/processor/core/Memory.dig @@ -56,17 +56,17 @@ selben Adressraum.}} Data - 6e28,54,68,65,73,65,20,61,72,65,20,67,72,65,65,74,69,6e,67,73,20,74,6f,20,74,68,65, -20,77,68,6f,6c,65,20,77,6f,72,6c,64,21,0,1441,803f,1230,203,264,4e16,3c10,5e14,8020, -1e10,3618,8050,1610,1458,3c00,6003,4e21,72a2,72b0,1801,8040,3a00,5e05,1811,2051,65f4, -1861,6fe9,7c00,2031,fff8,3b30,65e2,1430,1841,4e14,3c10,65dd,6fd9,0,0,0,0,0,0,0,0, -0,0,38,dfc,dfc,38,0,0,0,e,1e,0,0,1e,e,0,220,ff8,ff8,220,ff8,ff8,220,0,638,c7c,844, -3847,3847,fcc,798,0,c30,630,300,180,c0,c60,c30,0,780,fd8,87c,8e4,7bc,fd8,840,0,0, -10,1e,e,0,0,0,0,0,0,3f0,7f8,c0c,804,0,0,0,0,804,c0c,7f8,3f0,0,0,80,2a0,3e0,1c0,1c0, -3e0,2a0,80,0,80,80,3e0,3e0,80,80,0,0,0,1000,1e00,e00,0,0,0,80,80,80,80,80,80,80,0, -0,0,0,c00,c00,0,0,0,c00,600,300,180,c0,60,30,0,3f0,7f8,c0c,8c4,8c4,c0c,7f8,3f0,0, -810,818,ffc,ffc,800,800,0,e08,f0c,984,8c4,864,c3c,c18,0,408,c0c,844,844,844,ffc,7b8, -0,c0,e0,b0,898,ffc,ffc,880,0,47c,c7c,844,844,844,fc4,784,0,7f0,ff8,84c,844,844,fc0, + 8028,940,803f,930,103,164,2c16,2110,3514,8020,f10,1d18,8050,b10,a58,2100,3603,2c21, +3fa2,3fb0,c01,8040,2000,3505,c11,1051,38f4,c61,3de9,4400,1031,fff8,2031,38e2,a30, +c41,2c14,2110,38dd,3dd8,54,68,65,73,65,20,61,72,65,20,67,72,65,65,74,69,6e,67,73, +20,74,6f,20,74,68,65,20,77,68,6f,6c,65,20,77,6f,72,6c,64,21,0,0,0,0,0,0,0,0,0,0,0, +38,dfc,dfc,38,0,0,0,e,1e,0,0,1e,e,0,220,ff8,ff8,220,ff8,ff8,220,0,638,c7c,844,3847, +3847,fcc,798,0,c30,630,300,180,c0,c60,c30,0,780,fd8,87c,8e4,7bc,fd8,840,0,0,10,1e, +e,0,0,0,0,0,0,3f0,7f8,c0c,804,0,0,0,0,804,c0c,7f8,3f0,0,0,80,2a0,3e0,1c0,1c0,3e0, +2a0,80,0,80,80,3e0,3e0,80,80,0,0,0,1000,1e00,e00,0,0,0,80,80,80,80,80,80,80,0,0,0, +0,c00,c00,0,0,0,c00,600,300,180,c0,60,30,0,3f0,7f8,c0c,8c4,8c4,c0c,7f8,3f0,0,810, +818,ffc,ffc,800,800,0,e08,f0c,984,8c4,864,c3c,c18,0,408,c0c,844,844,844,ffc,7b8,0, +c0,e0,b0,898,ffc,ffc,880,0,47c,c7c,844,844,844,fc4,784,0,7f0,ff8,84c,844,844,fc0, 780,0,c,c,f04,f84,c4,7c,3c,0,7b8,ffc,844,844,844,ffc,7b8,0,38,87c,844,844,c44,7fc, 3f8,0,0,0,0,630,630,0,0,0,0,0,800,e30,630,0,0,0,0,80,1c0,360,630,c18,808,0,0,120, 120,120,120,120,120,0,0,808,c18,630,360,1c0,80,0,18,1c,4,dc4,de4,3c,18,0,7f0,ff8, @@ -321,4 +321,5 @@ fe0,fc0,0,7c0,fe0,820,820,820,fe0,7c0,0,4020,7fe0,7fc0,4820,820,fe0,7c0,0,7c0,fe + \ No newline at end of file