You might ask a legit question: why would you build a Z80-based computer in 2008? There is no right or wrong answer to this question. In simple terms, it might be nostalgia and educational purposes. And since the technology advanced drastically over the years, it is still possible to integrate 1970s tech with modern 2000s technological advancements such as CPLDs. This way, a minimal amount of glue logic is necessary, effectively reducing logic component count.
I chose the Z80 CPU since it is (still) widely available and it is very easy to program.
Here is what this system should do.
Given these requirements, the hardware implementations is relatively simple and the components are readily available. Maybe a bit more difficult is to find a Xilinx CPLD programmer circuit, and the CPLD itself. I've build a CPLD programmer myself, based on the official Xilinx documentation.
The list of integrated circuits, as follows.
The Mini Z80 is controlled completely from a host PC. The link is done through the first serial port connected to SIO Channel A. This way, all PC resources can be redirected to the Z80 system. However, data transmission speed is slow, as expected.
Let's now check the electrical schematic diagram.
Fig. 1: Electrical Principial Schematic
Fig. 2: Top Layer Printed Circuit Board
Fig. 3: Bottom Layer Printed Circuit Board
The schematic diagram is generally based on official Zilog documentation and datasheets.
The contents of the 27C256 UV-erasable EPROM is split in three distinct parts, as follows.
OS/MC is responsible for communication with the host computer.
On the host computer, there is a small program that I've wrote, called Mini Z80 Controller (mz80ctl.exe). At the moment of writing this article, the program is a prototype.
Here are a few pictures of the printed circuit board and the component soldering process. The PCB is made at home with the toner transfer method. It was etched with ferric chloride (FeCl3).
This is the top layer of the mainboard
And this is the bottom layer.
In order to reduce ferric chloride consumption, I designed thick ground planes for both top and bottom layers.
The toner transfer method gave unexpectedly good results this time.
Then I proceeded to installing of the various electronic components.
More parts found their way on the PCB assembly.
I haven't pushed the Xilinx XC9572 CPD completely, yet. At this point, I am still doing tests that depend on successive erase-programming cycles.
A detailed view for the D-sub 9 (RS-232) and D-sub 15 (VGA) connectors.
Detailed view on the graphics processing unit, video RAM, system ROM, and RAM. Also you can see the three crystal oscillators for the CPU, SIO, and VGA.
Detailed view on the power supply section and the serial port data transmission activity indicator LEDs.
Following is a view of the solder side.
An overview of the printed circuit board assembly.
And a view from a different angle.
I would say that the architecture of this system is similar to the client-server topology. In this case, the server is the host computer, and the client is the Z80 minicomputer. But, is this a useful system? Can it do meaningful things? Well, yes, if education and experimentation is your primary goal. Otherwise, it is questionable as its architecture is totally non-standard.
For the record, here is a follow-up to this project: Z80 Microcomputer.
Thank you for reading this page, and I hope you found it useful.
Copyright © 2004- Alexandru Groza
All rights reserved.
VER. 1.0 | REV. A