Overview of FPGA architectures and technologies: FPGA architectural options, granularity of function and wiring resources, coarse vs. fine grained, vendor-specific issues with emphasis on Xilinx and Altera.
Logic block architecture: FPGA logic cells, timing models, power dissipation. I/O block architecture: Input and output cell characteristics, clock input, timing, power dissipation.
Programmable interconnect: Partitioning and placement, routing resources, delays.
Applications: Embedded system design using FPGAs, DSP using FPGAs, dynamic architectures using FPGAs, reconfigurable systems, application case studies. Simulation/implementation exercises of combinational, sequential, and DSP kernels on Xilinx/Altera boards.
Hybrid architectures: Hybrid architectures, communication, HW/SW partitioning, soft-core microprocessors.
System architectures: System design strategies, small-scale architectures, HPC architectures, architectural design space explorations.
Special topics: Numerical analysis, performance analysis/prediction, fault tolerance.
[1] D. Harris and S. Harris, Digital Design and Computer Architecture, 2nd ed. Morgan Kaufmann, 2012.
[2] W. Wolf, FPGA-Based System Design, Prentice Hall, 2004.
[3] P. P. Chu, FPGA Prototyping by VHDL Examples, John Wiley & Sons, 2008.
[4] P. Athanas, D. Pnevmatikatos, and N. Sklavos, Embedded Systems Design with FPGAs, Springer, 2012.
[5] A. Mohammed and A. Amira, “FPGA Architecture: Survey and Challenges,” 2020.