About a month ago, Imagination announced MIPSfpga, an initiative that gives universities free access to an unobfuscated, production-quality MIPS CPU.
The complete package includes:
- the complete RTL code for a simplified microAptiv CPU
- a comprehensive getting started guide put together by two esteemed university professors
- a set of examples designed show students how the CPU works and explore its capabilities
After a very successful launch (if I do say so myself), Robert Owen teamed up with Xilinx for a worldwide tour that will take the MIPSfpga dog and pony show to leading universities in Europe and Asia. The workshops will introduce the teaching materials and help professors get started with the great tools available from Imagination and Xilinx.
This announcement made me think of the time I spent studying Electrical Engineering and Computer Hardware back in Romania. The way the system is rigged – I mean structured! – in my home country means Electronics and Computer Science students take several courses on computer architecture; most of these courses will imply (some) laboratory work that needs to be completed before sitting in for the big exam at the end of the semester.
I remember that for our lab project we had to design a simplified PIC-like microcontroller based on a Harvard architecture, write the RTL code using Verilog, synthesize it, and put the bitstream on an FPGA.
Does that sound super fun or what? Well, it was a blast to be honest; not only did it help me understand how a CPU works at a basic level but it also gave me the chance to pretend I was a top dog IC design engineer for a semester.
And this brings me to my own take on this program. I noticed the media focused mostly on the historic importance of the announcement and the benefits to teaching, in general. And this is all great and good.
But I feel MIPSfpga is extremely important for a different reason altogether: it gives students a chance to experience what real engineers do for a living. University coursework can be quite abstract at times so sitting in a computer lab, opening up ModelSim and debugging a simulation of the CPU pipeline executing instructions in real time really gets the juices flowing.
For me and (many) others like me, I hope.