SoCDP8
This is an implementation of the 1968 DEC PDP-8/I on
a Xilinx Zynq, a FPGA controller with an ARM CPU.
Built on the PiDP-8/I Console by Oscar Vermeulen,
it acts as a replacement for the Raspberry Pi approach.
Why SoC ?
Drawback of the Raspberry Pi + Linux + SIMH approach:
- Inaccurate Simulation : Doesn't allow for single stepping
- Long Boot Times : Linux takes a few seconds to boot / start SIMH
- Meticulous Shutdown : Linux needs a proper shutdown to not corrupt
The SoCDP8 implements the PDP-8/I in VHDL, targeting FPGAs.
Design
The system is modeled exactly as described in the
Maintenance Manual and Engineering Drawings.
The manual is treated as the project specification, registers
and signals are named as described in the book and register
transfers are modeled as specified in the drawings.
Peripherals
Peripherals are implemented on the ARM CPU on the SoC.
This makes device implementation, like the teletype, fairly easy.
Code for peripherals can access the onboard
SD Card to retrieve tapes, disk images, ..
When connected to the Ethernet / WiFi, the system, including
it's peripherals, can be controlled with a Web Browser.
Project Goals
-
Implementing the system as close as possible to the original specifications.
-
Providing a simple replacement for the Raspberry Pi,
ideally the project runs on a SoC board that snaps into
the PiDP-8/I Console in the same way the Pi does. -
Have it be operable through a browser using
a web socket connection between a web server
on the ARM and the PDP-8 on the FPGA.
Supported SoCs
The project currently only targets the Zynq board
and utilizes the Pynq-Z2 for development only.
Tested Boards
Board | |
---|---|
ZynqBerry | Xilinx Zynq 7010 - 130€ | Good Availability - Raspberry Pi form factor - No free GPIO pins - Has the smallest Zynq |
Pynq-Z2 | Xilinx Zynq 7020 132€ | Good Availability - Raspberry Pi Connectors - Spare GPIO pins, such as a PMOD pin, useful for sensors - Switches, buttons, LEDs - Requires a ribbon cable to fit in the PiDP-8/I box |
Other Boards
Board | |
---|---|
DE0-Nano-SoC | Altera Cyclone V - 125€ | International Shipping - Incompatible 40 pin connector, requires adapter. - Many free GPIO pins - Switches, buttons, LEDs |
Project Status
Functional
- Base System
- Timesharing
- Data Breaks
- Interrupts
- EAE
- I/O
These features pass the MAINDEC tests and
can be loaded using the RIM / BIN loaders.
Runs On
Focal69
TSS/8
OS/8
Peripherals
Implemented in software with only basic functionality.
Deviations
To have the PiDP-8/I work with the Zynq boards,
a modification had to unfortunately be made.
The 1KΩ
resistors had to be replaced by 220Ω
ones
to support the pullup resistance of the Zynq drivers.
Thankfully 220Ω
is compatible with the Raspberry Pi.