Link to
				Colorado State University Home Page


High Level Programming of High Performance Embedded Computing Systems

Reconfigurable computing is a promising technology for high performance embedded systems. For many applications, spectacular performance has been achieved that consistently outperforms hand-tuned software and sometimes even application specific hardware implementations. Unfortunately, the skills required to exploit this technology are often confined to a handful of application designers who are also experts in advanced circuit design techniques.
The goal of the HiPHiPECS project is to bring Reconfigurable Computing, in particular High Performance Embedded Computing, into the Computer Science curriculum. To achieve this, we have designed two new Embedded System courses in the Computer Science Department at Colorado State University, CS460 and CS560, and we have created a specialized lab, The Embedded Systems Lab, to be utilized by these new courses. A combination of top-down methods based on abstractions and bottom-up methods breaking down abstraction barriers is, in our opinion, exactly what is needed to teach a great Embedded Systems Design course. We see three levels of abstraction for Embedded Systems Design: at the bottom, circuit level using VHDL or Verilog, in the middle Operating System and Architecture level using an Embedded Design Kits, and at the top, high level programming languages and compilers to automatically derive hardware designs.
The first, senior level, course for Computer Scientists and Electrical/Computer Engineers teaches the bottom two abstraction levels; the second, graduate level, course teaches the high level tools. The senior level course was offered for the first time in the Spring of 2004. In this course it is intended to familiarize the students with industry standard design tools for embedded and reconfigurable systems, and to introduce them to hardware design paradigms. The second course was first offered in the Spring of 2005 to graduate level research students. It focuses on the creation of high performance architectures using high level design tools developed here at CSU.

  • A. P. Willem Bohm
  • Sanjay Rajopadhye
  • Graduate Students
  • Charlie Ross, Research Assistant, CS460 Teaching Assistant
  • Monica Chawathe, CS460 Teaching Assistant
  • Nick Meier, CS460 Lab Notes
  • Lakshminarayanan Renganarayana, CS560 Teaching Assistant
  • Gautam Gupta, CS560 Teaching Assistant
    This work is funded by a NSF Grant:
    We wish to express our gratitude to Xilinx for their generous donations of hardware and software. Without these donations it would have been impossible to build The Embedded Systems Lab.
  • The Embedded Systems Lab

    Last updated February 08, 2005