From 549901c85044b6ccd912688d6be007c2fdacc6c6 Mon Sep 17 00:00:00 2001 From: Jan Tuomi Date: Tue, 20 Feb 2024 16:55:14 +0200 Subject: Refactor dir structure --- digital-diagrams/atk16.dig | 2748 ++++++++++++++++++ digital-diagrams/atk16_alu.dig | 1695 +++++++++++ digital-diagrams/atk16_alu_carryfix.dig | 270 ++ digital-diagrams/atk16_alu_fo.dig | 494 ++++ digital-diagrams/atk16_alu_fz.dig | 192 ++ digital-diagrams/atk16_alu_inputs.dig | 215 ++ digital-diagrams/atk16_decoder.dig | 364 +++ digital-diagrams/atk16_graphics_mode.dig | 311 ++ digital-diagrams/atk16_irc.dig | 341 +++ digital-diagrams/atk16_jump_unit.dig | 193 ++ digital-diagrams/atk16_mem.dig | 949 ++++++ digital-diagrams/atk16_mem_mux.dig | 276 ++ digital-diagrams/atk16_peripherals.dig | 852 ++++++ digital-diagrams/atk16_ppu.dig | 827 ++++++ digital-diagrams/atk16_ppu_palette.dig | 225 ++ digital-diagrams/atk16_ppu_sprite_eval.dig | 4325 ++++++++++++++++++++++++++++ digital-diagrams/atk16_regbank.dig | 1499 ++++++++++ digital-diagrams/atk16_tpu.dig | 1165 ++++++++ digital-diagrams/atk16_ucode_addr.dig | 741 +++++ digital-diagrams/atk16_vga_sync.dig | 999 +++++++ 20 files changed, 18681 insertions(+) create mode 100644 digital-diagrams/atk16.dig create mode 100644 digital-diagrams/atk16_alu.dig create mode 100644 digital-diagrams/atk16_alu_carryfix.dig create mode 100644 digital-diagrams/atk16_alu_fo.dig create mode 100644 digital-diagrams/atk16_alu_fz.dig create mode 100644 digital-diagrams/atk16_alu_inputs.dig create mode 100644 digital-diagrams/atk16_decoder.dig create mode 100644 digital-diagrams/atk16_graphics_mode.dig create mode 100644 digital-diagrams/atk16_irc.dig create mode 100644 digital-diagrams/atk16_jump_unit.dig create mode 100644 digital-diagrams/atk16_mem.dig create mode 100644 digital-diagrams/atk16_mem_mux.dig create mode 100644 digital-diagrams/atk16_peripherals.dig create mode 100644 digital-diagrams/atk16_ppu.dig create mode 100644 digital-diagrams/atk16_ppu_palette.dig create mode 100644 digital-diagrams/atk16_ppu_sprite_eval.dig create mode 100644 digital-diagrams/atk16_regbank.dig create mode 100644 digital-diagrams/atk16_tpu.dig create mode 100644 digital-diagrams/atk16_ucode_addr.dig create mode 100644 digital-diagrams/atk16_vga_sync.dig (limited to 'digital-diagrams') diff --git a/digital-diagrams/atk16.dig b/digital-diagrams/atk16.dig new file mode 100644 index 0000000..87f7ddb --- /dev/null +++ b/digital-diagrams/atk16.dig @@ -0,0 +1,2748 @@ + + + 2 + + + romContent + + + + + + view1 + + + 0.8446671195652201 + 0.0 + 0.0 + 0.8446671195652201 + 481.55870489058793 + 445.5141438507956 + + + + + view2 + + + 0.8446671195652201 + 0.0 + 0.0 + 0.8446671195652201 + 481.55870489058793 + 445.5141438507956 + + + + + view3 + + + 0.8446671195652201 + 0.0 + 0.0 + 0.8446671195652201 + 481.55870489058793 + 445.5141438507956 + + + + + showDataTable + true + + + + + Register + + + valueIsProbe + true + + + Label + MAR + + + Bits + 16 + + + + + + CounterPreset + + + valueIsProbe + true + + + Label + PC + + + Bits + 16 + + + isProgramCounter + true + + + + + + Ground + + + rotation + + + + + + + Tunnel + + + rotation + + + + NetName + CLK + + + + + + atk16_mem.dig + + + Label + MEMORY + + + + + + atk16_jump_unit.dig + + + + + Probe + + + Label + PC + + + + + + atk16_decoder.dig + + + shapeType + CUSTOM + + + + + + Tunnel + + + NetName + FLAG_S + + + + + + Tunnel + + + rotation + + + + NetName + IR_IE + + + + + + Tunnel + + + rotation + + + + NetName + CLK + + + + + + Tunnel + + + rotation + + + + NetName + LI_OE + + + + + + Tunnel + + + rotation + + + + NetName + RW_IE + + + + + + Tunnel + + + rotation + + + + NetName + CLK + + + + + + atk16_regbank.dig + + + + + Driver + + + Bits + 16 + + + flipSelPos + true + + + + + + Tunnel + + + NetName + R2_OE + + + + + + Driver + + + Bits + 16 + + + flipSelPos + true + + + + + + Tunnel + + + NetName + R1_OE + + + + + + atk16_alu_inputs.dig + + + + + Tunnel + + + rotation + + + + NetName + IM_M + + + + + + atk16_alu.dig + + + shapeType + SIMPLE + + + Label + ALU + + + + + + Driver + + + Bits + 16 + + + + + + Register + + + valueIsProbe + true + + + Label + FR + + + Bits + 4 + + + + + + Tunnel + + + rotation + + + + NetName + FR_IE + + + + + + Tunnel + + + rotation + + + + NetName + CLK + + + + + + Tunnel + + + NetName + ALU_OE + + + + + + Tunnel + + + NetName + FR_Q + + + + + + Counter + + + valueIsProbe + true + + + Label + Microsequencer + + + Bits + 3 + + + + + + VDD + + + rotation + + + + + + + Not + + + + + Tunnel + + + rotation + + + + NetName + CLK + + + + + + Driver + + + Bits + 16 + + + flipSelPos + true + + + + + + Probe + + + Label + Bus + + + + + + Tunnel + + + rotation + + + + NetName + MAR_IE + + + + + + Tunnel + + + rotation + + + + NetName + PC_OE + + + + + + Tunnel + + + rotation + + + + NetName + IM_M + + + + + + Tunnel + + + rotation + + + + NetName + OPCODE + + + + + + Probe + + + Label + OPCODE + + + + + + Tunnel + + + rotation + + + + NetName + PC_CO + + + + + + Tunnel + + + rotation + + + + NetName + CLK + + + + + + Ground + + + rotation + + + + + + + Tunnel + + + rotation + + + + NetName + PC_IE + + + + + + Splitter + + + mirror + true + + + Input Splitting + 24 + + + Output Splitting + 1*24 + + + + + + Tunnel + + + NetName + PC_CO + + + + + + Tunnel + + + NetName + PC_IE + + + + + + Tunnel + + + NetName + PC_OE + + + + + + Tunnel + + + NetName + MAR_IE + + + + + + Tunnel + + + NetName + MEM_IE + + + + + + Tunnel + + + NetName + MEM_OE + + + + + + Tunnel + + + NetName + R1_OE + + + + + + Tunnel + + + NetName + IR_IE + + + + + + Tunnel + + + NetName + ALU_OE + + + + + + Tunnel + + + NetName + US_RS + + + + + + Tunnel + + + NetName + FR_IE + + + + + + Tunnel + + + NetName + RW_IE + + + + + + Stop + + + + + Tunnel + + + NetName + LI_OE + + + + + + Tunnel + + + NetName + IM_M + + + + + + Tunnel + + + NetName + R2_OE + + + + + + atk16_ucode_addr.dig + + + + + Tunnel + + + rotation + + + + NetName + FLAG_S + + + + + + Tunnel + + + rotation + + + + NetName + FR_Q + + + + + + Tunnel + + + rotation + + + + NetName + OPCODE + + + + + + Tunnel + + + NetName + OPCODE + + + + + + Tunnel + + + rotation + + + + NetName + US_Q + + + + + + Tunnel + + + NetName + ISRA_OE + + + + + + Tunnel + + + rotation + + + + NetName + IM_EN + + + + + + Tunnel + + + rotation + + + + NetName + IM_DS + + + + + + Tunnel + + + NetName + IPC_IE + + + + + + Tunnel + + + NetName + IPC_OE + + + + + + Driver + + + Bits + 16 + + + flipSelPos + true + + + + + + Tunnel + + + NetName + ISRA_OE + + + + + + Const + + + Value + 4 + + + Bits + 14 + + + intFormat + hex + + + + + + Tunnel + + + rotation + + + + NetName + IT_N + + + + + + Splitter + + + Input Splitting + 2,14 + + + Output Splitting + 16 + + + + + + Register + + + Label + IPC + + + Bits + 16 + + + + + + Tunnel + + + rotation + + + + NetName + IPC_IE + + + + + + Driver + + + Bits + 16 + + + flipSelPos + true + + + + + + Tunnel + + + NetName + IPC_OE + + + + + + Tunnel + + + rotation + + + + NetName + CLK + + + + + + Tunnel + + + NetName + IM_EN + + + + + + Tunnel + + + NetName + IM_DS + + + + + + Tunnel + + + rotation + + + + NetName + CLK + + + + + + Tunnel + + + rotation + + + + NetName + MEM_IE + + + + + + Tunnel + + + rotation + + + + NetName + MEM_OE + + + + + + Tunnel + + + NetName + DBUS + + + + + + Probe + + + Label + MMIO_S + + + + + + Tunnel + + + NetName + MMIO_IE + + + + + + Tunnel + + + NetName + MMIO_OE + + + + + + Tunnel + + + NetName + MMIO_S + + + + + + atk16_peripherals.dig + + + + + Tunnel + + + rotation + + + + NetName + MMIO_OE + + + + + + Tunnel + + + rotation + + + + NetName + IT_N + + + + + + Tunnel + + + rotation + + + + NetName + IM_DS + + + + + + Counter + + + Label + CLK divider /16 + + + Bits + 4 + + + + + + Tunnel + + + NetName + CLK + + + + + + VDD + + + rotation + + + + + + + Ground + + + + + Clock + + + runRealTime + true + + + Frequency + 25175000 + + + + + + Tunnel + + + NetName + IT_N + + + + + + EEPROM + + + AddrBits + 8 + + + Label + UCODE + + + Bits + 24 + + + 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,c0004,10008,22,8000,4*0,c0004,10008,22,8000,4*0,c0004 +,10008,22,8000,4*0,c0004,10008,22,8000,4*0,c,221,120002,8000,4*0 +,c,221,120002,8000,4*0,c,221,4000,5*0,c,221,4000 + + + + + + VDD + + + rotation + + + + + + + Ground + + + rotation + + + + + + + VDD + + + rotation + + + + + + + Tunnel + + + NetName + DBUS + + + + + + Tunnel + + + rotation + + + + NetName + MMIO_IE + + + + + + Tunnel + + + rotation + + + + NetName + MMIO_S + + + + + + Tunnel + + + rotation + + + + NetName + CLK + + + + + + Tunnel + + + rotation + + + + NetName + MMIO_IE + + + + + + Tunnel + + + rotation + + + + NetName + CLK + + + + + + atk16_graphics_mode.dig + + + + + Tunnel + + + rotation + + + + NetName + MMIO_S + + + + + + Tunnel + + + NetName + PCLK + + + + + + Probe + + + Label + GRAPHICS MODE + + + + + + Tunnel + + + NetName + GRMODE + + + + + + atk16_ppu.dig + + + + + Splitter + + + Input Splitting + 2,2,2 + + + Output Splitting + 6 + + + + + + Tunnel + + + rotation + + + + NetName + DBUS + + + + + + Tunnel + + + rotation + + + + NetName + PCLK + + + + + + Tunnel + + + rotation + + + + NetName + CLK + + + + + + Tunnel + + + rotation + + + + NetName + PCLK + + + + + + Tunnel + + + rotation + + + + NetName + MMIO_IE + + + + + + Tunnel + + + rotation + + + + NetName + MMIO_OE + + + + + + Tunnel + + + rotation + + + + NetName + MMIO_S + + + + + + atk16_tpu.dig + + + + + Tunnel + + + rotation + + + + NetName + MMIO_IE + + + + + + Tunnel + + + rotation + + + + NetName + MMIO_OE + + + + + + Tunnel + + + rotation + + + + NetName + MMIO_S + + + + + + VGA + + + + + Splitter + + + Input Splitting + 6 + + + Output Splitting + 2,2,2 + + + + + + Tunnel + + + rotation + + + + NetName + PCLK + + + + + + Splitter + + + Input Splitting + 2,2,2 + + + Output Splitting + 6 + + + + + + Multiplexer + + + Selector Bits + 2 + + + Bits + 6 + + + + + + Tunnel + + + rotation + + + + NetName + GRMODE + + + + + + Const + + + Value + 0 + + + Bits + 6 + + + + + + Probe + + + intFormat + dec + + + + + + Probe + + + intFormat + dec + + + + + + atk16_vga_sync.dig + + + + + Tunnel + + + rotation + + + + NetName + DBUS + + + + + + Tunnel + + + rotation + + + + NetName + PCLK + + + + + + Tunnel + + + rotation + + + + NetName + US_RS + + + + + + Reset + + + invertOutput + false + + + + + + Or + + + + + Break + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/digital-diagrams/atk16_alu.dig b/digital-diagrams/atk16_alu.dig new file mode 100644 index 0000000..0f40f94 --- /dev/null +++ b/digital-diagrams/atk16_alu.dig @@ -0,0 +1,1695 @@ + + + 2 + + + romContent + + + + + + Width + 5 + + + + + Add + + + Label + PLUS + + + Bits + 16 + + + + + + Tunnel + + + rotation + + + + NetName + A + + + + + + Tunnel + + + rotation + + + + NetName + B + + + + + + Ground + + + + + Tunnel + + + NetName + Y + + + + + + Tunnel + + + NetName + FC + + + + + + Driver + + + Bits + 16 + + + + + + Tunnel + + + rotation + + + + NetName + S0 + + + + + + Driver + + + + + Tunnel + + + rotation + + + + NetName + S0 + + + + + + atk16_alu_fo.dig + + + Label + Overflow flag + + + + + + Tunnel + + + rotation + + + + NetName + A + + + + + + Tunnel + + + rotation + + + + NetName + B + + + + + + Ground + + + + + Tunnel + + + NetName + Y + + + + + + Tunnel + + + NetName + FC + + + + + + Driver + + + Bits + 16 + + + + + + Tunnel + + + rotation + + + + NetName + S1 + + + + + + Driver + + + + + Tunnel + + + rotation + + + + NetName + S1 + + + + + + Sub + + + Label + MINUS + + + Bits + 16 + + + + + + And + + + Bits + 16 + + + + + + Text + + + Description + AND + + + + + + Tunnel + + + rotation + + + + NetName + A + + + + + + Tunnel + + + rotation + + + + NetName + B + + + + + + Driver + + + Bits + 16 + + + + + + Tunnel + + + rotation + + + + NetName + S2 + + + + + + Tunnel + + + NetName + Y + + + + + + Or + + + Bits + 16 + + + + + + Text + + + Description + OR + + + + + + Tunnel + + + rotation + + + + NetName + A + + + + + + Tunnel + + + rotation + + + + NetName + B + + + + + + Driver + + + Bits + 16 + + + + + + Tunnel + + + rotation + + + + NetName + S3 + + + + + + Tunnel + + + NetName + Y + + + + + + XOr + + + Bits + 16 + + + + + + Text + + + Description + XOR + + + + + + Tunnel + + + rotation + + + + NetName + A + + + + + + Tunnel + + + rotation + + + + NetName + B + + + + + + Driver + + + Bits + 16 + + + + + + Tunnel + + + rotation + + + + NetName + S4 + + + + + + Tunnel + + + NetName + Y + + + + + + BarrelShifter + + + Label + LOG SHIFT RIGHT + + + Bits + 16 + + + direction + right + + + + + + Tunnel + + + rotation + + + + NetName + A + + + + + + Tunnel + + + rotation + + + + NetName + B_L5 + + + + + + Driver + + + Bits + 16 + + + + + + Tunnel + + + rotation + + + + NetName + S5 + + + + + + Tunnel + + + NetName + Y + + + + + + BarrelShifter + + + Label + ARI SHIFT RIGHT + + + Bits + 16 + + + barrelShifterMode + arithmetic + + + direction + right + + + + + + Tunnel + + + rotation + + + + NetName + A + + + + + + Driver + + + Bits + 16 + + + + + + Tunnel + + + rotation + + + + NetName + S6 + + + + + + Tunnel + + + NetName + Y + + + + + + BarrelShifter + + + Label + LOG SHIFT LEFT + + + Bits + 16 + + + + + + Tunnel + + + rotation + + + + NetName + A + + + + + + Driver + + + Bits + 16 + + + + + + Tunnel + + + rotation + + + + NetName + S7 + + + + + + Tunnel + + + NetName + Y + + + + + + Tunnel + + + rotation + + + + NetName + B_L5 + + + + + + Tunnel + + + rotation + + + + NetName + B_L5 + + + + + + Tunnel + + + rotation + + + + NetName + B15 + + + + + + Tunnel + + + rotation + + + + NetName + Y15 + + + + + + Tunnel + + + rotation + + + + NetName + A15 + + + + + + Tunnel + + + NetName + FO + + + + + + Text + + + Description + Sign flag + + + + + + Tunnel + + + rotation + + + + NetName + Y15 + + + + + + Tunnel + + + NetName + FS + + + + + + atk16_alu_fz.dig + + + Label + Zero flag + + + + + + Tunnel + + + rotation + + + + NetName + Y + + + + + + Tunnel + + + NetName + FZ + + + + + + Tunnel + + + rotation + + + + NetName + S1 + + + + + + Testcase + + + Label + PLUS test + + + Testdata + + A B S FLAGS Y +0x1 0x2 0 0b0000 0x3 +0xff 0x1 0 0b0000 0x100 +0x1 0xffff 0 0b0101 0x0 +0x4000 0x4000 0 0b1010 0x8000 + + + + + + + Testcase + + + Label + MINUS test + + + Testdata + + A B S FLAGS Y +0x10 0x1 1 0b0000 0xF +0x1 0x0 1 0b0000 0x1 +0x0 0x1 1 0b1001 0xFFFF +0x8000 0x1 1 0b0010 0x7FFF + + + + + + + In + + + Description + LHS of binary ALU operation + + + Label + A + + + Bits + 16 + + + + + + In + + + Description + RHS of binary ALU operation + + + Label + B + + + Bits + 16 + + + + + + In + + + Description + ALU operation code + + + Label + S + + + Bits + 3 + + + + + + Text + + + Description + S Y +0 A + B +1 A - B +2 A and B +3 A or B +4 A xor B +5 A >> B # logical +6 A >>> B # arithmetic +7 A << B + + + + + + Decoder + + + Selector Bits + 3 + + + flipSelPos + true + + + + + + Tunnel + + + NetName + S0 + + + + + + Tunnel + + + NetName + S1 + + + + + + Tunnel + + + NetName + S2 + + + + + + Tunnel + + + NetName + S3 + + + + + + Tunnel + + + NetName + S4 + + + + + + Tunnel + + + NetName + S5 + + + + + + Tunnel + + + NetName + S6 + + + + + + Tunnel + + + NetName + S7 + + + + + + Tunnel + + + rotation + + + + NetName + A + + + + + + Splitter + + + Input Splitting + 16 + + + Output Splitting + 15,1 + + + + + + Tunnel + + + rotation + + + + NetName + B + + + + + + Splitter + + + Input Splitting + 16 + + + Output Splitting + 15,1 + + + + + + Splitter + + + Input Splitting + 16 + + + Output Splitting + 5 + + + + + + Tunnel + + + NetName + B_L5 + + + + + + Tunnel + + + NetName + A15 + + + + + + Tunnel + + + NetName + B15 + + + + + + Splitter + + + Input Splitting + 16 + + + Output Splitting + 15,1 + + + + + + Tunnel + + + rotation + + + + NetName + Y + + + + + + Tunnel + + + NetName + Y15 + + + + + + Out + + + Description + Output + + + Label + Y + + + Bits + 16 + + + + + + Splitter + + + Input Splitting + 1*4 + + + Output Splitting + 4 + + + + + + Out + + + Label + FLAGS + + + Bits + 4 + + + + + + Tunnel + + + rotation + + + + NetName + FO + + + + + + Tunnel + + + rotation + + + + NetName + FZ + + + + + + Tunnel + + + rotation + + + + NetName + FS + + + + + + Tunnel + + + rotation + + + + NetName + FC + + + + + + PullDown + + + rotation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/digital-diagrams/atk16_alu_carryfix.dig b/digital-diagrams/atk16_alu_carryfix.dig new file mode 100644 index 0000000..1c22602 --- /dev/null +++ b/digital-diagrams/atk16_alu_carryfix.dig @@ -0,0 +1,270 @@ + + + 2 + + + + Out + + + Label + Y + + + Inputs + 1 + + + + + + Or + + + wideShape + true + + + + + + And + + + wideShape + true + + + Inputs + 3 + + + + + + And + + + wideShape + true + + + Inputs + 3 + + + + + + In + + + rotation + + + + Label + S2 + + + + + + Not + + + rotation + + + + + + + In + + + rotation + + + + Label + S1 + + + + + + Not + + + rotation + + + + + + + In + + + rotation + + + + Label + S0 + + + + + + Not + + + rotation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/digital-diagrams/atk16_alu_fo.dig b/digital-diagrams/atk16_alu_fo.dig new file mode 100644 index 0000000..ecf0021 --- /dev/null +++ b/digital-diagrams/atk16_alu_fo.dig @@ -0,0 +1,494 @@ + + + 2 + + + Label + alu_fo + + + romContent + + + + + + Width + 4 + + + + + Testcase + + + Testdata + + A15 B15 Y15 ~A/S FO +0 0 0 0 0 +0 0 1 0 1 +0 1 0 0 0 +0 1 1 0 0 +1 0 0 0 0 +1 0 1 0 0 +1 1 0 0 1 +1 1 1 0 0 +0 0 0 1 0 +0 0 1 1 0 +0 1 0 1 0 +0 1 1 1 1 +1 0 0 1 1 +1 0 1 1 0 +1 1 0 1 0 +1 1 1 1 0 + + + + + + + + Out + + + Label + FO + + + Inputs + 1 + + + + + + Or + + + wideShape + true + + + Inputs + 4 + + + + + + And + + + wideShape + true + + + Inputs + 4 + + + + + + And + + + wideShape + true + + + Inputs + 4 + + + + + + And + + + wideShape + true + + + Inputs + 4 + + + + + + And + + + wideShape + true + + + Inputs + 4 + + + + + + In + + + rotation + + + + Label + ~A/S + + + + + + Not + + + rotation + + + + + + + In + + + rotation + + + + Label + A15 + + + + + + Not + + + rotation + + + + + + + In + + + rotation + + + + Label + B15 + + + + + + Not + + + rotation + + + + + + + In + + + rotation + + + + Label + Y15 + + + + + + Not + + + rotation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/digital-diagrams/atk16_alu_fz.dig b/digital-diagrams/atk16_alu_fz.dig new file mode 100644 index 0000000..2da652a --- /dev/null +++ b/digital-diagrams/atk16_alu_fz.dig @@ -0,0 +1,192 @@ + + + 2 + + + Label + alu_fz + + + romContent + + + + + + + + In + + + Label + Y + + + Bits + 16 + + + + + + Splitter + + + Input Splitting + 16 + + + Output Splitting + 4*4 + + + + + + Splitter + + + Input Splitting + 4 + + + Output Splitting + 1*4 + + + + + + Out + + + Label + FZ + + + + + + Testcase + + + Testdata + + Y FZ +0x0 1 +0x1 0 +0xff 0 + + + + + + + NOr + + + Inputs + 4 + + + + + + Or + + + Bits + 4 + + + Inputs + 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/digital-diagrams/atk16_alu_inputs.dig b/digital-diagrams/atk16_alu_inputs.dig new file mode 100644 index 0000000..310bafb --- /dev/null +++ b/digital-diagrams/atk16_alu_inputs.dig @@ -0,0 +1,215 @@ + + + 2 + + + Description + Maps the R1 input to the A output. Uses OPCODE parity to mux either the R2 input (even parity) or the RW_S input, here acting as a small immediate value, to the B output. + + + romContent + + + + + + Width + 5 + + + + + In + + + Description + Register 1 value from regbank + + + Label + R1 + + + Bits + 16 + + + + + + In + + + Description + Register 2 value from regbank + + + Label + R2 + + + Bits + 16 + + + + + + Multiplexer + + + Bits + 16 + + + + + + In + + + Description + Register 2 selector + + + Label + R2_S + + + Bits + 3 + + + + + + In + + + Description + Immediate mode on? + + + Label + IM_M + + + + + + Out + + + Description + Output A + + + Label + A + + + Bits + 16 + + + + + + Out + + + Description + Output B + + + Label + B + + + Bits + 16 + + + + + + Splitter + + + Input Splitting + 3,13 + + + Output Splitting + 16 + + + + + + Ground + + + Bits + 13 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/digital-diagrams/atk16_decoder.dig b/digital-diagrams/atk16_decoder.dig new file mode 100644 index 0000000..b8eb088 --- /dev/null +++ b/digital-diagrams/atk16_decoder.dig @@ -0,0 +1,364 @@ + + + 2 + + + romContent + + + + + + Width + 5 + + + + + Register + + + valueIsProbe + true + + + Label + IR + + + Bits + 16 + + + + + + In + + + Label + DBUS + + + Bits + 16 + + + isHighZ + true + + + + + + In + + + Description + Instruction register input enable + + + Label + IR_IE + + + + + + In + + + Label + CLK + + + + + + Splitter + + + splitterSpreading + 2 + + + Input Splitting + 16 + + + Output Splitting + 3,3,3,3,4 + + + + + + Tunnel + + + NetName + DBUS + + + + + + Tunnel + + + rotation + + + + NetName + DBUS + + + + + + Out + + + Description + Opcode + + + Label + OP + + + Bits + 4 + + + + + + Out + + + Description + Write register selection + + + Label + RW_S + + + Bits + 3 + + + + + + Out + + + Description + ALU selection code + + + Label + ALU_S + + + Bits + 3 + + + + + + Out + + + Description + Read register 1 selection + + + Label + R1_S + + + Bits + 3 + + + + + + Out + + + Description + Read register 2 selection + + + Label + R2_S + + + Bits + 3 + + + + + + Splitter + + + Input Splitting + 16 + + + Output Splitting + 9, + + + + + + Driver + + + Bits + 16 + + + flipSelPos + true + + + + + + Tunnel + + + NetName + DBUS + + + + + + In + + + Description + Low 9 bits immediate value output enable + + + Label + LI_OE + + + + + + Testcase + + + Testdata + + CLK DBUS IR_IE LI_OE OP RW_S R1_S R2_S ALU_S +C 0b0000001010011000 1 0 0 1 2 3 0 + + + + + + + BitExtender + + + inputBits + 9 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/digital-diagrams/atk16_graphics_mode.dig b/digital-diagrams/atk16_graphics_mode.dig new file mode 100644 index 0000000..2d05dd6 --- /dev/null +++ b/digital-diagrams/atk16_graphics_mode.dig @@ -0,0 +1,311 @@ + + + 2 + + + romContent + + + + + + Width + 5 + + + + + In + + + Label + DBUS + + + Bits + 16 + + + + + + Out + + + Description + 00 disabled +01 text mode +10 sprite mode +11 undefined + + + Label + MODE + + + Bits + 2 + + + + + + Register + + + Label + GRAPHICS MODE + + + Bits + 2 + + + + + + And + + + Inputs + 13 + + + + + + Splitter + + + Input Splitting + 13 + + + Output Splitting + 1*13 + + + + + + And + + + + + Splitter + + + Input Splitting + 16 + + + Output Splitting + 2,14 + + + + + + In + + + Label + MMIO_S + + + Bits + 13 + + + + + + In + + + Label + MMIO_IE + + + + + + Const + + + Value + 2 + + + Bits + 13 + + + + + + XNOr + + + Bits + 13 + + + + + + In + + + Label + CLK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/digital-diagrams/atk16_irc.dig b/digital-diagrams/atk16_irc.dig new file mode 100644 index 0000000..0037fa0 --- /dev/null +++ b/digital-diagrams/atk16_irc.dig @@ -0,0 +1,341 @@ + + + 2 + + + romContent + + + + + + Width + 5 + + + + + In + + + Description + IRQ lines + + + Label + IRQ + + + Bits + 4 + + + + + + In + + + Description + PC value + + + Label + PC + + + Bits + 16 + + + + + + Splitter + + + Input Splitting + 4 + + + Output Splitting + 1*4 + + + + + + Text + + + Description + Some IRQ active? + + + + + + In + + + Label + MAR_IE + + + + + + And + + + + + Multiplexer + + + Bits + 16 + + + + + + Out + + + Label + DBUS + + + Bits + 16 + + + + + + Driver + + + Bits + 16 + + + flipSelPos + true + + + + + + In + + + Label + PC_OE + + + + + + PriorityEncoder + + + Selector Bits + 2 + + + + + + Const + + + Value + 17 + + + Bits + 16 + + + + + + Multiplexer + + + Selector Bits + 2 + + + Bits + 16 + + + + + + Const + + + Value + 16 + + + Bits + 16 + + + + + + Const + + + Value + 18 + + + Bits + 16 + + + + + + Const + + + Value + 19 + + + Bits + 16 + + + + + + Testcase + + + Testdata + + IRQ PC MAR_IE PC_OE DBUS +0b0000 0x5 0 0 Z +0b0000 0x5 0 1 0x5 +0b0001 0x5 0 1 0x5 +0b0001 0x5 1 1 0x10 +0b0101 0x5 1 1 0x12 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/digital-diagrams/atk16_jump_unit.dig b/digital-diagrams/atk16_jump_unit.dig new file mode 100644 index 0000000..4ccd266 --- /dev/null +++ b/digital-diagrams/atk16_jump_unit.dig @@ -0,0 +1,193 @@ + + + 2 + + + Description + Uses OPCODE parity to choose between relative addressing mode (even parity) or absolute addressing mode (odd parity). + + + romContent + + + + + + Width + 5 + + + + + In + + + Description + Jump address + + + Label + ADDR + + + Bits + 16 + + + + + + In + + + Description + PC value + + + Label + PC + + + Bits + 16 + + + + + + In + + + Description + Immediate mode on? + + + Label + IM_M + + + + + + Out + + + Description + Result PC value + + + Label + PC_RES + + + Bits + 16 + + + + + + Add + + + Bits + 16 + + + + + + Multiplexer + + + Bits + 16 + + + + + + Ground + + + + + Testcase + + + Testdata + + PC ADDR IM_M PC_RES +10 20 0 20 +10 20 1 30 + + + + + + + Not + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/digital-diagrams/atk16_mem.dig b/digital-diagrams/atk16_mem.dig new file mode 100644 index 0000000..6ff9810 --- /dev/null +++ b/digital-diagrams/atk16_mem.dig @@ -0,0 +1,949 @@ + + 2 + + + romContent + + + + + + Width + 7 + + + + + EEPROM + + + AddrBits + 15 + + + isProgramMemory + true + + + Label + MEM_ROM + + + Bits + 16 + + + Data + 4014,2e00,1dc0,6026,8000,8000,8000,8000,8000,8000,8000,8000,8000,8000,8000,8000,001b,001a,001a,001a,8000,e000,e001,e002,e800,f800,f000,31c0,1fc8,31c8,1fc8,4016,2000,2000,4215,2240,3040,1fc9,23c0,1fc9,21c0,e000,4017,2000,4200,3008,600d,0008,0000,0001,0002,0017,0019,9000,0100,0031,0061,0062,0063,0032,402f,2000,0fc0,4433,2480,31d0,1fc8,1fc9,25c0,2480,31d0,1fc8,1fc9,21c0,4200,0270,3040,4434,2480,31d0,1fc8,1fc9,25c0,2480,31d0,1fc8,1fc9,21c0,4201,0270,3040,4000,0180,2000,31c0,1fc8,4031,2000,31c0,1fc8,1fc9,23c0,1fc9,21c0,3008,4000,31c0,1fc8,1fc9,21c0,4035,2000,31c0,1fc8,4000,31c0,1fc8,1fc9,23c0,1fc9,21c0,0008,31c0,1fc8,4037,2000,31c0,1fc8,1fc9,23c0,1fc9,21c0,3008,4000,31c0,1fc8,1fc9,21c0,4035,2000,31c0,1fc8,4001,31c0,1fc8,1fc9,23c0,1fc9,21c0,0008,31c0,1fc8,4038,2000,31c0,1fc8,1fc9,23c0,1fc9,21c0,3008,4000,31c0,1fc8,1fc9,21c0,4035,2000,31c0,1fc8,4002,31c0,1fc8,1fc9,23c0,1fc9,21c0,0008,31c0,1fc8,4039,2000,31c0,1fc8,1fc9,23c0,1fc9,21c0,3008,4000,31c0,1fc8,1fc9,21c0,4035,2000,31c0,1fc8,4003,31c0,1fc8,1fc9,23c0,1fc9,21c0,0008,31c0,1fc8,403a,2000,31c0,1fc8,1fc9,23c0,1fc9,21c0,3008,4000,31c0,1fc8,1fc9,21c0,4035,2000,31c0,1fc8,4004,31c0,1fc8,1fc9,23c0,1fc9,21c0,0008,31c0,1fc8,403b,2000,31c0,1fc8,1fc9,23c0,1fc9,21c0,3008,4000,31c0,1fc8,1fc9,21c0,4035,2000,31c0,1fc8,4005,31c0,1fc8,1fc9,23c0,1fc9,21c0,0008,31c0,1fc8,4000,31c0,1fc8,1fc9,23c0,1fc9,21c0,3008,4000,31c0,1fc8,1fc9,21c0,4435,2480,31d0,1fc8,1fc9,21c0,4202,0270,3040,4400,31d0,1fc8,1fc9,21c0,4203,0270,3040,4402,0590,2480,31d0,1fc8,1fc9,25c0,2480,31d0,1fc8,1fc9,21c0,4204,0270,3040,4400,31d0,1fc8,1fc9,21c0,4205,0270,3040,4201,31c8,1fc8,1fc9,21c0,1000,8451,4435,2480,31d0,1fc8,4403,0590,2480,31d0,1fc8,1fc9,27c0,1fc9,25c0,0498,31d0,1fc8,1fc9,21c0,4206,0270,3040,4406,0590,2480,31d0,1fc8,1fc9,25c0,2480,31d0,1fc8,1fc9,21c0,4207,0270,3040,4007,0180,2000,31c0,1fc8,4000,31c0,1fc8,1fc9,21c0,1000,8402,6020,6000,4407,0590,2480,31d0,1fc8,1fc9,21c0,4205,0270,3040,4403,0590,2480,31d0,1fc8,4401,31d0,1fc8,1fc9,27c0,1fc9,25c0,0498,31d0,1fc8,1fc9,21c0,4203,0270,3040,61a8,4001,0180,2000,31c0,1fc8,4000,31c0,1fc8,1fc9,23c0,1fc9,21c0,0008,31c0,1fc8,4004,0180,2000,31c0,1fc8,1fc9,23c0,1fc9,21c0,3008,4000,31c0,1fc8,1fc9,21c0,4001,0180,2000,31c0,1fc8,4001,31c0,1fc8,1fc9,23c0,1fc9,21c0,0008,31c0,1fc8,4005,0180,2000,31c0,1fc8,1fc9,23c0,1fc9,21c0,3008,4000,31c0,1fc8,1fc9,21c0,1f80,f000 + + + + + + Ground + + + rotation + + + + + + + VDD + + + rotation + + + + + + + VDD + + + rotation + + + + + + + In + + + Description + Address + + + Label + ADDR + + + Bits + 16 + + + + + + Splitter + + + Input Splitting + 16 + + + Output Splitting + 13,1,1,1 + + + + + + atk16_mem_mux.dig + + + + + Splitter + + + Input Splitting + 13,1,1 + + + Output Splitting + 15 + + + + + + Splitter + + + Input Splitting + 1,1 + + + Output Splitting + 2 + + + + + + Demultiplexer + + + Selector Bits + 2 + + + Bits + 15 + + + + + + Probe + + + Label + ROM_OUT + + + + + + Driver + + + Bits + 16 + + + flipSelPos + true + + + + + + Demultiplexer + + + Selector Bits + 2 + + + flipSelPos + true + + + + + + Tunnel + + + NetName + RAM_IE + + + + + + In + + + Description + Data bus + + + Label + DBUS + + + Bits + 16 + + + isHighZ + true + + + + + + Tunnel + + + NetName + CLK + + + + + + RAMDualPort + + + AddrBits + 15 + + + Label + MEM_RAM + + + Bits + 16 + + + + + + VDD + + + rotation + + + + + + + Tunnel + + + rotation + + + + NetName + CLK + + + + + + Tunnel + + + rotation + + + + NetName + RAM_IE + + + + + + Tunnel + + + rotation + + + + NetName + DBUS + + + + + + Probe + + + Label + RAM_OUT + + + + + + Driver + + + Bits + 16 + + + + + + In + + + Description + Clock + + + Label + CLK + + + + + + Out + + + Description + Memory-mapped I/O word input enable + + + Label + MMIO_IE + + + + + + Out + + + Description + Memory-mapped I/O word output enable + + + Label + MMIO_OE + + + + + + Tunnel + + + NetName + MMIO_S + + + + + + Testcase + + + Testdata + + CLK ADDR MEM_IE MEM_OE DBUS DBUS_out + +# read ROM +program(0xFF) +C 0x0 0 1 Z 0xFF + +# read RAM +memory MEM_RAM(0x0)=0x55; +C 0 0 0 Z X +C 0x8000 0 1 Z 0x55 + +# write to RAM +C 0x8000 1 0 0xAA 0xAA +C 0x8000 0 1 Z 0xAA + + + + + + + + In + + + Description + Memory input enable + + + Label + MEM_IE + + + + + + In + + + Description + Memory output enable + + + Label + MEM_OE + + + + + + And + + + rotation + + + + + + + Tunnel + + + NetName + RAM_OE + + + + + + Tunnel + + + NetName + MEM_OE + + + + + + Tunnel + + + NetName + MEM_OE + + + + + + Tunnel + + + NetName + DBUS + + + + + + And + + + rotation + + + + + + + Tunnel + + + NetName + ROM_OE + + + + + + Tunnel + + + NetName + MEM_OE + + + + + + Tunnel + + + NetName + DBUS + + + + + + Tunnel + + + NetName + DBUS + + + + + + Decoder + + + Selector Bits + 2 + + + flipSelPos + true + + + + + + Tunnel + + + NetName + ROM_OE + + + + + + Tunnel + + + NetName + RAM_OE + + + + + + Tunnel + + + NetName + MMIO_OE + + + + + + Tunnel + + + NetName + MMIO_IE + + + + + + And + + + + + Tunnel + + + rotation + + + + NetName + MEM_OE + + + + + + Tunnel + + + rotation + + + + NetName + MMIO_OE + + + + + + And + + + + + Tunnel + + + rotation + + + + NetName + MEM_IE + + + + + + Tunnel + + + rotation + + + + NetName + MMIO_IE + + + + + + Out + + + Description + Memory-mapped I/O word selector + + + Label + MMIO_S + + + Bits + 13 + + + + + + Tunnel + + + rotation + + + + NetName + MMIO_S + + + + + + Tunnel + + + NetName + MEM_IE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/digital-diagrams/atk16_mem_mux.dig b/digital-diagrams/atk16_mem_mux.dig new file mode 100644 index 0000000..d4be584 --- /dev/null +++ b/digital-diagrams/atk16_mem_mux.dig @@ -0,0 +1,276 @@ + + + 2 + + + + Out + + + Label + X + + + Inputs + 1 + + + + + + And + + + wideShape + true + + + Inputs + 3 + + + + + + Out + + + Label + Y + + + Inputs + 1 + + + + + + Or + + + wideShape + true + + + + + + And + + + wideShape + true + + + + + + And + + + wideShape + true + + + + + + In + + + rotation + + + + Label + C + + + + + + In + + + rotation + + + + Label + B + + + + + + Not + + + rotation + + + + + + + In + + + rotation + + + + Label + A + + + + + + Not + + + rotation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/digital-diagrams/atk16_peripherals.dig b/digital-diagrams/atk16_peripherals.dig new file mode 100644 index 0000000..c8eb7b5 --- /dev/null +++ b/digital-diagrams/atk16_peripherals.dig @@ -0,0 +1,852 @@ + + + 2 + + + romContent + + + + + + Width + 6 + + + + + Splitter + + + Input Splitting + 1*4 + + + Output Splitting + 4 + + + + + + Out + + + Label + IRQ + + + Bits + 4 + + + + + + RS_FF_AS + + + + + Tunnel + + + rotation + + + + NetName + IRQ0 + + + + + + And + + + + + Tunnel + + + rotation + + + + NetName + IM_DS + + + + + + And + + + + + Tunnel + + + rotation + + + + NetName + IM_DS + + + + + + RS_FF_AS + + + + + Tunnel + + + rotation + + + + NetName + IRQ1 + + + + + + RS_FF_AS + + + + + Tunnel + + + rotation + + + + NetName + IRQ2 + + + + + + And + + + + + Tunnel + + + rotation + + + + NetName + IM_DS + + + + + + RS_FF_AS + + + + + Tunnel + + + rotation + + + + NetName + IRQ3 + + + + + + And + + + + + Tunnel + + + rotation + + + + NetName + IM_DS + + + + + + Decoder + + + Selector Bits + 2 + + + + + + Comparator + + + Bits + 13 + + + + + + Const + + + Value + 0 + + + Bits + 13 + + + + + + And + + + + + Terminal + + + + + Tunnel + + + rotation + + + + NetName + CLK + + + + + + Tunnel + + + rotation + + + + NetName + DBUS + + + + + + Tunnel + + + rotation + + + + NetName + IE + + + + + + Tunnel + + + rotation + + + + NetName + S + + + + + + Keyboard + + + + + Tunnel + + + NetName + IRQ0 + + + + + + Tunnel + + + NetName + DBUS + + + + + + Tunnel + + + rotation + + + + NetName + CLK + + + + + + Comparator + + + Bits + 13 + + + + + + Const + + + Bits + 13 + + + + + + And + + + + + Tunnel + + + rotation + + + + NetName + OE + + + + + + Tunnel + + + rotation + + + + NetName + S + + + + + + Ground + + + + + Tunnel + + + NetName + IRQ1 + + + + + + Ground + + + + + Tunnel + + + NetName + IRQ2 + + + + + + Ground + + + + + Tunnel + + + NetName + IRQ3 + + + + + + In + + + Label + IM_DS + + + + + + Tunnel + + + NetName + IM_DS + + + + + + In + + + Label + IT_N + + + Bits + 2 + + + + + + In + + + Label + OE + + + + + + Tunnel + + + NetName + OE + + + + + + In + + + Label + IE + + + + + + Tunnel + + + NetName + IE + + + + + + In + + + Label + S + + + Bits + 13 + + + + + + Tunnel + + + NetName + S + + + + + + In + + + Label + CLK + + + + + + Tunnel + + + NetName + CLK + + + + + + Out + + + Label + DBUS + + + Bits + 16 + + + + + + Tunnel + + + rotation + + + + NetName + DBUS + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/digital-diagrams/atk16_ppu.dig b/digital-diagrams/atk16_ppu.dig new file mode 100644 index 0000000..e6e7608 --- /dev/null +++ b/digital-diagrams/atk16_ppu.dig @@ -0,0 +1,827 @@ + + + 2 + + + romContent + + + + + + Width + 7 + + + + + RAMDualPort + + + AddrBits + 7 + + + Label + SPRITE MEM + + + Bits + 16 + + + + + + Text + + + Description + 8 bits tile pattern index +10 bits Y position +10 bits X position +1 bit H flip +1 bit V flip +1 bit behind background? (priority) +1 bit palette select += total 4 bytes per sprite +x 64 sprites += 128 words + + + + + + Text + + + Description + 2**7 selector addresses for +sprite mem, starting from 0x0800 + + + + + + In + + + Label + MMIO_IE + + + + + + In + + + Label + MMIO_OE + + + + + + Tunnel + + + rotation + + + + NetName + CLK + + + + + + In + + + Description + MMI/O selector + + + Label + MMIO_S + + + Bits + 13 + + + + + + Tunnel + + + rotation + + + + NetName + DBUS + + + + + + Tunnel + + + rotation + + + + NetName + SMEMBUS + + + + + + Splitter + + + Input Splitting + 13 + + + Output Splitting + 11,1,1 + + + + + + And + + + inverterConfig + + In_2 + + + + + + + Tunnel + + + rotation + + + + NetName + SM_QUERY + + + + + + Ground + + + Bits + 11 + + + + + + RAMDualPort + + + AddrBits + 9 + + + Label + SCAN BUFFER + + + Bits + 4 + + + + + + Tunnel + + + rotation + + + + NetName + X + + + + + + Splitter + + + mirror + true + + + Input Splitting + 4 + + + Output Splitting + 1*4 + + + + + + atk16_ppu_palette.dig + + + + + Splitter + + + Input Splitting + 1,1 + + + Output Splitting + 2 + + + + + + Splitter + + + Input Splitting + 1,1 + + + Output Splitting + 2 + + + + + + Splitter + + + Input Splitting + 1,1 + + + Output Splitting + 2 + + + + + + Tunnel + + + NetName + PR + + + + + + Tunnel + + + NetName + PG + + + + + + Tunnel + + + NetName + PB + + + + + + Ground + + + rotation + + + + Bits + 4 + + + + + + Ground + + + rotation + + + + + + + Counter + + + + + Tunnel + + + rotation + + + + NetName + PCLK + + + + + + VDD + + + + + Ground + + + + + Text + + + Description + TODO + + + + + + Tunnel + + + rotation + + + + NetName + SMEMBUS + + + + + + Ground + + + rotation + + + + Bits + 7 + + + + + + Text + + + Description + TODO: 8x8x4 tile pattern memory + + + + + + VDD + + + rotation + + + + + + + Probe + + + Label + SCAN BUF + + + + + + Out + + + Label + PR + + + Bits + 2 + + + + + + Out + + + Label + PG + + + Bits + 2 + + + + + + Out + + + Label + PB + + + Bits + 2 + + + + + + Tunnel + + + rotation + + + + NetName + PB + + + + + + Tunnel + + + rotation + + + + NetName + PR + + + + + + Tunnel + + + rotation + + + + NetName + PG + + + + + + In + + + Description + Pixel clock + + + Label + PCLK + + + + + + Tunnel + + + NetName + PCLK + + + + + + In + + + Description + CPU clock + + + Label + CLK + + + + + + Tunnel + + + NetName + CLK + + + + + + Tunnel + + + NetName + DBUS + + + + + + In + + + Description + Data bus + + + Label + DBUS + + + Bits + 16 + + + + + + In + + + Description + X pixel + + + Label + X + + + Bits + 9 + + + + + + Tunnel + + + NetName + X + + + + + + In + + + Description + Y pixel + + + Label + Y + + + Bits + 8 + + + + + + Tunnel + + + NetName + Y + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/digital-diagrams/atk16_ppu_palette.dig b/digital-diagrams/atk16_ppu_palette.dig new file mode 100644 index 0000000..40101b7 --- /dev/null +++ b/digital-diagrams/atk16_ppu_palette.dig @@ -0,0 +1,225 @@ + + + 2 + + + romContent + + + + + + Width + 6 + + + + + Out + + + Label + YR1 + + + Inputs + 1 + + + + + + Out + + + Label + YR0 + + + Inputs + 1 + + + + + + Out + + + Label + YG1 + + + Inputs + 1 + + + + + + Out + + + Label + YG0 + + + Inputs + 1 + + + + + + Out + + + Label + YB1 + + + Inputs + 1 + + + + + + Out + + + Label + YB0 + + + Inputs + 1 + + + + + + In + + + rotation + + + + Label + R0 + + + + + + In + + + rotation + + + + Label + G1 + + + + + + In + + + rotation + + + + Label + G0 + + + + + + In + + + rotation + + + + Label + B0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/digital-diagrams/atk16_ppu_sprite_eval.dig b/digital-diagrams/atk16_ppu_sprite_eval.dig new file mode 100644 index 0000000..c765847 --- /dev/null +++ b/digital-diagrams/atk16_ppu_sprite_eval.dig @@ -0,0 +1,4325 @@ + + + 2 + + + + Tunnel + + + NetName + PCLK + + + + + + Clock + + + Frequency + 20 + + + runRealTime + true + + + + + + In + + + Label + PCLK + + + + + + Rectangle + + + Label + Stage 1 Secondary Clear + + + RectHeight + 15 + + + RectWidth + 35 + + + + + + Tunnel + + + NetName + NPCLK + + + + + + Not + + + + + Break + + + + + Break + + + + + Text + + + Description + State machine & sequencer: +SQ0 transition current state if conditions match +SQ1 read from memory A +SQ2 read from memory B +SQ3 write to memory +SQ4 counter inc + +Sequencer clocked by falling edge (NPCLK) +Everything else clocked by rising edge (PCLK) + + + + + + And + + + + + Tunnel + + + rotation + + + + NetName + ST_SECCLR + + + + + + Tunnel + + + rotation + + + + NetName + OVF_SECCLR + + + + + + And + + + + + Tunnel + + + rotation + + + + NetName + ST_EVAL + + + + + + Or + + + Inputs + 3 + + + + + + And + + + Inputs + 3 + + + + + + Tunnel + + + NetName + CLK_STAGE + + + + + + Tunnel + + + rotation + + + + NetName + PCLK + + + + + + Tunnel + + + rotation + + + + NetName + SQ_TRANS + + + + + + Counter + + + Label + STAGE + + + Bits + 2 + + + + + + Decoder + + + Selector Bits + 2 + + + flipSelPos + true + + + + + + Tunnel + + + NetName + ST_SECCLR + + + + + + VDD + + + + + Tunnel + + + NetName + ST_EVAL + + + + + + Tunnel + + + NetName + ST_RENDER + + + + + + Or + + + + + Tunnel + + + rotation + + + + NetName + CLK_STAGE + + + + + + Tunnel + + + rotation + + + + NetName + RST + + + + + + Or + + + + + Tunnel + + + rotation + + + + NetName + OVF_EVAL + + + + + + Tunnel + + + rotation + + + + NetName + OVF_SMN + + + + + + Tunnel + + + NetName + STAGE + + + + + + Multiplexer + + + Selector Bits + 2 + + + + + + Tunnel + + + NetName + SEC_C + + + + + + Ground + + + rotation + + + + + + + Tunnel + + + rotation + + + + NetName + STAGE + + + + + + Tunnel + + + rotation + + + + NetName + CLK_WRITE + + + + + + Tunnel + + + rotation + + + + NetName + CLK_READA + + + + + + Multiplexer + + + Selector Bits + 2 + + + + + + Tunnel + + + NetName + SEC_str + + + + + + VDD + + + rotation + + + + + + + Ground + + + rotation + + + + + + + Multiplexer + + + Selector Bits + 2 + + + + + + Tunnel + + + NetName + SEC_ld + + + + + + VDD + + + rotation + + + + + + + Multiplexer + + + Selector Bits + 2 + + + + + + Tunnel + + + NetName + SB_C + + + + + + Ground + + + rotation + + + + + + + Ground + + + rotation + + + + + + + Tunnel + + + rotation + + + + NetName + STAGE + + + + + + Multiplexer + + + Selector Bits + 2 + + + + + + Tunnel + + + NetName + SB_str + + + + + + Multiplexer + + + Selector Bits + 2 + + + + + + Tunnel + + + NetName + SB_ld + + + + + + VDD + + + rotation + + + + + + + Counter + + + Label + SEC CLR ADDR + + + Bits + 4 + + + + + + Or + + + + + Tunnel + + + rotation + + + + NetName + RST + + + + + + Tunnel + + + rotation + + + + NetName + CLK_WRITE + + + + + + Driver + + + Bits + 3 + + + + + + Tunnel + + + NetName + SEC_A + + + + + + Tunnel + + + NetName + ST_SECCLR + + + + + + Driver + + + Bits + 32 + + + + + + Tunnel + + + NetName + ST_SECCLR + + + + + + Tunnel + + + NetName + SEC_Din + + + + + + Ground + + + Bits + 32 + + + + + + Probe + + + + + Tunnel + + + rotation + + + + NetName + ST_SECCLR + + + + + + VDD + + + rotation + + + + + + + Ground + + + rotation + + + + + + + Ground + + + rotation + + + + + + + RAMDualPort + + + AddrBits + 3 + + + Label + SECONDARY + + + Bits + 32 + + + + + + Probe + + + Label + SEC_D + + + + + + Tunnel + + + rotation + + + + NetName + SEC_ld + + + + + + Tunnel + + + rotation + + + + NetName + SEC_str + + + + + + Tunnel + + + rotation + + + + NetName + SEC_A + + + + + + Tunnel + + + rotation + + + + NetName + SEC_Din + + + + + + Tunnel + + + rotation + + + + NetName + SEC_C + + + + + + RAMDualPort + + + AddrBits + 7 + + + Label + SCAN BUFFER + + + Bits + 16 + + + + + + Probe + + + Label + SB_D + + + + + + Tunnel + + + rotation + + + + NetName + SB_A + + + + + + Tunnel + + + rotation + + + + NetName + SB_Din + + + + + + Tunnel + + + rotation + + + + NetName + SB_str + + + + + + Tunnel + + + rotation + + + + NetName + SB_C + + + + + + Tunnel + + + rotation + + + + NetName + SB_ld + + + + + + Tunnel + + + rotation + + + + NetName + SB_A + + + + + + Tunnel + + + rotation + + + + NetName + SB_Din + + + + + + Ground + + + rotation + + + + Bits + 7 + + + + + + Ground + + + rotation + + + + Bits + 16 + + + + + + Out + + + Description + Scanline buffer data + + + Label + SB_D + + + Bits + 9 + + + + + + Ground + + + Bits + 9 + + + + + + Multiplexer + + + Selector Bits + 2 + + + + + + Tunnel + + + NetName + SM_C + + + + + + Ground + + + rotation + + + + + + + Tunnel + + + rotation + + + + NetName + STAGE + + + + + + Multiplexer + + + Selector Bits + 2 + + + + + + Tunnel + + + NetName + SM_str + + + + + + Multiplexer + + + Selector Bits + 2 + + + + + + Tunnel + + + NetName + SM_ld + + + + + + VDD + + + rotation + + + + + + + Tunnel + + + NetName + ST_IDLE + + + + + + Ground + + + rotation + + + + + + + Ground + + + rotation + + + + + + + Tunnel + + + rotation + + + + NetName + CLK_READA + + + + + + Rectangle + + + RectHeight + 40 + + + Label + Stage 2 Evaluate sprites + + + RectWidth + 35 + + + + + + Counter + + + Label + SMN + + + Bits + 7 + + + + + + Probe + + + + + Or + + + + + Tunnel + + + rotation + + + + NetName + RST + + + + + + Tunnel + + + rotation + + + + NetName + CLK_WRITE + + + + + + Tunnel + + + rotation + + + + NetName + SM_D + + + + + + Splitter + + + Input Splitting + 32 + + + Output Splitting + 8,10,10,1,1,1,1 + + + + + + Sub + + + Bits + 10 + + + + + + Ground + + + + + Tunnel + + + rotation + + + + NetName + SCY + + + + + + Comparator + + + Bits + 10 + + + + + + Const + + + Value + 8 + + + Bits + 10 + + + + + + Tunnel + + + NetName + YMATCH + + + + + + Tunnel + + + NetName + OVF_SMN + + + + + + Tunnel + + + rotation + + + + NetName + ST_EVAL + + + + + + Splitter + + + Input Splitting + 7 + + + Output Splitting + 6,1 + + + + + + Tunnel + + + NetName + SM_A + + + + + + Tunnel + + + NetName + ST_SECCLR + + + + + + LED + + + rotation + + + + + + + Tunnel + + + NetName + ST_EVAL + + + + + + LED + + + rotation + + + + + + + Multiplexer + + + Selector Bits + 2 + + + + + + Tunnel + + + NetName + TM_C + + + + + + Ground + + + rotation + + + + + + + Ground + + + rotation + + + + + + + Tunnel + + + rotation + + + + NetName + STAGE + + + + + + Multiplexer + + + Selector Bits + 2 + + + + + + Tunnel + + + NetName + TM_str + + + + + + Multiplexer + + + Selector Bits + 2 + + + + + + Tunnel + + + NetName + TM_ld + + + + + + VDD + + + rotation + + + + + + + Ground + + + rotation + + + + + + + RAMDualPort + + + AddrBits + 11 + + + Label + TILE MEM + + + Bits + 32 + + + + + + Tunnel + + + rotation + + + + NetName + TM_C + + + + + + Tunnel + + + rotation + + + + NetName + TM_str + + + + + + Tunnel + + + rotation + + + + NetName + TM_ld + + + + + + Text + + + Description + Tile mem addr: +8 bits select tile +3 bits select row in tile += 11 bits total + + + + + + Tunnel + + + rotation + + + + NetName + TM_Din + + + + + + Ground + + + rotation + + + + Bits + 32 + + + + + + Probe + + + Label + TM_D + + + + + + Tunnel + + + rotation + + + + NetName + TM_A + + + + + + Tunnel + + + rotation + + + + NetName + TM_Din + + + + + + Text + + + Description + 8 bits tile pattern index +10 bits Y position +10 bits X position +1 bit H flip +1 bit V flip +1 bit behind background? (priority) +1 bit palette select += total 4 bytes per sprite +x 64 sprites += 128 words + + + + + + RAMDualPort + + + AddrBits + 6 + + + Label + SPRITE MEM H + + + Bits + 16 + + + + + + Tunnel + + + NetName + SM_D + + + + + + Tunnel + + + rotation + + + + NetName + DBUS + + + + + + Tunnel + + + rotation + + + + NetName + SM_A + + + + + + Tunnel + + + rotation + + + + NetName + SM_C + + + + + + Tunnel + + + rotation + + + + NetName + SM_ld + + + + + + Tunnel + + + rotation + + + + NetName + SM_str + + + + + + RAMDualPort + + + AddrBits + 6 + + + Label + SPRITE MEM L + + + Bits + 16 + + + + + + Tunnel + + + rotation + + + + NetName + DBUS + + + + + + Tunnel + + + rotation + + + + NetName + SM_A + + + + + + Tunnel + + + rotation + + + + NetName + SM_C + + + + + + Tunnel + + + rotation + + + + NetName + SM_ld + + + + + + Tunnel + + + rotation + + + + NetName + SM_str + + + + + + Splitter + + + Input Splitting + 16,16 + + + Output Splitting + 32 + + + + + + Probe + + + + + Counter + + + Label + Sequencer + + + Bits + 3 + + + + + + Decoder + + + Selector Bits + 3 + + + flipSelPos + true + + + + + + Tunnel + + + NetName + SQ_TRANS + + + + + + Tunnel + + + NetName + SQ_READA + + + + + + Tunnel + + + NetName + SQ_READB + + + + + + VDD + + + rotation + + + + + + + Tunnel + + + NetName + SQ_WRITE + + + + + + Or + + + + + Tunnel + + + rotation + + + + NetName + NPCLK + + + + + + Tunnel + + + rotation + + + + NetName + RST + + + + + + And + + + + + Tunnel + + + rotation + + + + NetName + SQ_READA + + + + + + Tunnel + + + rotation + + + + NetName + PCLK + + + + + + Tunnel + + + NetName + CLK_READA + + + + + + And + + + + + Tunnel + + + rotation + + + + NetName + ST_RENDER + + + + + + Tunnel + + + rotation + + + + NetName + OVF_RENDER + + + + + + Tunnel + + + NetName + SEC_D + + + + + + Splitter + + + Input Splitting + 4 + + + Output Splitting + 3,1 + + + + + + Tunnel + + + NetName + OVF_SECCLR + + + + + + Tunnel + + + NetName + SQ_CLR + + + + + + Or + + + + + Tunnel + + + rotation + + + + NetName + SQ_CLR + + + + + + And + + + + + Tunnel + + + rotation + + + + NetName + SQ_READB + + + + + + Tunnel + + + rotation + + + + NetName + PCLK + + + + + + Tunnel + + + NetName + CLK_READB + + + + + + And + + + + + Tunnel + + + rotation + + + + NetName + SQ_WRITE + + + + + + Tunnel + + + rotation + + + + NetName + PCLK + + + + + + Tunnel + + + NetName + CLK_WRITE + + + + + + Splitter + + + Input Splitting + 8,10,10,1,1,1,1 + + + Output Splitting + 32 + + + + + + Driver + + + Bits + 32 + + + + + + Tunnel + + + NetName + ST_EVAL + + + + + + Tunnel + + + NetName + SEC_Din + + + + + + In + + + Description + Scanline Y (0..524) + + + Label + SCY + + + Bits + 10 + + + + + + Tunnel + + + NetName + SCY + + + + + + In + + + Label + DBUS + + + Bits + 16 + + + + + + Tunnel + + + NetName + DBUS + + + + + + In + + + Description + Reset sprite evaluator + + + Label + RST + + + + + + Tunnel + + + NetName + RST + + + + + + And + + + Inputs + 3 + + + + + + Tunnel + + + rotation + + + + NetName + YMATCH + + + + + + Tunnel + + + rotation + + + + NetName + SQ_WRITE + + + + + + Tunnel + + + rotation + + + + NetName + PCLK + + + + + + Counter + + + Label + SEC ADDR + + + Bits + 4 + + + + + + Or + + + + + Tunnel + + + rotation + + + + NetName + RST + + + + + + Probe + + + + + Tunnel + + + NetName + OVF_EVAL + + + + + + Tunnel + + + rotation + + + + NetName + ST_EVAL + + + + + + Splitter + + + Input Splitting + 4 + + + Output Splitting + 3,1 + + + + + + Driver + + + Bits + 3 + + + + + + Tunnel + + + NetName + SEC_A + + + + + + Tunnel + + + NetName + ST_EVAL + + + + + + Rectangle + + + RectHeight + 30 + + + Label + Stage 3 Render line to scanbuf + + + RectWidth + 35 + + + + + + Tunnel + + + NetName + ST_RENDER + + + + + + LED + + + rotation + + + + + + + Counter + + + Label + SEC ADDR + + + Bits + 4 + + + + + + Probe + + + + + Tunnel + + + NetName + OVF_RENDER + + + + + + Tunnel + + + rotation + + + + NetName + ST_RENDER + + + + + + Or + + + + + Tunnel + + + rotation + + + + NetName + RST + + + + + + And + + + + + Tunnel + + + rotation + + + + NetName + SQ_READA + + + + + + Tunnel + + + rotation + + + + NetName + PCLK + + + + + + Splitter + + + Input Splitting + 4 + + + Output Splitting + 3,1 + + + + + + Driver + + + Bits + 3 + + + + + + Tunnel + + + NetName + SEC_A + + + + + + Tunnel + + + NetName + ST_RENDER + + + + + + Tunnel + + + rotation + + + + NetName + SEC_D + + + + + + Splitter + + + Input Splitting + 32 + + + Output Splitting + 8,10,10,1,1,1,1 + + + + + + Tunnel + + + NetName + ST_IDLE + + + + + + LED + + + rotation + + + + + + + Text + + + Description + Stage 4 Idle + + + + + + Tunnel + + + NetName + TM_A + + + + + + Driver + + + Bits + 11 + + + + + + Tunnel + + + NetName + ST_RENDER + + + + + + Splitter + + + Input Splitting + 3,8 + + + Output Splitting + 11 + + + + + + Splitter + + + Input Splitting + 10 + + + Output Splitting + 3,7 + + + + + + Tunnel + + + NetName + TM_D + + + + + + Tunnel + + + rotation + + + + NetName + CLK_READB + + + + + + Or + + + + + Tunnel + + + rotation + + + + NetName + CLK_WRITE + + + + + + Tunnel + + + rotation + + + + NetName + CLK_READB + + + + + + Tunnel + + + rotation + + + + NetName + SM_A + + + + + + Probe + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/digital-diagrams/atk16_regbank.dig b/digital-diagrams/atk16_regbank.dig new file mode 100644 index 0000000..5af841b --- /dev/null +++ b/digital-diagrams/atk16_regbank.dig @@ -0,0 +1,1499 @@ + + + 2 + + + romContent + + + + + + Width + 5 + + + + + In + + + Description + Data bus in + + + Label + Din + + + Bits + 16 + + + + + + Out + + + Description + Read register 1 data out + + + Label + D1 + + + Bits + 16 + + + + + + Out + + + Description + Read register 2 data out + + + Label + D2 + + + Bits + 16 + + + + + + Multiplexer + + + Selector Bits + 3 + + + Bits + 16 + + + + + + In + + + Description + Write register input enable + + + Label + RW_IE + + + + + + Multiplexer + + + Selector Bits + 3 + + + Bits + 16 + + + + + + In + + + Description + Write register select + + + Label + RW_S + + + Bits + 3 + + + + + + In + + + Description + Clock + + + Label + CLK + + + + + + In + + + Description + Read register 1 select + + + Label + R1_S + + + Bits + 3 + + + + + + Tunnel + + + NetName + Din + + + + + + Tunnel + + + NetName + RW_IE + + + + + + Register + + + valueIsProbe + true + + + Label + RA + + + Bits + 16 + + + + + + Tunnel + + + rotation + + + + NetName + Din + + + + + + Tunnel + + + rotation + + + + NetName + CLK + + + + + + Tunnel + + + NetName + Q1 + + + + + + And + + + + + Tunnel + + + rotation + + + + NetName + RW_IE + + + + + + Tunnel + + + rotation + + + + NetName + RW_A + + + + + + Register + + + valueIsProbe + true + + + Label + RB + + + Bits + 16 + + + + + + Tunnel + + + rotation + + + + NetName + Din + + + + + + Tunnel + + + rotation + + + + NetName + CLK + + + + + + Tunnel + + + NetName + Q2 + + + + + + And + + + + + Tunnel + + + rotation + + + + NetName + RW_IE + + + + + + Tunnel + + + rotation + + + + NetName + RW_B + + + + + + Register + + + valueIsProbe + true + + + Label + RC + + + Bits + 16 + + + + + + Tunnel + + + rotation + + + + NetName + Din + + + + + + Tunnel + + + rotation + + + + NetName + CLK + + + + + + Tunnel + + + NetName + Q3 + + + + + + And + + + + + Register + + + valueIsProbe + true + + + Label + RD + + + Bits + 16 + + + + + + Tunnel + + + rotation + + + + NetName + Din + + + + + + Tunnel + + + rotation + + + + NetName + CLK + + + + + + Tunnel + + + NetName + Q4 + + + + + + And + + + + + Tunnel + + + rotation + + + + NetName + RW_IE + + + + + + Tunnel + + + rotation + + + + NetName + RW_D + + + + + + Register + + + valueIsProbe + true + + + Label + RE + + + Bits + 16 + + + + + + Tunnel + + + rotation + + + + NetName + Din + + + + + + Tunnel + + + rotation + + + + NetName + CLK + + + + + + Tunnel + + + NetName + Q5 + + + + + + And + + + + + Tunnel + + + rotation + + + + NetName + RW_IE + + + + + + Tunnel + + + rotation + + + + NetName + RW_E + + + + + + Register + + + valueIsProbe + true + + + Label + RF + + + Bits + 16 + + + + + + Tunnel + + + rotation + + + + NetName + Din + + + + + + Tunnel + + + rotation + + + + NetName + CLK + + + + + + Tunnel + + + NetName + Q6 + + + + + + And + + + + + Tunnel + + + rotation + + + + NetName + RW_IE + + + + + + Tunnel + + + rotation + + + + NetName + RW_F + + + + + + Tunnel + + + rotation + + + + NetName + RW_IE + + + + + + Tunnel + + + rotation + + + + NetName + RW_C + + + + + + Decoder + + + Selector Bits + 3 + + + + + + In + + + Description + Read register 2 select + + + Label + R2_S + + + Bits + 3 + + + + + + Tunnel + + + NetName + CLK + + + + + + Testcase + + + Testdata + + CLK Din RW_IE RW_S R1_S R2_S D1 D2 +# store and read from RA works +C 0xF 1 1 0 X X X +C 0 0 0 1 X 0xF X +C 0x5 1 1 1 X 0x5 X +C 0 0 0 1 X 0x5 X + + + + + + + + Register + + + valueIsProbe + true + + + Label + RG + + + Bits + 16 + + + + + + Tunnel + + + rotation + + + + NetName + Din + + + + + + Tunnel + + + rotation + + + + NetName + CLK + + + + + + Tunnel + + + NetName + Q7 + + + + + + And + + + + + Tunnel + + + rotation + + + + NetName + RW_IE + + + + + + Tunnel + + + rotation + + + + NetName + RW_G + + + + + + Register + + + valueIsProbe + true + + + Label + RH + + + Bits + 16 + + + + + + Tunnel + + + rotation + + + + NetName + Din + + + + + + Tunnel + + + rotation + + + + NetName + CLK + + + + + + Tunnel + + + NetName + Q8 + + + + + + And + + + + + Tunnel + + + rotation + + + + NetName + RW_IE + + + + + + Tunnel + + + rotation + + + + NetName + RW_H + + + + + + Tunnel + + + NetName + RW_A + + + + + + Tunnel + + + NetName + RW_B + + + + + + Tunnel + + + NetName + RW_C + + + + + + Tunnel + + + NetName + RW_D + + + + + + Tunnel + + + NetName + RW_E + + + + + + Tunnel + + + NetName + RW_F + + + + + + Tunnel + + + NetName + RW_G + + + + + + Tunnel + + + NetName + RW_H + + + + + + Tunnel + + + rotation + + + + NetName + Q1 + + + + + + Tunnel + + + rotation + + + + NetName + Q2 + + + + + + Tunnel + + + rotation + + + + NetName + Q3 + + + + + + Tunnel + + + rotation + + + + NetName + Q4 + + + + + + Tunnel + + + rotation + + + + NetName + Q5 + + + + + + Tunnel + + + rotation + + + + NetName + Q6 + + + + + + Tunnel + + + rotation + + + + NetName + Q7 + + + + + + Tunnel + + + rotation + + + + NetName + Q8 + + + + + + Tunnel + + + rotation + + + + NetName + Q1 + + + + + + Tunnel + + + rotation + + + + NetName + Q2 + + + + + + Tunnel + + + rotation + + + + NetName + Q3 + + + + + + Tunnel + + + rotation + + + + NetName + Q4 + + + + + + Tunnel + + + rotation + + + + NetName + Q5 + + + + + + Tunnel + + + rotation + + + + NetName + Q6 + + + + + + Tunnel + + + rotation + + + + NetName + Q7 + + + + + + Tunnel + + + rotation + + + + NetName + Q8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/digital-diagrams/atk16_tpu.dig b/digital-diagrams/atk16_tpu.dig new file mode 100644 index 0000000..f6b6398 --- /dev/null +++ b/digital-diagrams/atk16_tpu.dig @@ -0,0 +1,1165 @@ + + + 2 + + + romContent + + + + + + Width + 6 + + + + + Out + + + Label + PR + + + Bits + 2 + + + + + + Out + + + Label + PG + + + Bits + 2 + + + + + + Out + + + Label + PB + + + Bits + 2 + + + + + + In + + + Label + MMIO_IE + + + + + + In + + + Label + MMIO_OE + + + + + + In + + + Description + MMI/O selector + + + Label + MMIO_S + + + Bits + 13 + + + + + + Tunnel + + + NetName + MMIO_IE + + + + + + Tunnel + + + NetName + MMIO_OE + + + + + + Tunnel + + + NetName + MMIO_S + + + + + + In + + + Description + Data bus + + + Label + DBUS + + + Bits + 16 + + + + + + In + + + Description + X pixel + + + Label + X + + + Bits + 9 + + + + + + Tunnel + + + NetName + X + + + + + + In + + + Description + Y pixel + + + Label + Y + + + Bits + 8 + + + + + + RAMDualPort + + + AddrBits + 11 + + + Label + TEXTMEM + + + Bits + 8 + + + + + + Tunnel + + + rotation + + + + NetName + Y + + + + + + Splitter + + + Input Splitting + 8 + + + Output Splitting + 3,5 + + + + + + Tunnel + + + rotation + + + + NetName + CCOLOR + + + + + + Splitter + + + Input Splitting + 1,1 + + + Output Splitting + 2 + + + + + + VDD + + + rotation + + + + + + + Tunnel + + + NetName + CHAR_S + + + + + + Tunnel + + + NetName + Y + + + + + + Tunnel + + + NetName + TY + + + + + + Tunnel + + + NetName + CY + + + + + + Probe + + + intFormat + dec + + + + + + EEPROM + + + AddrBits + 11 + + + Label + CHARMEM + + + Bits + 8 + + + Data + 8*0,7e,81,a5,81,bd,99,81,7e,7e,ff,db,ff,c3,e7,ff,7e,36,7f,7f,7f +,3e,1c,8,0,8,1c,3e,7f,3e,1c,8,0,1c,3e,1c,7f,7f,6b,8,1c,8,8,1c +,3e,7f,3e,8,1c,0,0,18,3c,3c,18,0,0,ff,ff,e7,c3,c3,e7,ff,ff,0,3c +,66,42,42,66,3c,9*0,f0,e0,f0,be,33,33,33,1e,3c,66,66,66,3c,18 +,7e,18,fc,cc,fc,c,c,e,f,7,fe,c6,fe,c6,c6,e6,67,3,18,db,3c,e7,e7 +,3c,db,18,1,7,1f,7f,1f,7,1,0,40,70,7c,7f,7c,70,40,0,18,3c,7e,18,18 +,7e,3c,18,5*66,0,66,0,fe,db,db,de,d8,d8,d8,0,7c,c6,1c,36,36,1c +,33,1e,4*0,7e,7e,7e,0,18,3c,7e,18,7e,3c,18,ff,18,3c,7e,4*18,0 +,4*18,7e,3c,18,0,0,18,30,7f,30,18,0,0,0,c,6,7f,6,c,4*0,3,3,3,7f +,0,0,0,24,66,ff,66,24,0,0,0,18,3c,7e,ff,ff,0,0,0,ff,ff,7e,3c,18 +,10*0,c,1e,1e,c,c,0,c,0,36,36,36,5*0,36,36,7f,36,7f,36,36,0,c +,3e,3,1e,30,1f,c,0,0,63,33,18,c,66,63,0,1c,36,1c,6e,3b,33,6e,0 +,6,6,3,5*0,18,c,6,6,6,c,18,0,6,c,18,18,18,c,6,0,0,66,3c,ff,3c +,66,0,0,0,c,c,3f,c,c,7*0,c,c,6,0,0,0,3f,9*0,c,c,0,60,30,18,c,6 +,3,1,0,3e,63,73,7b,6f,67,3e,0,c,e,4*c,3f,0,1e,33,30,1c,6,33,3f +,0,1e,33,30,1c,30,33,1e,0,38,3c,36,33,7f,30,78,0,3f,3,1f,30,30 +,33,1e,0,1c,6,3,1f,33,33,1e,0,3f,33,30,18,c,c,c,0,1e,33,33,1e +,33,33,1e,0,1e,33,33,3e,30,18,e,0,0,c,c,0,0,c,c,0,0,c,c,0,0,c,c +,6,18,c,6,3,6,c,18,0,0,0,3f,0,0,3f,0,0,6,c,18,30,18,c,6,0,1e,33 +,30,18,c,0,c,0,3e,63,7b,7b,7b,3,1e,0,c,1e,33,33,3f,33,33,0,3f +,66,66,3e,66,66,3f,0,3c,66,3,3,3,66,3c,0,1f,36,66,66,66,36,1f +,0,7f,46,16,1e,16,46,7f,0,7f,46,16,1e,16,6,f,0,3c,66,3,3,73,66 +,7c,0,33,33,33,3f,33,33,33,0,1e,5*c,1e,0,78,30,30,30,33,33,1e +,0,67,66,36,1e,36,66,67,0,f,6,6,6,46,66,7f,0,63,77,7f,7f,6b,63,63 +,0,63,67,6f,7b,73,63,63,0,1c,36,63,63,63,36,1c,0,3f,66,66,3e,6,6 +,f,0,1e,33,33,33,3b,1e,38,0,3f,66,66,3e,36,66,67,0,1e,33,6,c,18 +,33,1e,0,3f,2d,4*c,1e,0,6*33,3f,0,5*33,1e,c,0,63,63,63,6b,7f,77 +,63,0,63,63,36,1c,1c,36,63,0,33,33,33,1e,c,c,1e,0,7f,63,31,18 +,4c,66,7f,0,1e,5*6,1e,0,3,6,c,18,30,60,40,0,1e,5*18,1e,0,8,1c +,36,63,11*0,ff,c,c,18,7*0,1e,30,3e,33,6e,0,7,6,6,3e,66,66,3b,0,0,0 +,1e,33,3,33,1e,0,38,30,30,3e,33,33,6e,0,0,0,1e,33,3f,3,1e,0,1c +,36,6,f,6,6,f,0,0,0,6e,33,33,3e,30,1f,7,6,36,6e,66,66,67,0,c,0 +,e,c,c,c,1e,0,30,0,30,30,30,33,33,1e,7,6,66,36,1e,36,67,0,e,5*c +,1e,0,0,0,33,7f,7f,6b,63,0,0,0,1f,4*33,0,0,0,1e,33,33,33,1e,0,0,0 +,3b,66,66,3e,6,f,0,0,6e,33,33,3e,30,78,0,0,3b,6e,66,6,f,0,0,0 +,3e,3,1e,30,1f,0,8,c,3e,c,c,2c,18,0,0,0,4*33,6e,0,0,0,33,33,33 +,1e,c,0,0,0,63,6b,7f,7f,36,0,0,0,63,36,1c,36,63,0,0,0,33,33,33 +,3e,30,1f,0,0,3f,19,c,26,3f,0,38,c,c,7,c,c,38,0,18,18,18,0,18,18,18 +,0,7,c,c,38,c,c,7,0,6e,3b,7*0,8,1c,36,63,63,7f,0,0,fe,4*82,fe +,0,0,fe,4*82,fe,0,0,fe,4*82,fe,0,0,fe,4*82,fe,0,0,fe,4*82,fe,0,0 +,fe,4*82,fe,0,0,fe,4*82,fe,0,0,fe,4*82,fe,0,0,fe,4*82,fe,0,0,fe +,4*82,fe,0,0,fe,4*82,fe,0,0,fe,4*82,fe,0,0,fe,4*82,fe,0,0,fe,4*82 +,fe,0,0,fe,4*82,fe,0,0,fe,4*82,fe,0,0,fe,4*82,fe,0,0,fe,4*82,fe +,0,0,fe,4*82,fe,0,0,fe,4*82,fe,0,0,fe,4*82,fe,0,0,fe,4*82,fe,0,0 +,fe,4*82,fe,0,0,fe,4*82,fe,0,0,fe,4*82,fe,0,0,fe,4*82,fe,0,0,fe +,4*82,fe,0,0,fe,4*82,fe,0,0,fe,4*82,fe,0,0,fe,4*82,fe,0,0,fe,4*82 +,fe,0,0,fe,4*82,fe,9*0,18,18,0,4*18,0,18,18,7e,3,3,7e,18,18,1c +,36,26,f,6,67,3f,0,0,fe,4*82,fe,0,33,33,1e,3f,c,3f,c,c,0,fe,4*82 +,fe,0,7c,c6,1c,36,36,1c,33,1e,0,fe,4*82,fe,0,0,fe,4*82,fe,0,3c +,36,36,7c,0,7e,0,0,0,cc,66,33,66,cc,5*0,3f,30,30,0,0,0,fe,4*82 +,fe,0,0,fe,4*82,fe,0,0,fe,4*82,fe,0,1c,36,36,1c,4*0,c,c,3f,c,c +,0,3f,0,e,18,c,6,1e,4*0,fe,4*82,fe,0,0,fe,4*82,fe,0,0,4*66,3e +,6,3,fe,db,db,de,d8,d8,d8,5*0,18,4*0,fe,4*82,fe,0,0,fe,4*82,fe +,0,1c,36,36,1c,0,3e,0,0,0,33,66,cc,66,33,0,0,c3,63,33,db,ec,f6 +,f3,c0,c3,63,33,7b,cc,66,33,f0,0,fe,4*82,fe,0,c,0,c,6,3,33,1e +,0,0,fe,4*82,fe,0,0,fe,4*82,fe,0,0,fe,4*82,fe,0,0,fe,4*82,fe,0 +,63,1c,36,63,7f,63,63,0,c,c,0,1e,33,3f,33,0,7c,36,33,7f,33,33 +,73,0,1e,33,3,33,1e,18,30,1e,0,fe,4*82,fe,0,38,0,3f,6,1e,6,3f +,0,0,fe,4*82,fe,0,0,fe,4*82,fe,0,0,fe,4*82,fe,0,0,fe,4*82,fe,0,0 +,fe,4*82,fe,0,0,fe,4*82,fe,0,0,fe,4*82,fe,0,3f,0,33,37,3f,3b,33 +,0,0,fe,4*82,fe,0,0,fe,4*82,fe,0,0,fe,4*82,fe,0,0,fe,4*82,fe,0 +,c3,18,3c,66,66,3c,18,0,0,fe,4*82,fe,0,0,fe,4*82,fe,0,0,fe,4*82 +,fe,0,0,fe,4*82,fe,0,0,fe,4*82,fe,0,33,0,4*33,1e,0,0,fe,4*82,fe +,0,0,fe,4*82,fe,0,0,1e,33,1f,33,1f,3,3,7,0,1e,30,3e,33,7e,0,38 +,0,1e,30,3e,33,7e,0,7e,c3,3c,60,7c,66,fc,0,0,fe,4*82,fe,0,33,0 +,1e,30,3e,33,7e,0,c,c,1e,30,3e,33,7e,0,0,0,fe,30,fe,33,fe,0,0,0 +,1e,3,3,1e,30,1c,7,0,1e,33,3f,3,1e,0,38,0,1e,33,3f,3,1e,0,7e,c3 +,3c,66,7e,6,3c,0,33,0,1e,33,3f,3,1e,0,7,0,e,c,c,c,1e,0,1c,0,e +,c,c,c,1e,0,3e,63,1c,18,18,18,3c,0,33,0,e,c,c,c,1e,0,0,fe,4*82 +,fe,0,0,1f,0,1f,33,33,33,0,0,7,0,1e,33,33,1e,0,0,38,0,1e,33,33 +,1e,0,1e,33,0,1e,33,33,1e,0,0,fe,4*82,fe,0,0,33,0,1e,33,33,1e +,0,c,c,0,3f,0,c,c,0,0,fe,4*82,fe,0,0,7,0,33,33,33,7e,0,0,38,0 +,33,33,33,7e,0,1e,33,0,33,33,33,7e,0,0,33,0,33,33,33,7e,0,0,fe +,4*82,fe,0,0,fe,4*82,fe,0,0,33,0,33,33,3e,30,1f + + + intFormat + bin + + + + + + Ground + + + rotation + + + + + + + VDD + + + rotation + + + + + + + VDD + + + rotation + + + + + + + Splitter + + + Input Splitting + 3,8 + + + Output Splitting + 11 + + + + + + Tunnel + + + rotation + + + + NetName + CHAR_S + + + + + + Tunnel + + + rotation + + + + NetName + CY + + + + + + BitSelector + + + Selector Bits + 3 + + + + + + Tunnel + + + NetName + CX + + + + + + Tunnel + + + NetName + CCOLOR + + + + + + Probe + + + intFormat + bin + + + + + + Probe + + + + + Probe + + + + + Multiplexer + + + Bits + 11 + + + + + + Tunnel + + + rotation + + + + NetName + TY + + + + + + And + + + Inputs + 3 + + + + + + Splitter + + + Input Splitting + 13 + + + Output Splitting + 11,1,1 + + + + + + Tunnel + + + rotation + + + + NetName + MMIO_S + + + + + + Tunnel + + + NetName + MMIOADDR + + + + + + Tunnel + + + rotation + + + + NetName + MMIOADDR + + + + + + Tunnel + + + rotation + + + + NetName + MMIOMATCH + + + + + + Tunnel + + + rotation + + + + NetName + DBUS_L8 + + + + + + Splitter + + + Input Splitting + 16 + + + Output Splitting + 8,8 + + + + + + Tunnel + + + NetName + DBUS_L8 + + + + + + Tunnel + + + NetName + MMIOMATCH + + + + + + Tunnel + + + rotation + + + + NetName + MMIO_IE + + + + + + Counter + + + Label + CLK divider /4 + + + + + + VDD + + + rotation + + + + + + + Ground + + + + + In + + + Description + Pixel clock + + + Label + PCLK + + + + + + Tunnel + + + NetName + CLK + + + + + + Tunnel + + + rotation + + + + NetName + X + + + + + + Splitter + + + Input Splitting + 9 + + + Output Splitting + 3,6 + + + + + + Tunnel + + + NetName + TX + + + + + + Tunnel + + + NetName + CX + + + + + + Tunnel + + + rotation + + + + NetName + CLK + + + + + + Tunnel + + + rotation + + + + NetName + TX + + + + + + Splitter + + + Input Splitting + 6,5 + + + Output Splitting + 11 + + + + + + VDD + + + rotation + + + + Bits + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/digital-diagrams/atk16_ucode_addr.dig b/digital-diagrams/atk16_ucode_addr.dig new file mode 100644 index 0000000..682c90e --- /dev/null +++ b/digital-diagrams/atk16_ucode_addr.dig @@ -0,0 +1,741 @@ + + + 2 + + + romContent + + + + + + Width + 6 + + + + + In + + + Description + Flag selector from instruction + + + Label + FLAG_S + + + Bits + 3 + + + + + + In + + + Description + Flag register output value + + + Label + FR_Q + + + Bits + 4 + + + + + + In + + + Description + OPCODE + + + Label + OP + + + Bits + 4 + + + + + + Tunnel + + + NetName + OP + + + + + + Tunnel + + + NetName + FLAG_S + + + + + + Tunnel + + + NetName + FR_Q + + + + + + In + + + Description + Microsequencer value + + + Label + US_Q + + + Bits + 3 + + + + + + Tunnel + + + NetName + US_Q + + + + + + In + + + Description + Interrupt request bus + + + Label + IRQ + + + Bits + 4 + + + + + + PriorityEncoder + + + Selector Bits + 2 + + + Label + Interrupts + + + + + + Splitter + + + Input Splitting + 4 + + + Output Splitting + 1*4 + + + + + + Multiplexer + + + Bits + 5 + + + + + + Splitter + + + Input Splitting + 3,5 + + + + + + Tunnel + + + rotation + + + + NetName + US_Q + + + + + + Out + + + Label + ADDR + + + Bits + 8 + + + + + + And + + + + + Tunnel + + + rotation + + + + NetName + OP + + + + + + Splitter + + + Input Splitting + 1,4 + + + Output Splitting + 5 + + + + + + Tunnel + + + rotation + + + + NetName + FC + + + + + + Splitter + + + Input Splitting + 2,3 + + + Output Splitting + 5 + + + + + + BitSelector + + + Selector Bits + 2 + + + + + + Tunnel + + + rotation + + + + NetName + FLAG_S + + + + + + Splitter + + + rotation + + + + Input Splitting + 3 + + + Output Splitting + 2, + + + + + + Tunnel + + + rotation + + + + NetName + FR_Q + + + + + + Tunnel + + + NetName + FC + + + + + + Out + + + Description + Interrupt number + + + rotation + + + + Label + IT_N + + + Bits + 2 + + + + + + Out + + + Label + INT_ACTIVE + + + + + + In + + + Description + Interrupt mask assert active + + + Label + IM_EN + + + + + + In + + + Description + Interrupt mask assert not active + + + Label + IM_DS + + + + + + RS_FF_AS + + + valueIsProbe + true + + + Label + INT MASK + + + + + + D_FF + + + + + Comparator + + + Bits + 3 + + + + + + Const + + + Value + 0 + + + Bits + 3 + + + + + + Tunnel + + + rotation + + + + NetName + US_Q + + + + + + Const + + + Value + 6 + + + Bits + 3 + + + intFormat + bin + + + + + + Register + + + Label + INT LINE + + + Bits + 2 + + + + + + VDD + + + rotation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/digital-diagrams/atk16_vga_sync.dig b/digital-diagrams/atk16_vga_sync.dig new file mode 100644 index 0000000..7d42dea --- /dev/null +++ b/digital-diagrams/atk16_vga_sync.dig @@ -0,0 +1,999 @@ + + + 2 + + + romContent + + + + + + Width + 7 + + + + + Comparator + + + Bits + 10 + + + + + + Const + + + Value + 798 + + + Bits + 10 + + + intFormat + dec + + + + + + Counter + + + Bits + 10 + + + + + + VDD + + + rotation + + + + + + + Comparator + + + Bits + 10 + + + + + + Const + + + Value + 113 + + + Bits + 10 + + + intFormat + dec + + + + + + Comparator + + + Bits + 10 + + + + + + Const + + + Value + 16 + + + Bits + 10 + + + intFormat + dec + + + + + + NAnd + + + + + Tunnel + + + NetName + HSYNC + + + + + + Const + + + Value + 160 + + + Bits + 10 + + + intFormat + dec + + + + + + Sub + + + Bits + 10 + + + + + + Ground + + + + + Comparator + + + Bits + 10 + + + + + + Const + + + Value + 523 + + + Bits + 10 + + + intFormat + dec + + + + + + Counter + + + Bits + 10 + + + + + + VDD + + + rotation + + + + + + + Comparator + + + Bits + 10 + + + + + + Const + + + Value + 10 + + + Bits + 10 + + + intFormat + dec + + + + + + Comparator + + + Bits + 10 + + + + + + Const + + + Value + 13 + + + Bits + 10 + + + intFormat + dec + + + + + + Tunnel + + + NetName + VSYNC + + + + + + NAnd + + + + + Const + + + Value + 45 + + + Bits + 10 + + + intFormat + dec + + + + + + Sub + + + Bits + 10 + + + + + + Ground + + + + + Splitter + + + Input Splitting + 10 + + + Output Splitting + 1,8,1 + + + + + + Splitter + + + Input Splitting + 10 + + + Output Splitting + 1,9 + + + + + + Text + + + Description + Div 2 + + + + + + Text + + + Description + Div 2 + + + + + + In + + + Label + PCLK + + + + + + Probe + + + intFormat + dec + + + + + + Probe + + + intFormat + dec + + + + + + Out + + + Label + HSYNC + + + + + + Out + + + Label + VSYNC + + + + + + Tunnel + + + rotation + + + + NetName + HSYNC + + + + + + Tunnel + + + rotation + + + + NetName + VSYNC + + + + + + Out + + + Label + X + + + Bits + 9 + + + intFormat + dec + + + + + + Tunnel + + + rotation + + + + NetName + Y + + + + + + Out + + + Label + Y + + + Bits + 8 + + + intFormat + dec + + + + + + Tunnel + + + rotation + + + + NetName + X + + + + + + Comparator + + + Bits + 9 + + + + + + Const + + + Value + 319 + + + Bits + 9 + + + intFormat + dec + + + + + + Multiplexer + + + Bits + 9 + + + + + + Const + + + Value + 511 + + + Bits + 9 + + + intFormat + dec + + + + + + Tunnel + + + NetName + X + + + + + + Const + + + Value + 239 + + + Bits + 8 + + + intFormat + dec + + + + + + Multiplexer + + + Bits + 8 + + + + + + Const + + + Value + 255 + + + Bits + 8 + + + intFormat + dec + + + + + + Tunnel + + + NetName + Y + + + + + + Comparator + + + Bits + 8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file -- cgit v1.3