From b5a8de55f896a6ce474fb6e9ccba2f33b019e74e Mon Sep 17 00:00:00 2001 From: Jan Tuomi Date: Thu, 13 Apr 2023 16:10:51 +0300 Subject: Refactor CPU layout --- digital/atk16.dig | 1381 ++++++++++++++++++++++++++--------------------------- 1 file changed, 670 insertions(+), 711 deletions(-) (limited to 'digital') diff --git a/digital/atk16.dig b/digital/atk16.dig index 056fbb0..2b804fd 100644 --- a/digital/atk16.dig +++ b/digital/atk16.dig @@ -71,52 +71,6 @@ - - Register - - - valueIsProbe - true - - - Label - FR - - - Bits - 4 - - - - - - Tunnel - - - rotation - - - - NetName - FR_IE - - - - - - Tunnel - - - rotation - - - - NetName - MAR_IE - - - - Tunnel @@ -131,72 +85,6 @@ - - Splitter - - - Input Splitting - 3,1,4 - - - - - - Tunnel - - - rotation - - - - NetName - OPCODE - - - - - - BitSelector - - - Selector Bits - 2 - - - - - - Tunnel - - - rotation - - - - NetName - FLAG_EQ - - - - - - Splitter - - - rotation - - - - Input Splitting - 3 - - - Output Splitting - 2, - - - - CounterPreset @@ -234,7 +122,7 @@ rotation - + @@ -281,20 +169,6 @@ - - Tunnel - - - rotation - - - - NetName - CLK - - - - atk16_mem.dig @@ -329,14 +203,19 @@ - atk16_decoder.dig + atk16_jump_unit.dig + + + + + Probe - shapeType - CUSTOM + Label + PC - + Tunnel @@ -347,366 +226,389 @@ NetName - RW_IE + OPCODE - + - Tunnel + Probe - rotation - - - - NetName - CLK + Label + OPCODE - - - - atk16_regbank.dig - - + - Counter + Testcase - - valueIsProbe - true - Label - Microsequencer + Sum program TODO - Bits - 3 + Testdata + + IN OUT + +program(0x4051, 0x40a2, 0x029b) + +0 x + - + - Tunnel + Out - rotation - + Description + Dummy output - NetName - US_RS + Label + OUT - + - VDD + Ground rotation - + - Not - - + In + + + Label + IN + + + - Tunnel + Ground rotation - - - - NetName - CLK + - + - Reset + Clock - invertOutput - false + small + true + + + runRealTime + true + + + Frequency + 50 - + - Or + Break - + - Tunnel + DipSwitch - NetName - FLAG_EQ + Label + IRQ0 - + - Tunnel + Ground rotation - - - - NetName - IR_IE + - + - Tunnel + Ground rotation - - - - NetName - CLK + - + - Tunnel + Ground - NetName - OPCODE + rotation + - + Splitter - - mirror - true - Input Splitting - 16 + 1*4 Output Splitting - 1*16 + 4 - + - Tunnel + atk16_decoder.dig - NetName - PC_CO + shapeType + CUSTOM - + Tunnel NetName - PC_IE + FLAG_EQ - + Tunnel + + rotation + + NetName - PC_OE + IR_IE - + Tunnel + + rotation + + NetName - MAR_IE + CLK - + Tunnel NetName - MEM_IE + OPCODE - + Tunnel + + rotation + + NetName - MEM_OE + LI_OE - + Tunnel + + rotation + + NetName - R1_OE + RW_IE - + Tunnel + + rotation + + NetName - IR_IE + CLK - + - Tunnel + atk16_regbank.dig + + + + + Driver - NetName - ALU_OE + Bits + 16 + + + flipSelPos + true - + Tunnel NetName - US_RS + R2_OE - + - Tunnel + Driver - NetName - FR_IE + Bits + 16 + + + flipSelPos + true - + Tunnel NetName - RW_IE + R1_OE - + - Stop + atk16_alu_inputs.dig - + Tunnel + + rotation + + NetName - LI_OE + IM_M - + - EEPROM + atk16_alu.dig - AddrBits - 8 + shapeType + SIMPLE Label - UCODE - - - Bits - 16 - - - Data - c,221,3040,8000,4*0,c,221,3040,8000,4*0,c,221,3440,8000,4*0,c -,221,3440,8000,4*0,c,221,88,60,8000,0,0,0,c,221,88,60,8000,0,0,0 -,c,221,88,110,8000,0,0,0,c,221,88,110,8000,0,0,0,c,221,840,8000 -,4*0,c,221,840,8000,4*0,c,221,82,8000,4*0,c,221,82,8000,4*0,c -,221,c02,8000,4*0,c,221,c02,8000,4*0,c,221,8000,5*0,c,221,82,8000 -,4*0,c,221,8000,5*0,c,221,c02,8000,4*0,c,221,44,8000,4*0,c,221 -,44,8000,4*0,c,221,8000,5*0,c,221,8000,5*0,c,221,8000,5*0,c,221 -,8000,5*0,c,221,8000,5*0,c,221,8000,5*0,c,221,8000,5*0,c,221,8000 -,5*0,c,221,8000,5*0,c,221,8000,5*0,c,221,4000,5*0,c,221,4000 + ALU - + - VDD + Driver - rotation - + Bits + 16 - + - Ground + Register - rotation - + valueIsProbe + true + + + Label + FR + + + Bits + 4 - + - VDD + Tunnel rotation - + + + + NetName + FR_IE - + Tunnel @@ -717,63 +619,77 @@ NetName - LI_OE + CLK - + - atk16_alu.dig + Tunnel - shapeType - SIMPLE - - - Label - ALU + NetName + ALU_OE - + - atk16_alu_inputs.dig - - + Tunnel + + + NetName + FR_Q + + + - Driver + Counter + + valueIsProbe + true + + + Label + Microsequencer + Bits - 16 + 3 - + - Driver + Tunnel - Bits - 16 + rotation + - flipSelPos - true + NetName + US_RS - + - Tunnel + VDD - NetName - R1_OE + rotation + - + + + + Not + + Tunnel @@ -784,15 +700,35 @@ NetName - IM_M + CLK - + - atk16_jump_unit.dig + Reset + + + invertOutput + false + + + + + + Or - + + + + Splitter + + + Input Splitting + 3,1,4 + + + Tunnel @@ -803,34 +739,52 @@ NetName - IM_M + OPCODE + + + + + + BitSelector + + + Selector Bits + 2 - + Tunnel rotation - + NetName - ALU_OE + FLAG_EQ - + - Probe + Splitter - Label - PC + rotation + + + + Input Splitting + 3 + + + Output Splitting + 2, - + Tunnel @@ -841,312 +795,365 @@ NetName - OPCODE + FR_Q - + - Probe + EEPROM + + AddrBits + 8 + Label - OPCODE + UCODE + + + Bits + 16 + + + Data + c,221,3040,8000,4*0,c,221,3040,8000,4*0,c,221,3440,8000,4*0,c +,221,3440,8000,4*0,c,221,88,60,8000,0,0,0,c,221,88,60,8000,0,0,0 +,c,221,88,110,8000,0,0,0,c,221,88,110,8000,0,0,0,c,221,840,8000 +,4*0,c,221,840,8000,4*0,c,221,82,8000,4*0,c,221,82,8000,4*0,c +,221,c02,8000,4*0,c,221,c02,8000,4*0,c,221,8000,5*0,c,221,82,8000 +,4*0,c,221,8000,5*0,c,221,c02,8000,4*0,c,221,44,8000,4*0,c,221 +,44,8000,4*0,c,221,8000,5*0,c,221,8000,5*0,c,221,8000,5*0,c,221 +,8000,5*0,c,221,8000,5*0,c,221,8000,5*0,c,221,8000,5*0,c,221,8000 +,5*0,c,221,8000,5*0,c,221,8000,5*0,c,221,4000,5*0,c,221,4000 - + - Tunnel + VDD - NetName - IM_M + rotation + - + - Tunnel + Ground - NetName - R2_OE + rotation + - + - Driver + VDD - Bits - 16 + rotation + + + + + + Splitter + - flipSelPos + mirror true + + Input Splitting + 16 + + + Output Splitting + 1*16 + - + Tunnel NetName - R2_OE + PC_CO - + - Testcase + Tunnel - Label - Sum program TODO + NetName + PC_IE + + + + + Tunnel + - Testdata - - IN OUT - -program(0x4051, 0x40a2, 0x029b) - -0 x - + NetName + PC_OE + + + + + + Tunnel + + + NetName + MAR_IE - + - Out + Tunnel - Description - Dummy output - - - Label - OUT + NetName + MEM_IE - + - Ground + Tunnel - rotation - + NetName + MEM_OE - + - In + Tunnel - Label - IN + NetName + R1_OE - + - Ground + Tunnel - rotation - + NetName + IR_IE - + - Clock + Tunnel - small - true - - - runRealTime - true + NetName + ALU_OE + + + + + Tunnel + - Frequency - 50 + NetName + US_RS - + Tunnel NetName - CLK + FR_IE - + - Break - - + Tunnel + + + NetName + RW_IE + + + - atk16_irc.dig + Stop - + - Probe + Tunnel - Label - Bus + NetName + LI_OE - + Tunnel - rotation - + NetName + IM_M + + + + + Tunnel + NetName - PC_OE + R2_OE - + - Tunnel + Driver - rotation - + Bits + 16 - NetName - MAR_IE + flipSelPos + true - + - DipSwitch + Probe Label - IRQ0 + Bus - + - Ground + Tunnel rotation - + + + + NetName + MAR_IE - + - Ground + Tunnel rotation - + + + + NetName + PC_OE - + - Ground + Tunnel - rotation - + NetName + CLK - + - Splitter + Tunnel - Input Splitting - 1*4 + rotation + - Output Splitting - 4 + NetName + IM_M - + - - - - - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - + + - - + + - - + + @@ -1161,104 +1168,100 @@ program(0x4051, 0x40a2, 0x029b) - - + + - - + + - - + + - - - - - + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + @@ -1269,28 +1272,16 @@ program(0x4051, 0x40a2, 0x029b) - - - - - - - - - - - - - - + + - - + + - - + + @@ -1301,32 +1292,12 @@ program(0x4051, 0x40a2, 0x029b) - - - - - - - - - - - - - - - - - - - - - - + + - - + + @@ -1341,112 +1312,124 @@ program(0x4051, 0x40a2, 0x029b) - - + + - - + + + + + + + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + @@ -1457,7 +1440,15 @@ program(0x4051, 0x40a2, 0x029b) - + + + + + + + + + @@ -1466,227 +1457,195 @@ program(0x4051, 0x40a2, 0x029b) - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + -- cgit v1.3