I was recently in Buenos Aires, Argentina, for the first annual Simposio Argentino de Sistemas Embebidos, or SASE 2010, held at the Facultad de Ingenieria, Universidad de Buenos Aires. In my last column I wrote about the mbed workshop put on by the robotics club there. The conference also had a student project competition that drew attendees from all over South America. I had a chance to speak with three of the participants about their projects, and thought I’d share them.
I first met Maria and Pablo, who implemented a dual core 8051 system including Video RAM, a VGA controller, 1K of shared system memory, and a keyboard/mouse interface all in a tiny little Altera Cyclone 1 FPGA. They have written a serial based text editor for it, and have written a one or two player PONG game. In single player mode the computer plays the opponents paddle. This project was designed in gates rather than RTL. Their goal was two gates per clock cycle, which allowed them to reach 24 MIPS per processor.
After that I talked to Martin and Santiago who designed a robotic platform that can be used for research in robotic vision, autonomous motion, or other applications that need a small and maneuverable platform for experimentation. When I saw it the robot was being driven around the floor under remote control, but previously it had been outfitted with cameras for experiments in robotic vision. The robot itself is controlled by an ARM based LPC microcontroller from NXP, and has an interface to an on-board laptop that can provide higher level processing for vision, navigation, or other things. They have uploaded some videos of their robot in action to youtube.
Finally I saw a project from 3rd year students Mauricio and Carmen. They implemented a MIPS processor in a Spartan 3E FPGA, including a video controller and keyboard. They implemented a tiny subset of the MIPS instruction set: SLT, ADDI, BEQ, BNE, LW, SW, J. With these 7 instructions they were able to write a very playable game of PONG. It’s a multi-cycle implementation with the longest instructions taking 5 cycles. At nearly 50 MHz it achieves 10MIPS. I was very impressed with this project given that it was designed by 3rd year engineering students. Maybe curriculums have advanced since I was in school, but that’s far more sophisticated than anything I saw in my 3rd year.
All in all it was quite a trip, the students were very engaging and enthusiastic about engineering.