Title: ADVANCED DIGITAL DESIGN
Catalog Description: EE540 Advanced Digital Design (3+0+0) 3
VHDL (Very high speed integrated circuits Hardware Description Language), for the design, specification, simulation, and synthesis of digital systems and their implementation on Field Programmable Gate Arrays (FPGAs). Design of complete digital systems from concept to reality through simulation, synthesis and test. Structural, dataflow and behavioral styles of VHDL to describe digital component architecture. Final designs implemented and tested on FPGAs.
Coordinator: Şenol Mutlu, Assistant Professor of Electrical Engineering
Goals: The goals of this course are to master the hardware description language, VHDL (Very high speed integrated circuits Hardware Description Language), for the design (specification, simulation, and synthesis) of digital systems and to implement them on FPGAs. Design of complete digital systems starts from concept, advances through simulation and synthesis by using various CAD (Computer Aided Design) tools and different styles in VHDL, namely structural, dataflow, and behavioral. Final goal is to implement and test designs on FPGAs (mainly Xilinx SpartanII).
At the end of this course, students will be able to:
Describe any digital design such as microprocessors, finite state machines and signal processors; using structural, dataflow and behavioral styles of VHDL.
Simulate and synthesize described digital systems using CAD tools.
Implement and test designed complicated digital system on FPGAs.
Textbook: No required textbook. Class notes, handouts and other supplementary materials are provided to the students
Zainalabidin Navabi,VHDL: Analysis and Modeling of Digital Systems, McGraw-Hill Publishing, 1998, (BU Library: TK7874.N36 1993).
J.M. Rabaey, Digital Integrated Circuits, Pearson Education Inc.,2003.
Prerequisites by Topic:
Digital design: gates, combinational and sequential circuits
Digital System Design Methodologies (ASIC vs FPGA) (3 hours)
Basics of VHDL (3 hours)
Structural description of hardware in VHDL (3 hours)
Design organization and parameterization (6 hours)
Utilities for high level description (6 hours)
Dataflow description of hardware in VHDL (3 hours)
Behavioral description of hardware in VHDL (3 hours)
Simple CPU model and design (3 hours)
Synthesis of VHDL (3 hours)
Implementation of VHDL using FPGA kits (3 hours)
Course Structure: The class meets twice a week. One lecture is two hours long and the other is one hour long. Five Computer Aided Design (CAD) assignments are assigned per semester. There is one final project. Project is a very important part of this course, and has a number of components. Students first work in teams to develop proposals. Once approved by the instructor, the same team starts to work on their project. A final report is required from each group at the end of classes. There are oral presentations of the projects during the final period, and they are reviewed based on technical merit and quality of presentation. The final grade for each student depends upon a number of things, including the quality of the team project, the level of participation in the project, the quality of the final project report and presentation and the demonstration of the final working design on FPGA.
Xilinx ISE (Integrated Software Environment) WebPACK CAD tool installed on every PC in our laboratory is used to enter, simulate, and implement digital design. This software can also be downloaded for free from web. Students can install it to their own PC and do their designs there.
We have XSA-200 boards from Xess corporation in our labs. They have 256-Kgate XILINX Spartan-II FPGAs in a 256-pin BGA packages (XC2S200-5FG256). The small XSA-200 board holds the Xilinx FPGA chip among other things. The extender board XST-3 serves as a carrier for the XSA-200 and provides additional resources such as switches, indicators, etc. Furthermore, it houses additional space for mounting a prototyping breadboard. The XSA-200 is stacked on top of the Xstend Board so that one integrated board is seen.
CAD Assignments (total) (65%).
Final Project (35%)
(a) Apply math, science and engineering knowledge. Engineering and math knowledge are used extensively in the design of digital systems. Digital computing requires math knowledge. Realization of a digital system capable of doing computation requires knowledge of engineering.
(c) Design a system, component or process to meet desired needs within realistic constraints. In this course, how to design a digital system for specific needs related to cost, memory size, area and speed is discussed.
(e) Identify, formulate and solve engineering problems. The CAD assignments and the final project are about solving engineering problems and motivate students to propose personal solutions.
(k) an ability to use the techniques, skills, and modern engineering tools necessary for engineering practice. The state of the art equipments and software used in this course as well as the digital system design methodology taught and the digital computing examples studied give students these abilities.
Prepared By: Şenol Mutlu