Skip to the content
2 layersDevBoard, the printed circuit board in 3D

It's a processor

Copper layers
2
Thickness
1.6 mm
Parts
9
Nets
133
Pads
284
Tracks, vias
247, 56
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
30 Jul 2020
Updated
1 Dec 2020

Overview

DevBoard is an open-source printed circuit board by hsc-latte, from the hsc-latte/hs32core repository on GitHub, published under the Apache-2.0 licence. It is a 2-layer board with 9 parts on 133 nets, routed with 247 tracks and 56 vias.

It is built around the 74HC245D, S29AL008J70TFI013 and 74HC573. It belongs with the microcontroller boards boards of this library.

Main components

3

README

README.md

Processor

Open Source Hardware Processor silicon die photo

Mission

  • Reduce the barrier to entry to open source silicon for hobbyists
  • Encourage the production usage of fully open source, royalty-free, community designed ASICs within the maker community (displace proprietary chip designs)
  • Shorten the iteration time from ideation to fabrication
  • Explore creative ideas not found in current hardware offerings
  • Interoperate with modern, high performance components that are typically the realm of proprietary designs (DDR4, PCIE root complex, USB3, etc come to mind)
  • Make easy to use, relatively inexpensive hardware that people can acutally buy

Project Goals

Processor V1 (November 2020)

The software and the hardware parts can mostly be done simultaneously.

  1. Create a new CPU instruction set and design.
    • it should be a sort of minimum viable 32 bit CPU. Something similar in capability to an Arduino, and with similar ports.
  2. Test the CPU design in simulators and on FPGA
  3. Fabricate the processor using Google and efabless free shuttle service for open source using 130nm process, and open source PDK
    • Submit a design for the November free shuttle run.
    • Try not to go too crazy with transistor count. We want to not be dependent on free fabrication in the future.
  4. Build an assembler for the ISA
  5. Make an Arduino-like board for the processor, with similar capabilities and supporting software
  6. Write or port C toolchain. Some higher level languages would also be nice, such as JS/python.
    • TCC may be a good compiler to retarget for C.
      • Here is what would be needed to be done to retarget it.
    • Port as much of libc as possible. Uclib-ng or newlib would be good options.

Task List for V1 by Early November 2020 (exact deadline date to be determined):

  • Design FPGA carrier board PCB. Get it manufactured, into peoples hands.
  • Design ISA
  • Write assembler for the ISA
  • Get Verilog simulator up and running and documented.
  • Design CPU and peripherals in Verilog or Migen.
  • Simulate CPU and periherals in software. Programs should be able to run and take input/output.
  • Test CPU and peripherals on the FGPA carrier board. RAM and flash should work. We should be able to load an run real programs on the board
  • Create task list to prepare the verilog design for fabrication.
    • Ensure we haven't overlooked anything that could cause our design to be rejected by Google/Skywater
    • Ensure our design might actually work when fabricated

Fun Side Project for V1 : Make an Apple II or commodore style standalone PC using the processsor.

Processor V2 (Early 2021)

  1. Replicate V1 using non-donated fabrication and make the process economically sustainable.
    • This means making chips and boards than people can actually buy.
    • See Target Silicon section below.
    • In theory, multi project wafer runs on very old tech could be < $100 per chip. Costs will go down as volume increases.
    • we could do a Kickstarter or similar to fund a larger fabrication run for V2.
  2. Expand capabilities with software support
    • more RAM, faster RAM
    • graphics framebuffer
    • more ports in general.
  3. Port other languages.
  4. A basic OS. This would be similar to old computers running BASIC. This may be porting an existing OS or writing one from sratch.

Processor V3 (Late 2021)

While maintaining economic sustainability:

  1. Expand capabilities with software support
    • add MMU (ucLinux will run without an MMU, but typical programs will not run. They require fork() and mmap() among other MMU features.)
    • hardware floating point
    • more RAM, faster RAM
    • more ports in general. HDMI, ethernet, possibly USB and WiFi to some degree, with external chips
  2. Make a raspberry-Pi style board. It would be much much slower than a Pi, but should have a similar style of capabilities and functions.
  3. Port more software to the system
    • glibc should be able to be ported at this stage
  4. Explore Linux support

Processor V4 (2022)

Generally more powerful and unique. Try to achieve some interoperability with modern hardware, yet remain fully open source. Just some ideas:

  • On-chip Software Defined Radio (SDR) so that it can be a flexible radio device (WiFi, LTE, Bluetooth, GPS)
  • GPU
  • Multi core
  • PCIE Root Controller
  • DDR4 Controller
  • USB3 Controller

Educational Resources

  • Reading list for newcomers to computer engineering, started here: link

CPU for V1

  • 32 bit
  • flat address space, no MMU
  • As simple as possible
  • Should support running unmodified C programs.
  • Required math ops: the usual AND OR NOT XOR shifts, rotates.
  • Integer multiply and divide would be cool if we can fit it.
  • Floating point math would be cool if we can fit it, including addition,mul,div operations

Ports for V1

The general idea is to have a superset of the peripherals that the old Arduino has.

Target Silicon:

Google-skywater november 2020 free shuttle run

  • Info collected from skywater-pdk slack:
  • Tim Edwards: The whole chip will be (provisionally) 3.2 x 5.3, but the user area will be about 9 to 10 mm^2. That is not including the pad frame; that's the full core area you get to use. I'm aiming to keep the "management region" off to one side to keep the user area roughly square. The pads are 200um high, so the height is limited to 2.8mm, so the area you get to work with will be around 3.2 to 3.5mm wide and 2.8mm high.
  • Packaging: WLCSP: Main reason for wlcsp packaging is reduced parasitics for high speed signals like SERDES etc. Wlcsp is done before cutting the wafer so it doesn't require a separate packaging line.
  • Pins: Expected usable pins is more ~ 40

Non-Google, more sustainable options:

Interesting Tools

License

  • GPL v3

VGA Notes

Parts

9
QtyValueFootprintReferences
474HC573Package_SO:SOIC-20W_7.5x12.8mm_P1.27mmU2, U3, U4, U5
274HC245Package_SO:SOIC-20W_7.5x12.8mm_P1.27mmU6, U7
1IS62WV12816ALLPackage_SO:TSOP-II-44_10.16x18.41mm_P0.8mmU8
1S29AL008J70TFI013Package_SO:TSOP-I-48_18.4x12mm_P0.5mmU9
1icewerxdevboard:iceWerxM1

Similar boards

  • 2 layers213 × 130 mmKarabas 128, the printed circuit board in 3D

    Karabas 128

    andykarpov/karabas-128-pcb

    Karabas-128 PCB

    160 parts8
  • 4 layers65c816-sbc v1, the printed circuit board in 3D

    65c816-sbc v1

    erikarn/65c816-pcbs

    mucking about with 65c816 stuff

    66 parts2
  • 4 layers154.9 × 142.2 mm816-v2, the printed circuit board in 3D

    816-v2

    cookie99999/6502

    Code/schematics/etc for my 6502 computer project

    60 parts1
  • 2 layers259.7 × 80 mmSteuereinheit, the printed circuit board in 3D

    Steuereinheit

    stonedDiscord/Steuereinheit

    Steuereinheit 68000

    348 parts
  • 2 layersCombined, the printed circuit board in 3D

    Combined

    rjw57/buri

    This repository contains my work on designing, building and programming a 6502 microcomputer from scratch. The 6502 was the CPU used in the original Apple 1, BBC Microcomputer, NES console and many other systems from…

    27 parts68MIT
  • 2 layers100 × 57.6 mmCPU Card Pro, the printed circuit board in 3D

    CPU Card Pro

    acwright/6502-COB

    6502-COB 8-Bit Retro Computer Project

    20 parts47CERN-OHL-P-2.0
  • 2 layers235 × 160 mmProcessor.65816, the printed circuit board in 3D

    Processor.65816

    lynchaj/duodyne

    Duodyne is a hobbyist retrocomputer system designed to run ROMWBW. It is comprised of modules on a system bus

    114 parts15
  • 4 layers124.5 × 69.2 mmDB512k, the printed circuit board in 3D

    DB512k

    stonedDiscord/Automatenplatinen

    Reverse engineerte Hardware aus deutschen Spielautomaten.

    98 parts5BSD-2-Clause

Questions

What parts does the DevBoard use?

9 parts, built around the 74HC245D, S29AL008J70TFI013 and 74HC573. 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 DevBoard KiCad files?

From the hsc-latte/hs32core repository on GitHub, at the commit this page was made from: the board is devboard/DevBoard.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the DevBoard design in my own project?

Its repository publishes it under the Apache-2.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).