Computer Laboratory

Bluepsec Examples

Cyan Processor


This processor framework was created for a Masters course I initially taught in January 2010. The slides from the lecture introducing the design are provided. The name is not particularly imaginative and roughly follows the line of reasoning: "light Bluespec processor" → "light blue processor" → CyanProc.

There are a few things I found interesting when creating this design:

  • Structures and enumerations really make the design easy to write and read.
  • Single element FIFOs are used to provide pipeline latches removing the need to think about pipeline stalls.
  • Reg(isters) are used extensively but there was no need to use any Wire/BypassWire/RWire/PulseWires.
  • The static elaboration system is powerful enough to allow a two-pass embedded assembler to be written.