My research interests include high-level synthesis, hardware/software co-design, and computer hardware design using FPGAs. FPGAs (field-programmable gate arrays) are a special type of hardware chip which can be instantly programmed to function as any digital circuit. My current focus is to improve the accessibility of FPGAs to make it easier for software engineers to use hardware.
I am actively involved in the LegUp project, which is an open-source high-level synthesis tool being developed at the University of Toronto. High-level synthesis is a technique which compiles a software program into a hardware circuit. LegUp automatically compiles a standard C program to target a hybrid FPGA-based software/hardware system, where computationally intensive program segments are automatically synthesized into FPGA circuits – hardware accelerators – while remaining segments execute on an FPGA-based soft MIPS processor. This tool is completely free for use by the research community. Check out our LegUp website!