4 units – Winter Quarter

Lecture: 3 hours

Prerequisite: EEC 150B, EEC 170, EEC 180B, or consent of instructor

Grading: homework/projects (65%), quizzes(15%), final exam (20%).

Catalog Description:

Digital signal processors, building blocks, and algorithms. Design and implementation of processor algorithms, architectures, control, functional units, and circuit topologies for increased performance and reduced circuit size and power dissipation.

Expanded Course Description:

The primary goal of this course is to develop the necessary skills for students to design simple digital signal processors with an emphasis on the efficient simultaneous design of algorithms, processor architectures, and hardware design.

  1. Digital signal processing overview
    1. DSP workloads
    2. Example applications
    3. Programmable processors
  2. Processor building blocks
    1. Verilog hardware description language
    2. Binary number representations
    3. Carry-propagate adders
    4. Carry-save adders
    5. Multipliers
    6. Fixed-input multipliers
    7. Complex arithmetic hardware
    8. Memories
  3. DSP algorithms and systems
    1. FIR filtering
    2. Processor control and data-path integration
    3. Multi-rate signal processing
    4. Example systems: FFT, Viterbi, DSSS, CDMA, etc.
  4. Design optimization
    1. Verilog synthesis to a gate netlist
    2. Delay estimation and reduction
    3. Area estimation and reduction
    4. Power estimation and reduction


Optional Textbook/Reading

  1. Keshab K. Parhi, VLSI Digital Signal Processing Systems: Design and Implementation.
  2. Rudra Pratap, Getting Started with Matlab.
  3. Behrooz Parhami, Computer Arithmetic, Algorithms and Hardware Design.

Instructor: Baas

Course Overlap:

Introductory review material briefly overlaps prerequisite courses EEC150B, 170, and 180B. In addition, small amounts of material overlap may occur with the following courses: EEC 201 – filter design (minimal); EEC 215 – communication processing function as an example (minimal); EEC 218 – VLSI design methodologies overview (minimal); EEC 278 – some functional unit basics (focus on hardware, not algorithms); EEC 280 – possible pipelining overlap, but with DSP processors; ECS 231 – FFT (emphasis in this class on hardware).

Last revised:October 2018