Programme
- Introduction
- Origin, history, and evolution of reconfigurable systems.
- General architectures of PLDs and FPGAs.
- The design process (from specification to implementation).
- An overview of design languages.
- Introduction to Xilinx ISE (Integrated Software Environment) with practical examples.
- Introduction to FPGA-based prototyping boards with practical examples.
- Design methods and tools
- Design tools (VHDL-based design flow, schematics, IP cores, state-based designs, prototyping systems and tools).
- Design techniques and design hierarchy.
- Libraries and design templates.
- Modeling and simulation.
- Interaction of FPGA-based circuits with peripheral devices.
- Design of a simple arithmetical circuit interacting with a VGA monitor and a keyboard.
- Design techniques and application-specific reconfigurable systems
- Advanced techniques for synthesis and implementation of FSMs (conventional FSMs, hierarchical FSMs, and parallel FSMs).
- Dynamically reconfigurable FSMs.
- Implementation of iterative and recursive algorithms.
- Design example (data sorting).
- Design of a circuit using hierarchical finite state machines and implementing recursive and iterative algorithms.
- Practical applications and future of reconfigurable systems.
Theoretical classes
Link to theoretical classes
Labs
- Lab 1
- Become familiar with Xilinx ISE;
- Update knowledge in VHDL (behavioral and structural specifications, concurrent and sequential statements, processes, data types and operations);
- Describe simple combinational circuits using VHDL and schematics;
- Understand design hierarchy;
- Simulate the circuits;
- Become familiar with the prototyping boards;
- Synthesize and implement the design;
- Test the circuits in FPGA.
- Lab 2
- Allow the FPGA circuits to interact with peripheral devices;
- Provide interface with a VGA monitor;
- Provide interface with a keyboard;
- Design and implement a simple arithmetical circuit, which receives input data from a keyboard and displays the results of arithmetical operations on a VGA monitor screen.
- Lab 3
- Implementation of recursive algorithms in hardware;
- Synthesis and implementation of hierarchical finite state machines.
References
- K. Parnell, N. Mehta, Programmable Logic Design Quick Start Hand Book, 2006.
- V. Sklyarov, I. Skliarova, Tutorials.
- P.P. Chu, FPGA Prototyping Using VHDL Examples: Xilinx Spartan-3 Version, Jonh, Willey & Sons, 2008.
- P.J. Ashenden, The Designer's Guide to VHDL, Morgan Kaufmann Publishers, Inc., 2006.
- P.J. Ashenden, VHDL Tutorial, Elsevier Science, 2004.
- http://www.xilinx.com/
- http://www.model.com/support/documentation.asp