Course Content (Syllabus)
- Section 1 (4 hours): Data paths and control units of non-programmable systems, Register Transfer Level, Microoperations, Bus techniques, ASM diagrams, Hardwired control, Design of finite state machines with complex transition conditions, Microprogammed control, Timing issues and metastability in digital systems.
- Section 2 (4 hours): Data paths and control units of programmable systems, Register file, Arithmetic Logic Unit, Single cycle architecture, Multi cycle architecture, Control units of programmable systems, Performance increase techniques: pipeline, hazards.
- Section 3 (12 hours): VHDL design of digital systems, VHDL code structure, variable types, Finite State Machines, Operators and their properties, Sequential and concurrent digital design, signals and variables, Implementation of algorithmic state machines, synchronous and asynchronous design. Practical exercise with Xilinx Vivado to simulate and synthesize digital designs.
- Section 4 (4 hours): System design with VHDL, Package and components, Functions and procedures, VHDL design of representative digital designs, Testbenches to verify functional verification.
Additional bibliography for study
1. Logic and Computer design fundamentals, Third and Fourth edition, M. Morris Mano, Charles R. Kime, Pearson International Edition, 2008
2. Σχεδιασμός κυκλωμάτων με τη VHDL, Volnei A. Pedroni, Εκδόσεις Κλειδάριθμος, 2007
3. RTL Hardware Design Using VHDL, Pong P. Chu, John Wiley & Sons, 2006
4. Advanced FPGA Design: Architecture, Implementation, and Optimization, Steve Kilts, John Wiley & Sons, 2007
5. The Designer’s Guide to VHDL, Third Edition, Peter J. Ashenden, Jim Lewis, Morgan Kaufmann, 2008
6. Digital Engineering Design: A Modern Approach, Richard F. Tinder, Prentice Hall, 1991