Putting a PDP-10 on an FPGA

[dgcx] has been working on reimplementing a PDP-10/x on an FPGA for the last 2 and a half years. This surprised us because we’re only hearing about this project now.

After designing three versions, [dgcx] eventually ended up with a one-FPGA implementation of a PDP-10 and an awesome PDF writeup. Although PDP-10 emulators do exist, this project isn’t an emulation – the system actually has the 36-bit word length of the original, implemented on five 4096 kilobit SRAM chips. This is a fully functioning replica, and even has CHAOSNET implemented with a small Ethernet controller.

Like the miniature Cray-1 on an FPGA, the only thing left to do is put the PDP-10 clone into an awesome case like the working PDP-1 replica. We imagine [dgcx] could get the digital models of a real PDP-10 fairly easily.

With very old computers, it’s very hard to find software to run on these machines. This was the same problem the builder of the tiny Cray had. If any Hack A Day readers know where [dgcx] could find some old DEC software, be sure to post something in the comments. Otherwise, he may just get started porting the first edition of Unix.

Comments

  1. rjnerd says:

    I am pretty sure that the source/binaries for ITS are out there somewhere.

  2. BLuRry says:

    That’s cool. If the PDP-11 is implemented, I really hope it’s not to run the Therac-25 program. Worst… program… ever.

  3. sgf says:

    That’s rather lovely. Nice write-up.

    I’m not sure what it is about old computer architecture re-implementations that put a huge grin on my face…

    • allaun says:

      Well, for me, it’s the thought that we are doing things that were unimaginable in my childhood. We are taking a computer and putting it inside a computer. Not only that, I could run THOUSANDS instances of these computers if I were so inclined.

  4. Michael says:

    For more DEC folklore, a PDP11 is available at http://opencores.org/project,w11

  5. Adrian says:

    My question comes from ignorance, not because of a perceived superiority of my method, but – why were external SRAMs chosen instead of using internal BRAMs in the Spartan 3e? Not enough room on chip?

  6. xrayspex says:

    I thought UNIX and C were both originally developed on a PDP-10?

  7. Warner Losh says:

    NetBSD had a pdp10 port in the tree at one point…

  8. John says:

    Getting 1st Edition Unix wouldn’t help you get any software… you’d be much better off with TOPS-20 or TOPS-10 or ITS, all of which are available on the Internet, AND were designed for 36-bit PDP-10s, not the 16-bit PDP-11s.

  9. dmcbeing says:

    I love those old computers-in-FPGA projects!
    Just skimmed over the manual,it seems a lot of effort went into it.Excellent project,keep em coming.

    ps:I agree with Andrew on the new commenting system.
    What will happen if a post with 300 replies or more occurs?

  10. Chris says:

    DGCX, if you happen to read this, it would be awesome if you could post the original Eagle (or equivalent) files for the FPGA PCB on your site; suitable for sending to a PCB manufacturer. I’m sure a few people will appreciate it. Publicly available PCB designs for FPGAs are almost non-existent.

  11. WestfW says:

    People who’ve never met the PDP10 shouldn’t assume that it is “similar” to a PDP11 just because the numbers are close together. The PDP10 was DEC’s “mainframe” computer, with an architecture featuring 36-bit words and word addressability. Getting C to run on the PDP10 was a major challenge, and I don’t think they ever ran any flavor of unix. DEC released both of their major operating systems (TOPS10 and TOPS20) for hobbyist use quite a long time ago, and there have been software-based emulators as well (running on “x86 micromachines”, many times faster than the fastest DEC HW ever made.)
    The original PDP6 (DEC’s first 36bit computer, more or less) was supposed to have been about 3000 gates; I’ve always wondered if it was an architecture suitable for cramming into a single chip FPGA. (Things are complicated by the importance of the memory pager, which was less transparently documented…)

  12. svofski says:

    For those who care about old unix, you can run a flavour of it on a PIC32:

    http://code.google.com/p/retrobsd/wiki/Board_Sparkfun_UBW32

  13. lwatcdr says:

    now if we could get a GE 645 or Honeywell 6180 on an fpga then we could run multlics

  14. dgcx says:

    Everyone seems to have missed the fact that I *do* have software for the machine. It runs a custom version of ITS. It runs it well enough that I routinely sit upstairs, connected to the machine via TELNET running over CHAOSNET, editing in EMACS.

  15. MauiMaker says:

    Unfortunately this is NOT a fully functional PDP-10… it is lacking that awesome front panel display of blinkn lights!
    We used to watch those from afar to monitor the 3d rendering programs. It was easy to pick up the patterns. Westworld, Tron Light Sail, Flight of The Navigator, Explorers and others were made using one (with the Foonly doing much of the heavy lifting).

  16. WestfW says:

    Alas, later DEC PDP10 version (KL10) also lacked the blinky lights. You can build a light panel for your emulator, though: http://www.sparetimegizmos.com/Hardware/Panda.htm (Hmm. A design in need of updating.)

  17. ducksauz says:

    When looking for software for this, you might consider checking with anyone who rescues old big iron. One such group is RCS/RI. I know they have an actual PDP-10, so I would imagine they’ve got some software for it too.

  18. Sparger says:

    Love the elegant look of the board…it screams out for a clear lucite box. Also, this would be an excellent project to add to OpenCores (opencores.org).

  19. ThisIsNot MyRealName says:

    I don’t know if this might be helpful, but here it is: http://minnie.tuhs.org/cgi-bin/utree.pl and ftp://minnie.tuhs.org/UnixArchive have some ancient UNIX stuff. {TUHS=The UNIX Heritage Society} Also, how hard would it be to modify the code in the Lions’ Book to run on a pdp10? Impossible?

    • GCL says:

      Actually yes it would indeed be impossible. What you’re looking at is Original UNIX, as running on the PDP-11.

      The PDP-10 is special system in and of itself. It was also considered to be useful for managing the Internet, but the PDP-11 took over. There are a few operational systems out there….

  20. WestfW says:

    A PDP-10 was a 100-user mainframe (with internet connectivity, sort of) in the same timeframe that the biggest PDP-11s supported maybe 20 users (and didn’t run unix unless you were AT&T or a university.) It was the Vaxen that took over (4.2bsd!!!); PDP11s were never a major force on the Internet (though they got used as appliances like routers and dialin systems and such.)

    I dunno. You can look back at the sort of hardware mods that universities made to their mainframe computers (say, like the SAIL “Datadisk” terminals) for more-or-less general use, and it makes a lot of today’s efforts look pretty simplistic. OTOH, those hacks were NEEDED because the alternatives were pretty sucky.

    • GCL says:

      Not quite true. At the height of the PDP-11’s popularity there were an equal amount of them working at the universities, including UCB, they are of course the creators of BSD. It was developed from UNIX.

      Internet connectivity was possible both at the dialout/dialin level, and via Ethernet to more capable hardware. They were also used to run textile hardware which is why DEC made that bad decision to sell the line to Mentec.

      So both is true, from a certain point of view.

  21. Jeffrey Fall says:

    I have been running a pdp-10 emulator on top of linux which runs on top of vmware ESXi-5.0.

    I had used a PDP-10 on the University of Pittsburgh Computing Center in 1982. They still had a PDP-10 running then.

    I would like to find the editor that Pitt used to use. It was written in house at the University of Pittsburgh

    To get a PDP-10 TOPS-10 prompt try this command from your internet connected computer:

    telnet jeffreyfall.com:2020

    Try a systat

    Great work on the PDP-10 on an FPGA.

    Cheers
    Jeffrey Fall

  22. Jeffrey Fall says:

    Great writeup on a PDP-10 on an FPGA.
    Can’t get the .pdf. Webserver is down.

    I put the Panda distribution up live on a linux system which runs on top of ESXi 5.0

    try to log into this PDP-10 as
    telnet jeffreyfall.com:2020

    Try a systat

  23. Wilfred says:

    The website has moved to here

    http://fpgaretrocomputing.org/pdp10x/

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 96,678 other followers