EEC 281 - VLSI Digital Signal Processing
Winter 2015

Course Information

Course Readings

Read by Paper Comments
Th, 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.
Tue, Jan 13 Notes on ECE Machines and Tool Setup

Notes on ECE linux machines and your CAD tool environment setup
Tue, Jan 13 Notes on Running Verilog

Notes on running ncverilog here at UC Davis
Tue, Jan 13 Example code Verilog code that may be helpful
Tue, Jan 13 Quick Reference For Verilog, Rajeev Madhavan [2up] A very helpful and handy verilog reference
Tue, Jan 13
Verilog According To Tom, Tom Chanak Old but helpful intro to verilog. Please also read our accompanying notes. Skim.
Tue, Jan 13
An On-line Verilog Reference, S. Sutherland Convenient and very nicely presented. Note that it covers aspects of verilog that shouldn't be used for sythesizable code, such as signal strengths and primitives.
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 introduces the Modified Booth's Algorithm which is commonly used in hardware implementations.
Th, Jan 29 SPIM: A Pipelined 64 x 64-bit Iterative Multiplier, M. Santoro and M. Horowitz, IEEE Journal of Solid-State Circuits, April 1989. Classic paper adds to the popularity of the 4:2 adder and its use in adding multiplier partial products.
Tue, Feb 3 Notes on Running Design Compiler

Notes and starter files for Synopsys' Design Compiler, and details on our standard cell library
Tue, Feb 10 Notes on Running Matlab

Notes on running matlab here at UC Davis, and some useful matlab functions
Th, Feb 19
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 19
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 paper.
Th, Mar 4 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
Reference A 28nm 0.6V Low-Power DSP for Mobile Applications, G. Gammie et al. A paper presented at ISSCC 2011.
Reference A 275mW Heterogeneous Multimedia Processor for IC-Stacking on Si-Interposer, H.-E. Kim et al. A paper presented at ISSCC 2011.

Homework / Projects

Future details are tentative.

Number Due Date % Hwk/proj grade Material covered
1 Mon, Jan. 26, 1:00pm 15% Binary arithmetic and conversion, verilog, and many-input adders
2 Fri, Feb. 13, 4:30pm 20% Synthesis, adders, and multipliers
3 Mon, Mar. 2, 4:30pm 30% FIR filters
4 Tue, Mar. 17, 4:30pm 35% CDMA transmit path

Course Topics and Lecture Slides

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

Date Lecture Handouts Topics
Tue, January 6 1 Lecture 01 Course introduction, DSP overview, overview of "context" implementation technologies
Th, January 8 2 1:QuantizationNoise
MAC; FIR, convolution, dot products
Number representations: integer
Tue, January 13 3 3:SignExtension Number representations: fractional, unsigned, signed; Sign extension; Floating point,
Th, January 15 4 4:FloatingPt
5:Verilog I
block floating point, redundant number representations (carry-save), 3:2 and 4:2 carry-save adders; Verilog I,
Tue, January 20 5 6:Verilog testing Verilog I,
Th, January 22 6 Quiz 1 (25%)
Hardware verilog vs. testing verilog, Adders: carry-propagate vs. carry-save
Subtraction, ripple, carry-select adders
Carry-lookahead adders
  Tue, January 27 7 8:BoothEnc
Multiple-input signed addition
Multipliers, Booth encoding, Synthesis,
Th, January 29 8 11:Verilog II
Verilog II, Control circuits, state machine design, enableable registers
Tue, February 3 9 13:DriveThroughProc
Drive through processing,
Squaring, Fixed-input multiplies and scaling
Th, February 5 10 Quiz 2 (25%)
Complex arithmetic
  Tue, February 10 12 18:ComplexSigMagEst
Complex rotations, conversions, and amplitude estimation, Saturation, rounding,
Th, February 12 13 21:FourierPairs
Fourier Transform, Filters,
Tue, February 17 14 23:FiltCoeffDesign
Filter design
Th, February 19
15 28:FFTDiagramsAlgs, Discrete Fourier transform (DFT), fast Fourier transform (FFT)
Tue, February 24
16 Quiz 3 (50%)
FFT processors
Th, February 26
17 30:FFTspiffee
FFT processor example,
Memories: structure, types (6T SRAM, multi-port SRAM, ROM, DRAM)
Tue, March 3 18 33:Multi-rate signal processing
34a:ClocksMar 17
35:NyquistFiltersMar 10
Multi-rate processing, Upsampling, decimation,
Th, March 5
19 36:MultipleAccess
Multiple access, Spread spectrum, CDMA, DSSS,
Nyquist filters, Nyquist filters with upsampling,
Tue, March 10
20 40:DCoffset
41:Automatic gain control
DC offset, Automatic gain control,
Th, March 12
20 42:Viterbi Viterbi decoders
Convolution using DFT/FFTs; Area, speed, power tradeoffs
Wed, March 18
    Final Exam

Topical Outline

I.      Digital signal processing overview
        A.      DSP workloads
        B.      Example applications  
        C.      Programmable processors
II.     Processor building blocks
        A.      Verilog hardware description language
        B.      Binary number representations
        C.      Carry-propagate adders
        D.      Carry-save adders
        E.      Multipliers
        F.      Fixed-input multipliers
        G.      Complex arithmetic hardware
        H.      Memories
III.    DSP algorithms and systems
        A.      FIR filtering
        B.      Processor control and datapath integration
        C.      Multi-rate signal processing
        D.      Example systems: FFT, Viterbi, DSSS, CDMA,.
IV.     Design optimization
        A.      Verilog synthesis to a gate netlist
        B.      Delay estimation and reduction
        C.      Area estimation and reduction
        D.      Power estimation and reduction

Late work policy

The Course Collaboration Policy

Grading errors

Last update: March 20, 2015