EEC 281 - VLSI Digital Signal Processing
Winter 2025

Course Information

Course Readings

Read by Paper Comments
Wed, Jan 8 Programmable DSP Architectures: Part I, Edward A. Lee, ASSP Magazine, October 1988. Easy to read article on the most notable features of programmable DSP processors. These first-generation DSP processors were more clearly distinguished from general-purpose processors than they are today. Note the publication date of 1988—many of the technical specifications are impressive only when considered in the context of the technology available at that time.
Reference Programmable DSP Architectures: Part II, Edward A. Lee, ASSP Magazine, January 1989. Easy to read article presenting an overview of issues of programming pipelined DSP processors with complex organizations.
When needed linux: ECE machines and tool setup
linux: A few useful commands,   linux: Example linux intro video
linux: A few Common Problems
Make Frequent Backups of Your Work
Notes on logging into ECE linux machines and your CAD tool environment setup
Notes on a few useful linux commands
When needed verilog: notes to run Cadence NC and Simvision
verilog: common pitfalls with suggestions
verilog: example code
Notes on running ncverilog here at UC Davis
When needed verilog: Quick Reference For Verilog, R. Madhavan [2up]
verilog: Verilog Quick Reference Guide, S. Sutherland, skim it
verilog: Verilog tutorial, Deepak Tala
A helpful and handy reference.
Convenient and very nicely presented. Note it covers constructs that shouldn't be used for sythesizable code such as signal strengths and primitives. [original]
When needed Synopsys Design Compiler notes
Notes and starter files for Synopsys' Design Compiler, and details on our standard cell library
Reference A Signed Binary Multiplication Technique, A. D. Booth, Quarterly Journal of Mechanics and Applied Mathematics, June 1951. Classic paper introduces the Booth Algorithm.
Reference High-speed Arithmetic in Binary Computers, O. L. MacSorley, Proceedings of the IRE, January 1961. Classic paper that introduces the Modified Booth's Algorithm which is commonly used in hardware implementations.
Mon, Feb 3 SPIM: A Pipelined 64 x 64-bit Iterative Multiplier, M. Santoro and M. Horowitz, IEEE Journal of Solid-State Circuits, April 1989. Classic paper is that apparently the first to describe the 4:2 adder. It certainly contributed to the popular use of the 4:2 and its use in adding multiplier partial products.
When needed matlab: notes for running
matlab: tips and functions for 281
Notes for running matlab here at UC Davis, and some functions and examples
Th, Feb xx
Skim.
An Algorithm for the Machine Calculation of Complex Fourier Series, James W. Cooley and John W. Tukey, Mathematics of Computation, April 1965. The paper that popularized FFTs.
Th, Feb xx
Skim.
Historical Notes on the Fast Fourier Transform, James W. Cooley, Peter A. W. Lewis, and Peter D. Welch; Proceedings of the IEEE, October 1967. Some notes on FFT history 2 years after the seminal Cooley & Tukey paper.
Reference Trends in Multicore DSP Platforms, Karam, AlKamal, Gatherer, Frantz, Anderson, Evans, IEEE Signal Processing Magazine, November 2009. A paper with a thorough and detailed survey of modern multicore DSP processors

Homework / Projects

Course Topics, Slides, Notes, and Handouts

Future details are tentative. Some slides will be updated during the quarter and marked .

Date Topics Handouts
Mon, January 6
Course introduction
DSP overview
Course Introduction
Key attributes of DSP processors
Wed, January 8 Seven basic diagrams
Chip design methodologies,
Multiply-accumulator (MAC),
Convolution, FIR, dot products
Quantization noise, word width, and SNR
Basic diagrams
Chip design methodologies
Mon, January 13 Number representation I: fixed-pt integer
Sign extension for 2's complement
Number representation II: fixed-pt fractional
Number representation III: Floating point
Number representation IV: Block floating point
Quantization Noise and Word Size
Sign Extension
Floating Point
Wed, January 15
Number representation V: Redundant (carry-save)
3:2 carry-save adders
4:2 carry-save adders
Fast carry-save addition
Floating pt to fixed pt conversion
Adders & subtractors
Float-Fixed conversion
Adders & subtractors

Mon, January 20

Martin Luther King Jr. Day
Wed, January 22 Adders: multiple-input
Verilog Overview
Verilog Language basics
Verilog Time and delay
Adders: Efficient Multiple Input
Verilog 1: Overview
Verilog 2: Language basics
Verilog 3: Time and delay
  Mon, January 27
Verilog Common mistakes
Verilog Hardware vs. testing
Verilog decoder examples
Adders: faster carry-propagate
Carry-Select adders
Carry-Lookahead adders
FFs, registers, and The 9 Rules
Verilog 4: Common mistakes
Verilog 5: Testing
Verilog 6: Decoder example
Adders: Faster CPAs
Flip-flops and registers
Wed, January 29 Robust clock design
Critical timing relationships
Synthesis
Hardware multipliers
Booth encoding of multipliers I
Read paper by M. Santoro
Robust clock design
Critical timing relationships
SynthesisJAN 29, SLIDE 133
MultipliersJAN 29, Many edits. MAR 10, Slide 191
Booth encoding
Mon, February 3
Booth encoding of multipliers II
Example multiplier
Squaring
Fixed-input multiplication
Example Multiplier
Squaring
Fixed Input Multiplication
Wed, February 5
dB
Digital filters
Time-domain convolution
Frequency-domain multiplication
Digital filter coefficient design
Parks-McClellan and remez()
Seeing the freq. response of filters
Estimating spectral magnitude of signals
FIR filter hardware
FIR scaling
dB
Digital Filter Coefficient Design
Estimating Spectral Magnitude
FIR filter hardwareFEB 10
  Mon, February 10 Saturation
Compression
Rounding I
Saturation
RoundingFEB 12, SLIDE 368
Wed, February 12 Rounding II
Drive through processing
Complex addition, multiplication, rotation, format conversion
Drive Through ProcessingFEB 12, Many edits
Complex ArithmeticFEB 12, Many edits

Mon, February 17

Presidents' Day
Wed, February 19
Complex magnitude estimation
Multiplication scaling
Control circuits
Counters
Complex Signal Magnitude Estimation
Multiplication Scaling
Control and counters
Mon, February 24
Finite state machine design
Memories: categories, structures, types
FSMs
Memories
Wed, February 26
Memories: macros, synthesized, off-chip
Memories: using in standard-cell ASIC designs
Generating complex functions I
Gen Complex Functions
Mon, March 3 Generating complex functions II
Signals in time and frequency
Multi-rate processing
Upsampling, decimation I
Signals in Time and Frequency
Multi-rate signal processing
Wed, March 5
Upsampling, decimation II
Nyquist filters
Nyquist filters with upsampling
Discrete Fourier transform (DFT)
Fast Fourier transform (FFT)
downsamp_movie.m
Nyquist Filters
DFT & FFT Background
Mon, March 10
Various FFT algorithms
The RRI-FFT
Linear convolution using DFT/FFTs
Viterbi decoders
FFT Algorithms
The RRI FFT
Viterbi Decoding

Wed, March 12

Exam
Extra office hours:
  • Fri, Mar 14, 2:00 pm [YZ]
  • Sun, Mar 16, 2:00 pm [YZ], https://ucdavis.zoom.us/j/97293057834
  • Mon, Mar 17, 2:30 pm [BB]
  • Tue, Mar 18, 2:30 pm [BB]
  • Wed, Mar 19, 10:00 am [YZ], Kemper 2101
  • Wed, Mar 19, 2:30 pm [BB]

Reference material

    Variable-freq clocking HW
    Multiple Access
    DSSS
    DSSS Spreadsheet


EEC 281 | B. Baas | ECE Dept. | UC Davis

Last update: March 18, 2025