============================================================================= **COURSE ANNOUNCEMENT: FALL-09** *CSEE 4823x ADVANCED LOGIC DESIGN *(CSEE designates a joint course between computer science and electrical engineering) Instructor: Prof. Steven Nowick contact: 508 CS Building, nowick@cs.columbia.edu Time: Tuesday/Thursday 2:40-3:55 pm Location: Room 545, S.W. Mudd Building ============================================================================= COURSE DESCRIPTION: The course is an advanced course in modern digital design. It provides a strong foundation for computer engineering, computer science and electrical engineering courses in digital and embedded systems, computer architecture, parallel systems, networking, etc., and a good background for a variety of industrial positions. It is suitable as an elective for BS/MS/PhD degrees in computer science and electrical engineering, and for the BS/MS in computer engineering (it is one of two alternative required courses for computer engineering BS students). The course covers advanced topics, with a special focus on the design, modelling, optimization and simulation of large complex subsystems. It also intensively covers some of the practical industrial aspects of modern design, including use of hardware description languages (e.g. VHDL) for structured modelling and simulation. Students will gain hands-on experience in designing and simulating a number of real digital systems using several CAD tools. TOPICS INCLUDE: introduction to VHDL (an industry-standard hardware modelling language); designing digital controllers (Mealy and Moore state machines); controller optimization (state assignment, partitioning); iterative circuits. Advanced high-speed and low-power adder design: conditional sum, carry-skip, carry-select, carry-lookahead, carry-save, parallel prefix [Kogge-Stone, Brent-Kung]; high-speed array multipliers. Introduction to modern design of complex digital subsystems: register-transfer level (RTL) design. Large-scale case studies: designing custom floating point units; the Philips I2C commercial serial bus interface; keyboard interfaces; code conversion. Commercial structured logic blocks: FPGA internals and micro-architecture. Fault-tolerance, error detection and correction, recent approaches to designing circuits with resilience to "soft (i.e. transient) errors" due to cosmic rays. Introduction to asynchronous (i.e. clockless) digital circuits: designing clockless controllers and pipeline structures. Metastability and synchronizers; pseudo-random number generators (LFSR's). Recent commercial strategies for power reduction and security; memory unit design (DRAM/SRAM). HOMEWORKS, LAB COMPONENT AND PROJECT: The course will include a number of written homeworks, small lab design exercises, as well as a moderate-sized design project. However, this is not primarily a project class. PRE-REQUISITES: basics of digital logic, such as CSEE 3827 Fundamentals of Computer Systems or the equivalent introductory course on digital design. In particular, it is assumed that you are already familiar with: Boolean algebra; combinational logic design (Karnaugh maps, basic gates, negative logic, 2-level/sum-of-products and multi-level digital design); combinational building blocks (multiplexers, demultiplexers, decoders); basic adder design; latches, flipflops and registers. If you have any questions about pre-requisites and your background, contact the instructor (nowick@cs.columbia.edu). REQUIRED TEXTBOOK: Stephen Brown and Zvonko Vranesic, "Fundamentals of Digital Logic with VHDL Design", **THIRD EDITION**, including Altera's Quartus II CAD System (on CD-ROM), McGraw-Hill, New York, NY. (Copies of the book will also be placed on reserve in the Engineering School Library.) This book is available at the Columbia University Bookstore on Broadway and W. 115th Street. The book will only be used for part of the course material. The course will include a number of additional handouts provided by the instructor, as well as recent papers and articles.