Back to Courses

CSCE 790 - Selected Topics:

Advanced VLSI Design

My Course Syllabus

The manner in which I will be teaching the course will focus on the procession of design steps from abstract systems description, usually in the form of an algorithm or protocol specification, to a set of candidate system architectures.  Specifically, we will focus on the understanding of the problem domain of the systems under development, and we will create operational specifications of design functionality.  These will be based on the abstraction of the domain functions into appropriate units, either organized by algorithms, portions of the protocol (if one is involved), or according to the nature of the mathematical processing involved (in the case of having mathematical functions or equations).  Often, the algorithms are available in C code, and we will analyze these and examine how best to make the transition from C software to an appropriate representation for VLSI.

Link to HTML Version of Syllabus

Link to PDF File

Link to PDF of VIP Course Listing

We will use several graphical formalisms to capture and analyze the information about the domain problems:  we may use the Unified Modeling Language (UML) as the basis for capturing, analyzing, abstracting and scoping the set of functionality that will become part of our system under development.  UML has a number of different representation techniques that we will use for this endeavor.  More importantly, however, we will begin the transformation of this specification (with its inherent set of engineering assumptions and constraints) into a register-level architecture using blockHDL and flowHDL design tools.  Register-transfer level design consists of the partitioning of the functionality into manageable blocks, according to one of a number of partitioning strategies (functional-based, object-based, pipelined, etc.) that provide an effective organization of the system functionality so as to achieve engineering design objectives.  Such design objectives may be expressed in terms of performance (design speed, design size), reliability (built-in test, logic redundancy) or other metrics.  We will take these design artifacts and synthesize circuits from them, and evaluate their performance by trading off the various design objectives and constraints.

Go here for late breaking course information!

Relationship of this Course to CSCE 611

This will be a more advanced and project-focused treatment of the material than the 611 course (next to be taught in Fall 2002).  A number of students who requested this course for the summer were in the 613 class taught Spring 2002, and thus, many are planning to continue the project work started in that class.  However, this fact should not deter graduate students interested in the course, as this summer course will be taught from the standpoint of a deeper treatment of the use of VLSI design solutions in solving computationally hard problems that often have had no solution in VLSI Hardware.  So, if you have a background in digital logic design (CSCE 211) and computer architecture (CSCE 212), then you should be able to follow the material of this course.  The principal challenges in the course will be: (1) to quickly grasp the concepts and requirements for realizing a VLSI-based solution for a computational problem domain typically addressed with a software solution, and (2) to translate that understanding of the problem domain--its formulation, its mathematics, and its core algorithms--into a progressively optimal and efficient set of VLSI custom-logic architectures suitable for implementation in ASIC or FPGA technology.  Thus, we will spend more time in these requisite domains--wireless LANs, computer arithmetic for cryptography, and algorithms and arithmetic for bioinformatics processing of Phylogenetics data--than would be spent in CSCE 611.

If you have planned to take CSCE 611 in Fall 2002 and also plan to take this CSCE 790 in Summer 2002, then I will make special arrangements with you for CSCE 611 course work.  Since CSCE 611 is open to both senior undergraduates as well as graduate students, this bifurcation of work is customary.  Graduate students in general, and particularly those taking CSCE 790 this summer, will be expected to take on a greater workload for CSCE 611 in the Fall.