ECE 8273 - VLSI Systems - Fall 2007



Textbook

The textbook for this course is the same textbook as used for ECE 4263 (Intro to VLSI) "CMOS VLSI Design: A Circuits and Systems Perspective (3rd Edition)" by Neil Weste and David Harris, Addison Wesley, ISBN: 0-321-14901-7. We will also make substantial use of journal and conference papers available from IEEE Explore.


Instructor

Robert B. Reese (reese@ece.msstate.edu), Simrall 337. I have an open-door policy, anytime that I am there you are welcome to come in. Best times during Fall 2007 are MWF 9-11, TTh 9-11, MWF 2-4.


Class Email

The class email is ece8273-01.fall2007@courses.msstate.edu . I will use this periodically to announce information about the course such as modifications to homeworks, labs, test dates, etc.


Class Policy, MSU Honor Code

The grading policy will be:

  • 40% Tests (2 tests)
  • 15% Project
  • 15% Final
  • 30% External Assignments

All external assignments are to be INDIVIDUAL work. You may discuss the assignments with other students but you may not share any work, or show anybody your work as examples of how to do something. Students are expected to follow the MSU Honor Code as documented HERE . All students expected to be familiar with the definition of Academic Misconduct and the Academic Dishonesty Sanctions.


Lectures

These lecture notes are information that I have put together from various knowledge sources; very little is original creation by myself. I have tried to give credit to original sources if at all possible. Several lectures are Powerpoint slides created by David Harrison, the author of our textbook.

DRAMs, Non-volatile Memories (basic SRAMS covered in VLSI 1)

  1. DRAM Intro
  2. Some notes on DRAM technology by David Morano, Northeastern Univ
  3. Introduction to Non-volatile Memory

Clocks

  1. Clocking Evolution
  2. Synchronization

Power Management

  1. Power Management
Arithmetic: Adders
  1. Adders (David Harrison)
Design for Test
  1. Design for Test (David Harrison)
Arithmetic: Shifting/Multiplication
  1. Shifting/Multiplication
Arithmetic: Floating Point
  1. Floating Point Introduction
  2. Floating Point slides by Behrooz Parhami . These slides are from Dr. Parhami's textbook website and cover Chapters 17-20 from his textbook, Computer Arithmetic: Algorithms and Hardware Designs . Because of the large number of slides in this presentation, the following are the ones that we will discuss in class: 1-13, 33-34,40,41, 42.
44th DAC Talks (online)
  1. TUESDAY KEYNOTE | Perspective of the Future Semiconductor Industry: Challenges and Solutions Speaker: Oh-Hyun Kwon - President, System LSI Division, Samsung Semiconductor Business
  2. Thousand-Core Chips - A Technology Perspective, Shekhar Y. Borkar - Intel Corp.
  3. 42.4 Multi-Core Design Automation Challenges Speaker/Author: John Darringer - IBM Corp

SOI Introduction

ASIC CAD Flows


Tests

This is a preliminary test schedule, tests are closed textbook, closed notes, four-function or scientific calculator only.

Homeworks

X11 forwarding

One way to get X11 forwarding to work with our convoluted sungrid cluster setup is the following steps (if you can't get the normal Tunneling methods to work).

  1. Login into Yavin, set the environment DISPLAY variable to 'xxx.xxx.xx.xx:0.0' where 'xxx.xxx.xx.xx' is the IP address of your local machine (you can use the X-win32 configuration window, click on the 'X' in the righthand corner tray, and look at the 'DISPLAY' tab). How you set the DISPLAY variable depends on what Linux shell you are running. Verify that you can pop up an Xterm to your local machine.
  2. In the original shell, login into Talus.ece.msstate.edu, set the environment variable again, verify that you can pop up an XTERM. If you can't, then set the DISPLAY environment variable again to 'xxx.xxx.xx.xx:0.0'.
  3. Do 'swsetup sungrid' to put the sungrid executables on your path.
  4. Do 'qlogin' to schedule an interactive job on a cluster machine. Try pop'ing up an Xterm; if it does not work, try again to set the environment variable to 'xxx.xxx.xx.xx:0.0' and try again.