Implementation of algorithms in hardware. From C to VHDL. Design Space Exploration. High-level synthesis: Signal-Flow/Control and Data Flow Graphs, Scheduling, Allocation, and Binding of operations. Records and Mux-minimization. Optimizing transformations. Pipelining. Fixed Point vs Floating Point.
Integration of hardware in an embedded system. Memory mapped designs. Interrupt-driven designs. User-defined processor instructions. Design of Device Drivers. Hardware Abstraction Layer. Testing/debugging of embedded hardware.
Review of the latest FPGA technologies from market leaders (Altera, Xilinx ,...), as well as how to integrate accelerators in their environments. Nios II processor. Microblaze processor. Leon3.