Well, this was something of a surprise. I just heard from my old chum Jesse Jenkins, who is a programmable logic guru at Xilinx and a lecturer at the University of California Santa Cruz Extension. Jesse asked if I'd heard about the guy who had reproduced a Cray 1 using a Xilinx Spartan-3E 1600 development board.
"What?" I thought, "You must be joking," but it's true. It's a 1/10-scale, binary-compatible, cycle-accurate Cray-1 implemented in a single FPGA. How amazingly cool; I want one!
Jesse says the class he teaches largely focuses on using the tiny, 8-bit PicoBlaze embedded soft processor core and making all sorts of fun things with it. However, his students often complain of never having any “big” examples, so when he ran across this FPGA-based Cray replica he thought "This ought to stop them whining!"
The project itself was created by Chris Fenton. I contacted Chris and asked him if he'd care to do a full write up for us here at Programmable Logic Designline, but he replied that his plate is a little full at the moment and that he was too busy to take on any extra commitments right now ... I know what he means (grin).
Anyway, I'll briefly summarize Chris's project below, then you can Click Here to see his more fulsome description and access his source code files so that you can program your own Xilinx FPGA.
(Photo Courtesy of Chris Fenton)
In the above image, the real Cray 1 is shown on the right, while Chris's version is displayed on the left. I should note that these images are not to the same scale. As you'll see on Chris's site, his version is actually much smaller than the real thing.
The original Cray ran at 80 MHz, and could use anywhere up to 32 megabytes of memory (wow). Actually it's easy to laugh now, but we have to remember that this was absolutely the state-of-the-art at the time (by comparison, today you can get an Android cell phone with a 1 GHz processor and gigabytes of memory...).
Chris's version was implemented on a Xilinx Spartan-3E 1600 development board. This is basically the biggest FPGA you can buy that doesn’t cost thousands of dollars for a development kit. Chris says that the Cray occupies about 75% of the logic resources and consumes all of the on-chip RAM. The result is a spiffy Cray-1A running at about 33 MHz with about 4 kilowords of RAM.
Well, I don’t know about you, but I for one am very impressed!