

FISC2
FISC2: A TTL CPU with Some 16-bit Capabilities
- Size
- 214.6 × 123.2 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 73
- Nets
- 127
- Pads
- 808
- Tracks, vias
- 3,387, 183
- Pours
- 2
- Routed
- Yes
- KiCad
- KiCad 5 (file 20171130)
- Created
- 30 Jun 2020
- Updated
- 11 Jul 2020
Overview
FISC2 is an open-source printed circuit board by DoctorWkt, from the DoctorWkt/2FISC repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 214.6 × 123.2 mm with 73 parts on 127 nets, routed with 3,387 tracks and 183 vias.
It is built around the 74HCT541D, 74HCT240D and UM245R, with the AT27C1024-70PU, 74HCT574D and 74LS469ANS among its other parts. Its parts include 31 capacitors, 30 ICs, 6 connectors, 3 resistors and 1 switch.
Main components
1274HCT541D
SO-20-40℃~+125℃ 1 15ns@4.5V,50pF 160uA 4.5V~5.5V 6mA 6mA 74HCT 8 Tri-State Unidirectional SO-20-300mil Buffers, Drivers, Receivers, Transceivers ROHSNexperiaBuffers, Drivers, Receivers, Transceivers74HCT240D
SO-20-300mil-40℃~+125℃ 1 160uA 4.5V~5.5V 6mA 6mA 74HCT 8 9ns@5V,15pF Output enable Tri-State SO-20-300mil Buffers, Drivers, Receivers, Transceivers ROHSNexperiaBuffer/Driver/TransceiverUM245R
插件-40℃~+85℃ On-board regulator Plugin USB Conversion Modules ROHSFTDIUSB Conversion ModulesAT27C1024-70PU
PDIP-40-40℃~+85℃ 1Mbit 4.5V~5.5V Parallel Port (Parallel) PDIP-40 Non-Volatile Memory (ROM) ROHSMicrochip TechnologyEEPROM74HCT574D
SO-20-300mil-40℃~+125℃ 1 18ns@4.5V,50pF 3.5pF 3ns 4.5V~5.5V 5ns 69MHz 6mA 6mA 74HCT Series 8 8uA D-Type Rising Edge Tri-State SOIC-20-300mil Flip Flops ROHSNexperiaFlip Flops74LS469ANS
-0℃~+75℃ 25MHz 4.75V~5.25V 74LS 8 945mW Cascade counter、Synchronous counting、Multi-mode counting Rising Edge Synchronous - Counters, Dividers ROHSRochester Electronics, LLCCounters, Dividers74HCT154D
SO-24-300mil-40℃~+125℃ 4.5V~5.5V 4mA 4mA Decoder/Demultiplexer Single Supply SO-24-300mil Signal Switches, Multiplexers, Decoders ROHSNexperiaSignal Switches / Encoders & Decoders / Multiplexers74HCT238D
SO-16-40℃~+125℃ 160uA 19ns@4.5V,15pF 3/8 4.5V~5.5V 4mA 4mA 74HCT Decoder Single Supply SO-16 Signal Switches, Multiplexers, Decoders ROHSNexperiaSignal Switches, Multiplexers, Decoders74HCT139D
SO-16-40℃~+125℃ 160uA 16ns@4.5V,50pF 4.5V~5.5V 4/8 4mA 4mA 74HCT Decoder Single Supply SO-16 Signal Switches, Multiplexers, Decoders ROHSNexperiaSignal Switches, Multiplexers, Decoders74HCT151D
SO-16-40℃~+125℃ 160uA 38ns@4.5V,50pF 4.5V~5.5V 4mA 4mA 74HCT 8/2 Multiplexer Single Supply SO-16 Signal Switches, Multiplexers, Decoders ROHSNexperiaSignal Switches / Encoders & Decoders / Multiplexers74HCT161D
SOIC-16SOIC-16 Specialty Logic ROHSPhilips SemiconsSpecialty Logic74HCT74D
SOIC-14-40℃~+125℃ 1 2 3.5pF 3ns 4.5V~5.5V 40uA 44ns@4.5V,50pF 4mA 4mA 59MHz 5ns 74HCT Series Asynchronous Complementary D-Type Rising Edge Set and Reset SO-14 Flip Flops ROHSNexperia74 Series
README
README.mdFISC2: A TTL CPU with Some 16-bit Capabilities
FISC2 is a microseqenced CPU built from discrete TTL-level components. It provides
- recursive Functions,
- Indexed addressing,
- Stack operations, and
- some instructions on 16-bit data values
as well as the usual load/store and arithmetic operations, comparisons, branches and jumps.
The design uses 29 chips and has 8K of ROM, 336K of available RAM and a UART.

Documentation
The overall design of the CPU is covered in Docs/arch_overview.md, and some details of the hardware implementation are in Docs/fisc2_implementation.md.
Implementation
At present, I have:
- a Perl CPU simulator, csim
- an assembler, cas
- a simple compiler, clc
- example assembly and higher-level programs in Examples
- a Verilog design in Verilog
- a final schematic in Kicad/schematic.pdf
Status of the CPU
early-July, 2020: Both the Perl simulator and the Verilog model work well. I am happy with the design and I've ordered the PCBs and components.
For more detail on progress, you can read my journal.
Parts
73| Qty | Value | Footprint | References |
|---|---|---|---|
| 29 | 0.1uF | Capacitor_SMD:C_0603_1608Metric_Pad1.05x0.95mm_HandSolder | C1, C2, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19, C20, C21, C22, C23 +13 |
| 6 | 74HCT574 | Package_SO:SOIC-20W_7.5x12.8mm_P1.27mm | U2, U7, U8, U10, U11, U14 |
| 6 | 74LS469 | Package_DIP:DIP-24_W7.62mm | U24, U25, U26, U27, U28, U29 |
| 3 | 22K | Resistor_SMD:R_0603_1608Metric_Pad1.05x0.95mm_HandSolder | R1, R2, R3 |
| 2 | 74HCT154 | Package_SO:SOIC-24W_7.5x15.4mm_P1.27mm | U19, U20 |
| 2 | 74HCT238 | Package_SO:SOIC-16_3.9x9.9mm_P1.27mm | U1, U21 |
| 2 | 74HCT541 | Package_SO:SOIC-20W_7.5x12.8mm_P1.27mm | U12, U13 |
| 2 | 74LS593 | Package_SO:SOIC-20W_7.5x12.8mm_P1.27mm | U22, U23 |
| 1 | 0.01uF | Capacitor_SMD:C_0603_1608Metric_Pad1.05x0.95mm_HandSolder | C31 |
| 1 | 220uF | Capacitor_THT:CP_Radial_D8.0mm_P5.00mm | C30 |
| 1 | 74HCT139 | Package_SO:SOIC-16_3.9x9.9mm_P1.27mm | U5 |
| 1 | 74HCT151 | Package_SO:SOIC-16_3.9x9.9mm_P1.27mm | U17 |
| 1 | 74HCT161 | Package_SO:SOIC-16_3.9x9.9mm_P1.27mm | U15 |
| 1 | 74HCT240 | Package_SO:SOIC-20W_7.5x12.8mm_P1.27mm | U18 |
| 1 | 74HCT74 | Package_SO:SOIC-14_3.9x8.7mm_P1.27mm | U6 |
| 1 | AT27C1024-70PU | Package_DIP:DIP-40_W15.24mm | U16 |
| 1 | AT28C64B | Package_DIP:DIP-28_W15.24mm | U4 |
| 1 | Address Bus Pin Header | Connector_PinSocket_2.54mm:PinSocket_1x18_P2.54mm_Vertical | J2 |
| 1 | CY62148 | FISC2:SOIC-32_11.2mm_P1.27mm | U3 |
| 1 | Clock Pin Header | Connector_PinSocket_2.54mm:PinSocket_1x02_P2.54mm_Vertical | J6 |
| 1 | Control Lines Pin Header | Connector_PinSocket_2.54mm:PinSocket_1x18_P2.54mm_Vertical | J4 |
| 1 | DS1233-10+ | Package_TO_SOT_THT:TO-92 | IC1 |
| 1 | Data Bus Pin Header | Connector_PinSocket_2.54mm:PinSocket_1x10_P2.54mm_Vertical | J1 |
| 1 | ECS-100AX-035 | Oscillator:Oscillator_DIP-14 | OSC1 |
| 1 | M27C322-100F1 | Package_DIP:DIP-42_W15.24mm | U9 |
| 1 | SW_Push | Button_Switch_THT:Push_E-Switch_KS01Q01 | SW1 |
| 1 | Spare Power Pins | Connector_PinSocket_2.54mm:PinSocket_1x03_P2.54mm_Vertical | J5 |
| 1 | UM245R | Package_DIP:DIP-24_W15.24mm_Socket | UART1 |
| 1 | uSeq Pin Header | Connector_PinSocket_2.54mm:PinSocket_1x06_P2.54mm_Vertical | J3 |
Similar boards
- 2 layers231.3 × 96.5 mm

- 2 layers249.9 × 89.4 mm

CSCvon8
DoctorWkt/CSCvon8
A crazy small 8-bit CPU built with only seventeen 7400-series chips.
55 parts112GPL-3.0 - 2 layers297.2 × 180.3 mm

- 2 layers368.3 × 215.9 mm

- 4 layers280 × 140 mm

P8x control card
ksr/p8x
Generated by generators/genkicad.py from the canonical geneagle netlist (CARDS["peripheral-card"]), same standard as the memory card: 4-layer (F/B signals, In1=GND, In2=VCC planes), a bypass cap above each IC, a…
58 parts - 4 layers209.2 × 126.8 mm

- 4 layers66 × 260.7 mm

11x3
miliar/saiboard
An open-source, wooden electronic Go board that integrates with KataGo.
171 parts48GPL-3.0 - 2 layers103.6 × 79.8 mm

Questions
How big is the FISC2 PCB?
It measures 214.6 × 123.2 mm and has 2 copper layers, 1.6 mm thick.
What parts does the FISC2 use?
73 parts, built around the 74HCT541D, 74HCT240D, UM245R and AT27C1024-70PU. 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 FISC2 KiCad files?
From the DoctorWkt/2FISC repository on GitHub, at the commit this page was made from: the board is Kicad/FISC2.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Can I use the FISC2 design in my own project?
Its repository publishes it under the GPL-3.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).