ESE 461: Design Automation for Integrated Circuit Systems

Announcements

Course Administrivia

Course:
      ESE 461A, Fall 2016, 3 Units

Instructional Staff:
     Xuan Zhang (Instructor)
     Dengxue Yan (TA)

Homepage:
     http://classes.engineering.wustl.edu/ese461/

Lecture:
     Green L0160, MoWe: 2:30 PM - 4:00 PM

Office Hours:
     Green 2160F, Tu: 4:00 PM - 5:00 PM
     Green 2160F, Th: 3:30 PM - 5:00 PM

Course Description

Integrated systems provide the core technology that power today's most advanced devices and electronics: smart phones, wearable devices, autonomous robots, and cars, aerospace or medical electronics. These systems often consist of silicon microchips made up by billions of transistors and contain various components such as microprocessors, digital signal processors (DSPs), hardware accelerators, memories, and I/O interfaces. Therefore design automation is critical to tackle the design complexity at the system level. 

The objectives of this course are to;
    1) provide a general understanding of design automation for very large scale integrated (VLSI) systems;
    2) introduce the basic algorithms used in VLSI design and optimization;
    3) expose students to the design automation techniques used in the best-known academic and commercial systems, as well as the hot research topics and problems in the field. 

Topics covered include digital integrated circuit design flow, logic synthesis, physical design, high-level synthesis, circuit simulation and optimization, timing analysis, power delivery network analysis. Assignments include homework, mini-projects, term paper and group project. 

Schedule (Tentative)

Lecture Date Week Topics Note
1 Aug 29 1(a) Introduction and Logistics  (PDF)
2 Aug 31 1(b) Review on Digital Logic (PART 1)  (PDF) HW #1 Out
3 Sep 5 2(a) Labor day

4 Sep 7 2(b) Review on Digital Logic (PART 2)  (PDF) HW #2 Out
5 Sep 12 3(a) Review on Digital Logic (PART 3)  (PDF)
6 Sep 14 3(b) Quiz Review; Linux and VCS Tutorial   (PDF) HW #3 Out
7 Sep 16 4(a) Verilog HDL (PART 1)  (PDF) Lab #1 Out
8 Sep 21 4(b) Verilog HDL (PART 2)  (PDF) Lab #2 Out
9 Sep 26 5(a) Overview of VLSI Design Flow   (PDF) Lab #3 Out
10 Sep 28 5(b) Tcl Basics and Logic Synthesis Intro   (PDF)
11 Oct 3 6(a) Logic Synthesis (PART 1)   (PDF)
12 Oct 5 6(b) Logic Synthesis (PART 2)   (PDF) Lab #4 Out
13 Oct 10 7(a) Timing Analysis (PART 1)   (PDF)
14 Oct 12 7(b) Timing Analysis (PART 2)   (PDF)
15 Oct 17 8(a) Fall break
16 Oct 19 8(b) Class Project Introduction   (PDF) Class Project   (PDF)
17 Oct 24 9(a) Physical Design, (Part 1)   (PDF)
18 Oct 24 9(b) Physical Design, (Part 2)   (PDF)
19 Oct 31 10(a) Parasitic Extraction and Packaging   (PDF)
20 Nov 2 10(b) Design For Test (DFT)   (PDF)
21 Nov 7 11(a) Team meeting
22 Nov 9 11(b) Performance Optimization   (PPT)
23 Nov 14 12(a) Power Optimization (Part 1)   (PDF)
24 Nov 16 12(b) Power Optimization (Part 2)   (PDF)
25 Nov 21 13(a) Group Meeting
26 Nov 23 13(b) Thanksgiving
27 Nov 28 14(a) Design Compiler in Depth   (PDF)
28 Nov 30 14(b) Group Meeting
29 Dec 5 15(a) Encounter in Depth and Conclusion   (PDF)
30 Dec 7 15(b) Presentation

Prerequisites

The curricular prequisites for this class include ESE 232 (Introduction to Electronic Circuits), ESE 260 (Introduction to Digital Logic and Computer Design), and experience with register-transfer level (RTL) design and hardware description language (e.g. verilog, VHDL), or permission from the instructors.

Although not required, familiarity with the subjects in the following courses are a plus: ESE 362 (Computer Architecture).

In general, students are expected to have a firm grasp on digital and analog circuits, be familiar with embedded system programming, and know their way around the Linux system. In addition, success in this course will require substantial reading and hacking, and a high degree of patience and determination.

Grading

Engagement 5%
Review Quiz 10%
Homework 10%
Labs 40%
Final Project 35%

Policy

90% or above A
80% - 89% B
65% - 79% C
45% - 64% D
44% or below F

Resources

  1. Tutorial on Remote Logging to Linux Lab
  2. Tutorial on Synopsys VCS
  3. Tutorial on Design Compiler
  4. Tutorial on Encounter
  5. Reference on performance optimization(HDL Coding Guidelines)
  6. Reference on performance optimization(ProASIC PLUS Design Optimization)
  7. Reference on performance optimization(Writing Successful RTL Descriptions in Verilog)
  8. Brief tutorial on how to simulate your synthesized Verilog using VCS

 

Page updated on 2016-08-24, powered by jemdoc