DEV Community

Gabriel Womelsdorf
Gabriel Womelsdorf

Posted on

Designing an 8-bit supercomputer

In this short series I will be designing one of the first Z80 based supercomputers, in order to accomplish this we need to make useful modules for the multiple Z80 processors to use, this will include external APUs that can handle the large floating point numbers that the machine will be able to compute.

Z80 Compute Modules

In order for this machine to have any usable modules first we need to build some Z80 processor cards, this can easily be accomplished with a few small boards.

The Z80

The Z80 is an 8-bit processor with 16 bits of address space, there are a multitude of control and status lines as well that need to be controlled in order for the processor to run properly, first of which are the power (+5V) and ground (GND) connections, which supply power to the Z80, the +5V line should also have a decoupling capacitor to ground with a 100nF value.

Z80 with the power connected

Next are the control signals, ordinarily you would tie the majority of these to ground with a resistor, however in this case they will be needed later down the design process in order to control and monitor certain aspects of the running system, as such we will tie them to ground with an external input for control using a D Type latch.

Z80 with IO sorted

There is a lot going on here, but basically I am attaching these pins to a latch so external circuitry can control them.

The final pieces of the puzzle for now are the data lines and address lines as well as a few other outputs and inputs, these will be used in tandem with the BUSREQ control line in order for the processors to access the memory and peripherals.

All hooked up

With this being the final schematic.

Routing the traces

Routing PCB traces is a massive pain, so I am going to use an autorouter to do the job for me, more specifically a tool called FreeRouting

GitHub logo freerouting / freerouting

Advanced PCB auto-router

Freerouting

Freerouting

Freerouting is an advanced autorouter for all PCB programs that support the standard Specctra or Electra DSN interface.

Release version Downloads Downloads License Contributor Covenant

Download installers for Windows, Linux, and macOS here.

Introduction

Freerouting is a powerful PCB autorouter compatible with any PCB design software that supports the standard Specctra or Electra DSN interface. It imports .dsn files generated by the host system's Specctra interface and exports .ses Specctra session files.

Getting started

You can interact with Freerouting using the Graphical User Interface (GUI), the Command Line Interface (CLI), or the Freerouting API. All interfaces support command-line arguments to set input/output files or modify settings.

Integrations are available with:

Click here for more details.

Graphical User Interface (GUI)

  1. Launch Freerouting: Upon launching, you'll see the main interface image

  2. Open Your Design: Go to File > Open... and select your .dsn input…

Prior to routing:
Prior to routing

After reorganizing:

After routing:

3D Render:

Next Up: Memory Modules

Top comments (0)