

Cpu td4
- Size
- 144 × 100 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 90
- Nets
- 94
- Pads
- 360
- Tracks, vias
- 895, 14
- Routed
- Yes
- KiCad
- KiCad 8.0 (file 20240108)
- Created
- 2 Nov 2024
- Updated
- 7 Nov 2024
Overview
Cpu td4 is an open-source printed circuit board by nikachu2012, from the nikachu2012/td4cpu repository on GitHub. It is a 2-layer board of 144 × 100 mm with 90 parts on 94 nets, routed with 895 tracks and 14 vias.
It is built around the 74HC161S, 74HC153D and 74HC04D, with the 74HC10D, 74HC14 and 74HC283P-E among its other parts. Its parts include 33 resistors, 17 capacitors, 17 diodes, 12 ICs and 6 switches.
Main components
874HC161S
SOP-160℃~+70℃ 20MHz 2V~6V 4 500mW Asynchronous Hexadecimal Counter Rising Edge Synchronous Up Counter SOP-16 Counters, Dividers ROHSGRCounters, Dividers74HC153D
SOIC-16-40℃~+125℃ 160uA 2V~6V 44ns@4.5V,50pF 5.2mA 5.2mA 74HC 8/2 Multiplexer Output enable high-impedance Single Supply SOIC-16 Signal Switches, Multiplexers, Decoders ROHSNexperiaSignal Switches, Multiplexers, Decoders74HC04D
SOP-14-40℃~+125℃ 1 1.5V~4.2V 1.9V、3.7V、5.2V 100mV、400mV、400mV 14ns@6V,50pF 2V~6V 2uA 5.2mA 5.2mA 500mV~1.8V 6 74HC SOIC-14 Inverters ROHSNexperiaInverters74HC10D
SO-14-40℃~+125℃ 1.5V~4.2V 16ns@6V,50pF 2V~6V 2uA 3 5.2mA 5.2mA 500mV~1.8V 74HC Series NAND Gate SOIC-14 Logic Gates ROHSNexperiaGates74HC14
SOP-14-40℃~+85℃ 1.9V、3.98V、4.4V、5.48V、5.9V 100mV、260mV、260mV 20uA 25ns@4.5V,50pF 2V~6V 6 74HC Noise suppression function Schmitt trigger SOP-14 Inverters ROHSJSMSEMIInverters74HC283P-E
-- Specialty Logic ROHSRenesas ElectronicsSpecialty Logic74HC32D
SOP-14-40℃~+125℃ 1.5V~4.2V 1.9V、4.4V、5.9V 100mV、400mV、400mV 2 2V~6V 2uA 4 5.2mA 5.2mA 500mV~1.8V 6ns@6V,50pF 74HC Series OR Gate SOIC-14 Logic Gates ROHSNexperiaLogic Gates74HC74D
SOIC-14-40℃~+125℃ 1 15ns 2 2V~6V 3.5pF 37ns@6V,50pF 3ns、3ns、3ns 40uA 5.2mA 5.2mA 74HC Series 82MHz Asynchronous Complementary D-Type Rising Edge Set and Reset SOIC-14 Flip Flops ROHSNexperiaFlip Flops
README
README.mdTD4 CPU
書籍「CPUの創りかた」にあるTD4 CPUの回路を、ユニバーサル基板で作るのがめんどくさかったので基板にしたものです。 製作の際は書籍を購入することをお勧めします。
完成させた基板のサンプル
フォルダ解説
schematic
回路図と基板のKiCadデータが入っています。バージョンは8.0です。 なんかのフットプリントをライブラリで入れてた気がしますがなくても読めるっぽいです。
schematic_pdf
回路図のpdfファイルが入っています。
rom_emulator
ArduinoなどのマイコンでROMを作るためのプログラムが入っています。
Arduino UNO系と、Raspberry Pi Pico(MicroPython)があります。
Arduino UNO系
Arduino UNO R4 WiFiで動作確認しています。
ポートレジスタの操作ではなくdigitalWriteを使っているのでMinimaやR3でも動くと思います。
以下のように接続してください。
| Arduino側 | TD4 CPU側 |
|---|---|
| VIN | +5V |
| GND | GND |
| D11 | Address bus 3 |
| D10 | Address bus 2 |
| D9 | Address bus 1 |
| D8 | Address bus 0 |
| D7 | Data bus 7 |
| D6 | Data bus 6 |
| D5 | Data bus 5 |
| D4 | Data bus 4 |
| D3 | Data bus 3 |
| D2 | Data bus 2 |
| D1 | Data bus 1 |
| D0 | Data bus 0 |
Raspberry Pi Pico
Raspberry Pi Pico無印で動作確認済みです。
ファイル名をmain.pyに変更して送信すれば動作すると思います。
以下のように接続してください。
| Raspberry Pi Pico側 | TD4 CPU側 |
|---|---|
| 39 VSYS | +5V |
| 38 GND | GND |
| 4 GP2 | Address bus 3 |
| 5 GP3 | Address bus 2 |
| 6 GP4 | Address bus 1 |
| 7 GP5 | Address bus 0 |
| 9 GP6 | Data bus 7 |
| 10 GP7 | Data bus 6 |
| 11 GP8 | Data bus 5 |
| 12 GP9 | Data bus 4 |
| 13 GP10 | Data bus 3 |
| 14 GP11 | Data bus 2 |
| 15 GP12 | Data bus 1 |
| 16 GP13 | Data bus 0 |
Parts
90| Qty | Value | Footprint | References |
|---|---|---|---|
| 24 | 1k | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R1, R10, R11, R12, R13, R14, R15, R16, R17, R18, R19, R20, R21, R22, R23, R24 +8 |
| 17 | LED | LED_THT:LED_D3.0mm | D1, D2, D3, D4, D5, D6, D7, D8, D10, D11, D12, D13, D14, D15, D16, D17 +1 |
| 13 | 0.1μF | Capacitor_THT:C_Disc_D5.0mm_W2.5mm_P2.50mm | C3, C5, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17 |
| 4 | 100k | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R5, R7, R27, R33 |
| 4 | 74HC161 | Package_DIP:DIP-16_W7.62mm_Socket | U2, U3, U4, U5 |
| 2 | 100 | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R8, R9 |
| 2 | 10μF 16V | Capacitor_THT:CP_Radial_D4.0mm_P1.50mm | C1, C6 |
| 2 | 74HC153 | Package_DIP:DIP-16_W7.62mm_Socket | U10, U12 |
| 2 | SW_SPDT | SS12D00G3:SS12D00G3 | SW1, SW2 |
| 1 | 100μF 16V | Capacitor_THT:CP_Radial_D6.3mm_P2.50mm | C2 |
| 1 | 10k | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R2 |
| 1 | 10μF 16V MLCC | Capacitor_THT:C_Disc_D6.0mm_W2.5mm_P5.00mm | C4 |
| 1 | 3.3k | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R4 |
| 1 | 33k | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R6 |
| 1 | 74HC04 | Package_DIP:DIP-14_W7.62mm_Socket | U1 |
| 1 | 74HC10 | Package_DIP:DIP-14_W7.62mm_Socket | U6 |
| 1 | 74HC14 | Package_DIP:DIP-14_W7.62mm_Socket | U7 |
| 1 | 74HC283 | Package_DIP:DIP-16_W7.62mm_Socket | U11 |
| 1 | 74HC32 | Package_DIP:DIP-14_W7.62mm_Socket | U8 |
| 1 | 74HC74 | Package_DIP:DIP-14_W7.62mm_Socket | U9 |
| 1 | ADDRESS | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J3 |
| 1 | Beep Buzzer | Buzzer_Beeper:Buzzer_12x9.5RM7.6 | BZ1 |
| 1 | Beep Toggle | SS12D00G3:SS12D00G3 | SW3 |
| 1 | DATA | Connector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_Vertical | J4 |
| 1 | DIP | Button_Switch_THT:SW_DIP_SPSTx04_Slide_9.78x12.34mm_W7.62mm_P2.54mm | SW4 |
| 1 | Jack-DC | Connector_BarrelJack:BarrelJack_GCT_DCJ200-10-A_Horizontal | J1 |
| 1 | Manual CLK | Button_Switch_THT:SW_PUSH-12mm_Wuerth-430476085716 | SW6 |
| 1 | Power | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J2 |
| 1 | Reset SW | Button_Switch_THT:SW_PUSH-12mm_Wuerth-430476085716 | SW5 |
Questions
How big is the Cpu td4 PCB?
It measures 144 × 100 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Cpu td4 use?
90 parts, built around the 74HC161S, 74HC153D, 74HC04D and 74HC10D. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the Cpu td4 KiCad files?
From the nikachu2012/td4cpu repository on GitHub, at the commit this page was made from: the board is schematic/cpu_td4.kicad_pcb and its schematic schematic/cpu_td4.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Cpu td4 design in my own project?
Its repository states no licence, so its author keeps all rights: ask nikachu2012 before reusing the design.
Similar boards
- 2 layers100 × 100 mm

- 2 layers178 × 711 mm

- 2 layers299.7 × 198.1 mm

Cisc-8
nailed-barnacle/Cisc-8-ttl-processor
A cut-down version of the 8080 processor using HCTTL and including a discrete ALU and instruction decoder
319 parts1MIT - 2 layers

- 2 layers213.1 × 129 mm

- 2 layers137.2 × 76.2 mm

- 2 layers135.9 × 53.3 mm

- 2 layers191.8 × 121.3 mm

8-Bit CPU 32k
slu4coder/Minimal-UART-Computer-1-2
Legacy: Version 1 and 2 of my TTL-only CPU featuring UART I/O, an expansion port, 512KB SSD at up to 10MHz clock speed
109 parts184