ECE 425
Intro to VLSI System Design
Menu: Course View Options
Displaying course information from Fall 2013.
Section  Type  Times  Days  Location  Instructor 

AB1  LAB    Martin Wong 

AL1  LEC  0800  0850  M W F  106B8 Engineering Hall  Martin Wong 
Web Page  http://courses.engr.illinois.edu/ece425/ 

Official Description  Complementary MetalOxide Semiconductor (CMOS) technology and theory; CMOS circuit and logic design; layout rules and techniques; circuit characterization and performance estimation; CMOS subsystem design; VeryLargeScale Integrated (VLSI) systems design methods; VLSI Computer Aided Design (CAD) tools; workstationbased custom VLSI chip design using concepts of cell hierarchy; final project involving specification, design, and evaluation of a VLSI chip or VLSI CAD program; written report and oral presentation on the final project. Course Information: Prerequisite: ECE 385 and ECE 411; or CS 233. 
Subject Area  Computer Engineering 
Course Prerequisites  Credit in ECE 385 or CS 232 Credit in ECE 411 or CS 232 
Course Directors 
Martin D F Wong

Detailed Description and Outline 
The aim of this course is to provide an introduction to the design and layout of Very Large Scale Integrated (VLSI) circuits for complex digital systems. It covers custom design, cellbased hierarchical design, and algorithmic aspects of VLSI CAD tools. With a focus on CMOS technology, students generate layouts of CMOS chips on engineering workstations in an associated laboratory. By the end of the course, students will have designed, laid out, and verified a 4bit microprocessor modeled after the Am2901 from Advanced Micro Devices. Topics:
Same as CS 435. 
Computer Usage 
The four machine problems based on designing CMOS VLSI subsystems and chips on color graphic workstations using Mentor Grpahics IC design tools on HP and SUN workstations. 
Lab Projects 

Topical Prerequisities 

Texts 
N. Weste and K. Eshraghian, Principles of CMOS VLSI Design, 2nd ed., Addison Wesley, 1993. Class notes. 
ABET Category 
Engineering Science: 1 credit Engineering Design: 2 credits 
Course Goals 
This course provides an introduction to the design, layout, and testing of VLSI circuits for complex digital systems. The goals are to enable students to design circuits using custom and cellbased approaches, generate layouts, verify the designs, apply tests to manufactured chips, and understand the algorithmic aspects of VLSI CAD tools. 
Instructional Objectives 
A. By the time of Exam No. 1 (after 14 lectures), students should be able to do the following: 1. Show the basic steps of CMOS IC fabrication process. (a) 2. Given the Nnetwork for a complex static CMOS logic gate, derive the Pnetwork (or vice versa) and the Boolean function. (e) 3. Given the Boolean function for a complex static CMOS logic gate, derive the N and P networks. (e) 4. Given the transistorlevel diagram for a complex CMOS logic gate, show an efficient Sticks Diagram to implement the gate. (e) 5. Given a layout and a set of capacitance parameters, compute node capacitances. (e) 6. Given a layout and set of resistance parameters, compute interconnect resistances. (e) 7. Given a transistorlevel diagram with specified input, capacitance and resistance values, show an equivalent RC network. For a given input transition, compute the time at which the output makes a corresponding transition. (e) 8. Show the DC transfer characteristics for a static CMOS inverter. (a) 9. Show the different conditions for a transistor to be in cutoff, linear and saturation modes. (a) 10. Show the first order formulas for computing the Current I_{ds}, which flows through the transistor channel in linear and saturation modes. (a, m) 11. Show a logiclevel diagram for a VLSI subsystem, such as an adder, ALU, shifter, counter, or multiplier. (c) 12. Show the organization of a RAM, provide transistorlevel diagrams of static and dynamic RAM cells, and give logiclevel or transistorlevel schematics for row and column decoders. (c) 13. Illustrate the organization and timing of a PLA. (a, c) 14. Compute the relative sizes of nMOS and pMOS transistors needed to equalize worst case rise and fall times. (e) 15. Show the state diagram, state table, and required PLA programming for a simple finite state machine. (e) 16. Compute gate sizes on a path to optimize the path delay using logic effort. (e) B. By the time of Exam No. 2 (after 26 lectures), students should be able to do the following: 17. Analyze the power consumption of a simple gatelevel circuit, and itemize various ways to reduce power dissipation. (a, e) 18. Given a gatelevel circuit diagram, generate a test vector to test for a stuckat fault. (e) 19. Show how test vectors are applied to a full scan design. (e) 20. Explain how selftesting is done in a BIST environment. (a) 21. Compare and contrast various design methodologies, such as custom design and cell based design. (a) 22. Use a Hardware Description Language, such as Verilog, for circuit design. (a, c, k) 23. Illustrate the operation of a logic optimization procedure for a simple Boolean function. (a, e) 24. Use BDD to represent and optimize logic function. (a, e) 25. Perform partitioning using a constructive partitioning algorithm, such as the FiducciaMattheyses algorithm. (a, e) 26. Illustrate the operation of various shortest path algorithms. (a, e) 27. Illustrate the operation of various net routing algorithms, such as the leftedge and greedy algorithms for channel routing, the Hightower and MikamiTabuchi line probe algorithms, and the maze routing algorithm. (a) 28. Given a highlevel circuit description, construct the corresponding sequencing graph, schedule all operations using various scheduling algorithms, and perform resource allocation and binding. (a, e) 29. Show the basic steps involved for chip packaging. (a) C. By the end of the course, students should be able to do the following: 30. Describe the procedures used in static and dynamic timing analysis tools. (a) 31. Custom design various simple and complex logic gates, and interconnect cells to form a subsystem. (a, c, k) 32. Custom design the datapath for a 4bit microcontroller (Am2901). (a, c, k) 33. Use automatic synthesis and automatic placement and routing tools to implement the control logic for a 4bit microcontroller (Am2901). Interconnect the datapath and control logic. (c, k) 34. Specify test vectors, run the functional test, and analyze the results to adequately verify the functionality of the Am2901 design. (a, c, k) 35. Explain how trends in technology impact circuit characteristics, such as delay and power consumption. (j) 