

FISC
An 8-bit TTL CPU with a Stack Pointer
- Size
- 231.3 × 96.5 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 59
- Nets
- 115
- Pads
- 675
- Tracks, vias
- 2,911, 121
- Pours
- 2
- Routed
- Yes
- KiCad
- KiCad 5 (file 20171130)
- Created
- 16 May 2020
- Updated
- 5 Jul 2020
Overview
FISC is an open-source printed circuit board by DoctorWkt, from the DoctorWkt/FISC repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 231.3 × 96.5 mm with 59 parts on 115 nets, routed with 2,911 tracks and 121 vias.
It is built around the 74HCT541D, 74HCT240D and UM245R, with the AT27C1024-70PU, 74HCT574D and 74HCT138D among its other parts. Its parts include 27 ICs, 26 capacitors, 5 connectors and 1 switch. It belongs with the retro computing and games boards of this library.
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 Flops74HCT138D
SO-16-40℃~+125℃ 160uA 20ns@4.5V,50pF 3/8 4.5V~5.5V 4mA 4mA 74HCT Decoder Single Supply SOIC-16 Signal Switches, Multiplexers, Decoders ROHSNexperiaSignal Switches / Encoders & Decoders / Multiplexers74LS469ANS
-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, Dividers74HCT139D
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 / Multiplexers74HCT154D
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 / Multiplexers74HCT161D
SOIC-16SOIC-16 Specialty Logic ROHSPhilips SemiconsSpecialty LogicDS1233-10+
TO-92-3-40℃~+85℃ 1 1.2V~5.5V 350ms 4.375V Active Low No Open Drain Voltage Monitor Yes TO-92-3 Supervisor and Reset ICs ROHSMaxim Integrated (Analog Devices)Supervisor And Reset ICs
README
README.mdFISC: An 8-bit TTL CPU with a Stack Register
Please note: The FISC design has some major flaws. Rather than
fix them, I've incorporated the fixes into the next version of the
design: .
FISC is an 8-bit microseqenced CPU wth a 64K address space built from discrete TTL-level components. It provides:
- recursive Functions,
- Indexed addressing and
- Stack operations
as well as the usual load/store and arithmetic operations, comparisons, branches and jumps.
The design uses 25 chips and has 8K of ROM, 56K of RAM and a UART.

Documentation
The overall design of the CPU is covered in Docs/arch_overview.md, and some details of the expected hardware implementation are in Docs/fisc_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 schematic in Kicad/schematic.pdf
Status of the CPU
mid-June, 2020: I've ordered PCBs and they have arrived and I've soldered on all the components. The CPU passes most of the tests but I have an issue with addition that I am still working on.
For more detail on progress, you can read my journal.
Parts
59| Qty | Value | Footprint | References |
|---|---|---|---|
| 24 | 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 +8 |
| 7 | 74HCT574 | Package_SO:SOIC-20W_7.5x12.8mm_P1.27mm | U7, U8, U11, U12, U13, U14, U17 |
| 2 | 74HCT138 | Package_SO:SOIC-16_3.9x9.9mm_P1.27mm | U3, U19 |
| 2 | 74HCT541 | Package_SO:SOIC-20W_7.5x12.8mm_P1.27mm | U15, U16 |
| 2 | 74LS469 | Package_DIP:DIP-24_W7.62mm | U5, U6 |
| 2 | 74LS593 | Package_DIP:DIP-20_W7.62mm_Socket | U1, U2 |
| 1 | 0.01uF | Capacitor_SMD:C_0603_1608Metric_Pad1.05x0.95mm_HandSolder | C27 |
| 1 | 220uF | Capacitor_THT:CP_Radial_D8.0mm_P5.00mm | C25 |
| 1 | 74HCT139 | Package_SO:SOIC-16_3.9x9.9mm_P1.27mm | U21 |
| 1 | 74HCT151 | Package_SO:SOIC-16_3.9x9.9mm_P1.27mm | U20 |
| 1 | 74HCT154 | Package_SO:SOIC-24W_7.5x15.4mm_P1.27mm | U22 |
| 1 | 74HCT161 | Package_SO:SOIC-16_3.9x9.9mm_P1.27mm | U18 |
| 1 | 74HCT240 | Package_SO:SOIC-20W_7.5x12.8mm_P1.27mm | U4 |
| 1 | AS6C1008 | Package_DIP:DIP-32_W15.24mm | U9 |
| 1 | AT27C1024-70PU | Package_DIP:DIP-40_W15.24mm | U25 |
| 1 | AT28C64B | Package_DIP:DIP-28_W15.24mm | U10 |
| 1 | Address Bus Pin Header | Connector_PinSocket_2.54mm:PinSocket_1x18_P2.54mm_Vertical | J2 |
| 1 | Clock Pin Header | Connector_PinSocket_2.54mm:PinSocket_1x02_P2.54mm_Vertical | J5 |
| 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 | U26 |
| 1 | M27C322-100F1 | Package_DIP:DIP-42_W15.24mm | U23 |
| 1 | SW_Push | Button_Switch_THT:Push_E-Switch_KS01Q01 | SW1 |
| 1 | UM245R | Package_DIP:DIP-24_W15.24mm_Socket | U24 |
| 1 | uSeq Pin Header | Connector_PinSocket_2.54mm:PinSocket_1x06_P2.54mm_Vertical | J3 |
Similar boards
- 2 layers214.6 × 123.2 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 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 - 2 layers235 × 158.8 mm

Gigatron
flypie/Gigatron
This is a version of the files from https://gigatron.io/ altered to work on a vanilla KiCAD 5.1.6. Changes are minimal in the schematic and PCB, layout has only been changed where dimensions or orientations changed as a…
151 parts2 - 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 FISC PCB?
It measures 231.3 × 96.5 mm and has 2 copper layers, 1.6 mm thick.
What parts does the FISC use?
59 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 FISC KiCad files?
From the DoctorWkt/FISC repository on GitHub, at the commit this page was made from: the board is Kicad/FISC.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Can I use the FISC 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).