Chris Fenton has created a terrific gadget: Historically significant, terrific attention paid to fit and finish, and completely useless. Not that there’s anything wrong with that. For unexplained reasons, Chris was looking for a Cray-1 emulator on the interweb. It has a lot of stuff, but it apparently didn’t have that. So Chris decided to make one in a Xilinx Spartan-3E FPGA development board.
You can read all about the Cray-1 architecture at wikipedia, so I’ll just summarize here. The Cray-1 was designed by Seymour Cray, who left Control Data to build his own supercomputer when Control Data would not fund his idea. The Cray-1 design consisted of about 200,000 gates, ran at 80 MHz, and could access 8MB of RAM. The Cray-1 was a vector machine aimed at speeding up scientific programs that perform repetitive calculations on large data sets.
In a vector machine, data sets are read in from memory and stored in large register files (the vectors). A single instruction will execute an operation sequentially on the entire contents of the vector. In the Cray-1, the vectors were chained, meaning that if you wanted a vector add followed by a multiply, you didn’t have to wait until all of the adds finished to start the multiply. The multiply could start as soon as the first add was done, and that result could in turn be forwarded to yet another instruction. Good programmers could sustain 2 floating point results per cycle.
The Cray-1 was good at vectored floating point but needed help in other matters: A Data General computer shipped with it and was in charge of booting it up and monitoring CPU operation. It weighed 5.5 tons including the refrigeration system, which bathed the circuit boards in liquid Freon. The computer alone, not counting the refrigeration and hard drive, consumed 115kW of power. Apparently Lawrence Livermore National Laboratory and Los Alamos National Laboratory got into a bidding war over the first one (Why not? It’s not like they were spending their own money).
So back to Chris. He needed (wanted?) one, and not able to find one, built his own. His runs at 33 MHz and has 4 kilowords of memory. The real Cray-1 (will the real Cray-1 please stand up?) contained from 256 to 4096 kilowords. Now, for many hackers, getting the thing working in an FPGA and demonstrating some code running on it would be good enough. But not Chris. It had to look good too. So off to the workshop to build a scale replica of the body, with a drawer in the bottom to hold the FPGA board. The article doesn’t say, but from the picture I think he actually upholstered the base.
The verilog source is available at Chris’s WWW page. When I’m not scouring the internet for amazingly useless gadgets, I do processor emulation with high powered FPGAs. I plan to at least synthesize and place/route his code targeting my current development board, which contains 4 XC6VLX760 FPGAs, the biggest and fastest FPGAs currently available from Xilinx. I probably won’t actually put it on the hardware, I’m too busy writing about gadgets to actually do much experimenting with them, but it’ll be fun to see how fast it runs in a modern FPGA fabric.
10 minutes of fame
Andy Warhol said everyone gets 10 minutes of fame. If you haven’t had yours yet, this could be your opportunity. Design News is always looking for new gadets to feature in the print edition of the magazine. Mechanical, electrical, pneumatic, whatever. Believe me, if they’ll run my hot rodded Billy Bass they’ll run anything. If you’ve creating something clever and would like to see it in print, submit it to the Design News editors:
You’ll get the thrill of seeing your product show up in a print magazine right in your mailbox, and you’ll get a check for $500 as well.
Design News Gadgeteer