Using a Z80, 512KB SRAM and a Cypress Semiconductor Programmable System on a Chip (PSoC) to make a 3-chip Z80 retro-future computer All of the I/O is performed in the PSoC by emulation of Z80 peripherals.
The PSoC has the following advantages:
- 5V I/O which lets the PSoC interface directly with the Z80
- Programmable Logic array to implement Z80 glue logic and peripherals
- 32-bit ARM core
- PSoC can download the program to the SRAM so there's no need for EPROM
A three chip Z80 design schematic is something like:
This has three parts - a 512KB SRAM, the Z80 and the PSoC.
The oscillator is optional unless precise serial connections are required. This is not necessary in most applications since the PSoC has a USB interface.
The PSoC could easily emulate the control/status registers of the DART/SIO and CTC and other common Z80 peripherals. Additional parallel I/O could be easily added with an optional MCP23017 chip which would only need to connect to I2C pins on the PSoC (this is slower than the PIO, but probably still OK for most applications).
This is similar to the Z80-MBC2 board without requiring the complications of the ATMEGA interface. In that design, the ATMEGA interfaces to the CPU force feeding it instructions with boot sequences. And this is one less IC.
Booting Software Builds
In this design, the PSoC downloads the software to the SRAM and takes the Z80 out of reset. Hardware/software implementations which have both EPROM and RAM could be "emulated" by banking the SRAM. Control of upper RAM address bits allows a bank of the SRAM to work as an EEPROM. The program can be downloaded from the emulated SRAM into the SRAM itself.
Z80 Peripheral Emulation
The Z80 peripherals can be emulated - mostly in hardware. For instance, the DART/SIO would consist of data and control/status registers which are I/O mapped to the Z80 and memory mapped to the PSoC. An 8-bit mailbox interface can be used for all peripherals.
Counter/Timers could also easily be simulated in PSoC hardware.
The PCB would be less expensive (than my previous design) since it could easily be built in a board that is smaller (less than 100x100mm which is the sweet spot for PCB costs. PCBWay wants $14 for 10 boards that are larger than 100x100mm but only $5 for 10 boards which are less than 100x100mm or less.