Home | Projects | PDP-10 FPGA clone

PDP-10 Clone Microprocessor in an FPGA

Project Basics
Project Status
Code Download
Hardware to Run on
Auxillary documents
Usenet discussions
External Stuff (Links)

Project Basics

This project is aimed at reviving the Digital Equipment Corporation PDP-10 mainframe of the 1960s-80s, by cloning it as an microprocessor implemented in an Xilinx Spartan-II FPGA.

It is based on the information provided in the DECsystem-10/DECSYSTEM-20 Processor Reference Manual.

This is actual hardware (clone), as opposed to software (emulators), such as the ts10 or SIMH or KLH10 programs.

This project grow out of multiple of my interests:

Since the project start the situation has changed by the appearance/release of the 3 emulators (regarded by many, me inclusive, as PDP-10 microcode implementations running on Intel micromachine). But a real hardware PDP-10 is still attractive.
Also Doug Conroy has announced his expected 10 clone project, but this is a small/toy microcoded machine roughly at original speed, not the usable 10-30 times original, that this project can grow to.
Also this project has spawned an FPGA Programming Tools sister project called VirtexTools, and has thus become the test case for the tools developed in that.

For more info on this project read the README file. For some questions people have asked or may ask read the FAQ list.

Addendum 2003.12.24: This project and VirtexTools canceled on 2003.12.24. After 1 month of forced break (HD crash, system rebuild) and 1.5 months since then of doing nothing on either this project or on VirtexTools, I have come the the conclusion that I have lost all interest in both of them. Reasons are many:

Project Status

For the full details of done/doing/todo of the project best read the Logfile. A short excerpt from it is here:

Done are:

Milestone 1 (from 2001.05.16), aim for minimal usable system, running the simplest instruction group (boolean logic): Milestone 2 (from 2001.12.29), aim for universalising system, and adding an fairly simple but different instruction group (arithmetic testing): Milestone 3 (from 2002.06.25), aim for improved flexibler faster programming style, and adding 2 more straight forward instruction groups: Current (= development, = may be broken):

Doing is:

Addendum 2003.12.24: This project and VirtexTools canceled on 2003.12.24.

No changes in this project since 2002.11.13 (over 1 year!).

Todo are:

further Milestones (not numbered yet/anymore) For the full details of done/doing/todo of the project best read the Logfile.

Code Download

Current (= development, = may be broken) (now frozen by cancel, not broken, unchanged since 2002.11.13): Milestone 3 (from 2002.06.25): Milestone 2 (from 2001.12.29): Milestone 1 (from 2001.05.16):

Hardware to Run on

FPGA designs are nothing without hardware to run on. As they do not run on an PC, like normal software (such as emulators), we need an FPGA based board to run them on.

Normally FPGA developement ist done on prototype boards, which are just an FPGA plus power supply and programming circuit on an board, with the IOs run out to headers or prototyping area. These are prototype boards I have looked into, to run my stuff on:

But ultimatively I will want this to run on an custom board for FPGA PCs. For this I have started an separate FPGA PC Project

Auxillary documents

These are files I made while investigating how FPGAs work:

ASCII graphic of Virtex CLB PIPs
list of Virtex BRAM PIPs

Usenet discussions

Various threads of alt.sys.pdp10 (subscribed 2000.08.12, unsubscribed 2003.12.23) that pertain to FPGA cloning:

My alt.sys.pdp10 archive
Early discussion of cloning an PDP-10 in an FPGA
Announcing this project
Modern IO devices for PDP-10 on a FPGA
Who is working on PDP10 hardware emulators/fpgas?
Links to PDP-10 Emulation Webpages
Doug Conroy's PDP-4 done, mentions his PDP-10 plans
Discussion of emulating/replacing IO devices
Doug Conroy's PDP-10 project is definitive, is going to be microcoded, code stored FPGA-external in SRAMs, KA/KL intersection to run ITS
Doug Conroy's PDP-10 project runs ITS on an microcode emulator
FPGA clone commented graphical renderings available

External Stuff (Links)

Various other peoples websites with usefull PDP-10 stuff:

PDP-10 index, 36 bits forever!
DEC 36-bit computers
DECsystem-10/DECSYSTEM-20 Processor Reference Manual
PDP-10 Software Archive
Project: ts10 (KS-10 and KL-10, but also VAX)
SIMH (emulates many systems, including PDP-10)
KLH10 (KL-10 and KS-10 with NIA20 networking)

Home | Projects | PDP-10 FPGA clone

This page is by Neil Franklin, last modification 2003.12.25