Top Banner
Signal Processing Using Digital Technology Jeremy Barsten Jeremy Stockwell May 6, 2003 Advisors: Dr. Thomas Stewart Dr. Vinod Prasad
53

Signal Processing Using Digital Technologycegt201.bradley.edu/projects/proj2003/dspproj/Final Presentation.pdf · Project Description All purpose digital signal processor using FPGA/VHDL

Apr 30, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Signal Processing Using Digital Technologycegt201.bradley.edu/projects/proj2003/dspproj/Final Presentation.pdf · Project Description All purpose digital signal processor using FPGA/VHDL

Signal Processing Using Digital Technology

Jeremy BarstenJeremy Stockwell

May 6, 2003

Advisors:Dr. Thomas Stewart

Dr. Vinod Prasad

Page 2: Signal Processing Using Digital Technologycegt201.bradley.edu/projects/proj2003/dspproj/Final Presentation.pdf · Project Description All purpose digital signal processor using FPGA/VHDL

Digital Signal Processor

Project DescriptionDesign and Simulation of VLSI ProcessorDesign and Simulation of the VHDL Processor Implemented on the Xilinx FPGA BoardFPGA Problems.

Page 3: Signal Processing Using Digital Technologycegt201.bradley.edu/projects/proj2003/dspproj/Final Presentation.pdf · Project Description All purpose digital signal processor using FPGA/VHDL

Project Description

All purpose digital signal processor using FPGA/VHDL and ASIC/VLSI technology.Useable for a variety of applications:

Audio and VideoCellular Technology

Adapted depending on the application.

Page 4: Signal Processing Using Digital Technologycegt201.bradley.edu/projects/proj2003/dspproj/Final Presentation.pdf · Project Description All purpose digital signal processor using FPGA/VHDL

Project Description

High-level Block Diagram:

Input ProcessedSignal Signal

DIGITALSIGNAL

PROCESSOR

Page 5: Signal Processing Using Digital Technologycegt201.bradley.edu/projects/proj2003/dspproj/Final Presentation.pdf · Project Description All purpose digital signal processor using FPGA/VHDL

Filter DesignManipulating a digital input utilizing multipliers and adders.Direct Form II realization of an IIR Filter:

X(n) w(n) b0 y(n)

-a1 b1

-a2 b2 w(n-1)

w(n-2)

Z-1

Z-1

W(n)=X(n)-a1W(n-1)-a2W(n-2) Y(n)=b0W(n)+b1W(n-1)+b2W(n-2)

Page 6: Signal Processing Using Digital Technologycegt201.bradley.edu/projects/proj2003/dspproj/Final Presentation.pdf · Project Description All purpose digital signal processor using FPGA/VHDL

Signal Converters

Each signal will be analog in nature.Requires an analog-to-digital converter at the input stage and a digital-to-analog converter at the output stage.Tried to use the 8-bit A/D and D/A converters that were part of the Xilinx FPGA Version II Board.

Page 7: Signal Processing Using Digital Technologycegt201.bradley.edu/projects/proj2003/dspproj/Final Presentation.pdf · Project Description All purpose digital signal processor using FPGA/VHDL

Adder and MultiplierAny basic signal processor consists of different stages of addition and multiplication.A n-bit by n-bit multiplication will take place and result in a 2*n-bit value.This answer will be added to previous values stored in a data register (discussed later).

Page 8: Signal Processing Using Digital Technologycegt201.bradley.edu/projects/proj2003/dspproj/Final Presentation.pdf · Project Description All purpose digital signal processor using FPGA/VHDL

Adder Cell

Page 9: Signal Processing Using Digital Technologycegt201.bradley.edu/projects/proj2003/dspproj/Final Presentation.pdf · Project Description All purpose digital signal processor using FPGA/VHDL

Adder Cell

Page 10: Signal Processing Using Digital Technologycegt201.bradley.edu/projects/proj2003/dspproj/Final Presentation.pdf · Project Description All purpose digital signal processor using FPGA/VHDL

5-Bit Ripple-Carry Adder -Logical Design

Page 11: Signal Processing Using Digital Technologycegt201.bradley.edu/projects/proj2003/dspproj/Final Presentation.pdf · Project Description All purpose digital signal processor using FPGA/VHDL

5-Bit Ripple Carry Adder -VLSI Design

Page 12: Signal Processing Using Digital Technologycegt201.bradley.edu/projects/proj2003/dspproj/Final Presentation.pdf · Project Description All purpose digital signal processor using FPGA/VHDL

5-Bit Adder Simulation –Added to 0

Page 13: Signal Processing Using Digital Technologycegt201.bradley.edu/projects/proj2003/dspproj/Final Presentation.pdf · Project Description All purpose digital signal processor using FPGA/VHDL

5-Bit Adder Simulation –Added to -1

Page 14: Signal Processing Using Digital Technologycegt201.bradley.edu/projects/proj2003/dspproj/Final Presentation.pdf · Project Description All purpose digital signal processor using FPGA/VHDL

Cellular MultiplicationCellular Multiplication:

a3 a2 a1 a0

b0

b1

b2

b3

p7 p6 p5 p4 p3 p2 p1 p0

Page 15: Signal Processing Using Digital Technologycegt201.bradley.edu/projects/proj2003/dspproj/Final Presentation.pdf · Project Description All purpose digital signal processor using FPGA/VHDL

Multiplier Cell -Logical Design

Page 16: Signal Processing Using Digital Technologycegt201.bradley.edu/projects/proj2003/dspproj/Final Presentation.pdf · Project Description All purpose digital signal processor using FPGA/VHDL

Multiplier Cell -VLSI Design

Page 17: Signal Processing Using Digital Technologycegt201.bradley.edu/projects/proj2003/dspproj/Final Presentation.pdf · Project Description All purpose digital signal processor using FPGA/VHDL

Multiplier Cell Simulation -Inputs

Page 18: Signal Processing Using Digital Technologycegt201.bradley.edu/projects/proj2003/dspproj/Final Presentation.pdf · Project Description All purpose digital signal processor using FPGA/VHDL

Multiplier Cell Simulation -Outputs

Page 19: Signal Processing Using Digital Technologycegt201.bradley.edu/projects/proj2003/dspproj/Final Presentation.pdf · Project Description All purpose digital signal processor using FPGA/VHDL

4-bit x 4-bit Multiplier

Page 20: Signal Processing Using Digital Technologycegt201.bradley.edu/projects/proj2003/dspproj/Final Presentation.pdf · Project Description All purpose digital signal processor using FPGA/VHDL

4-bit x 4-bit Multiplier

Page 21: Signal Processing Using Digital Technologycegt201.bradley.edu/projects/proj2003/dspproj/Final Presentation.pdf · Project Description All purpose digital signal processor using FPGA/VHDL

Multiplier Simulation –Multiplied by 1

Page 22: Signal Processing Using Digital Technologycegt201.bradley.edu/projects/proj2003/dspproj/Final Presentation.pdf · Project Description All purpose digital signal processor using FPGA/VHDL

Adder and Multiplier

For 2’s complement addition and multiplication:

Multiplier

2’s Complement Block

2’s

B

L

O

C

K

2’s Complement Block

Page 23: Signal Processing Using Digital Technologycegt201.bradley.edu/projects/proj2003/dspproj/Final Presentation.pdf · Project Description All purpose digital signal processor using FPGA/VHDL

2’s Complement AdjustmentNeed to add circuitry to make the multiplier 2’s complement ready.The values from the converter will always be positive but the coefficients will be negative.Need blocks on both inputs and the output of the multiplier.Special case: input of 10000 and output of 100000000.

Page 24: Signal Processing Using Digital Technologycegt201.bradley.edu/projects/proj2003/dspproj/Final Presentation.pdf · Project Description All purpose digital signal processor using FPGA/VHDL

2’s Compliment Adjustment

Basic cell for the adjustment 2’s compliment circuit.

Cin

Ai Sout

Bi

Cout

SELECT

D1

Q

D0

ai

'1'

Page 25: Signal Processing Using Digital Technologycegt201.bradley.edu/projects/proj2003/dspproj/Final Presentation.pdf · Project Description All purpose digital signal processor using FPGA/VHDL

2’s Compliment Adjustment

Cell 1

Cell 2

Cell 3

Cell 4

0

a0

1

a1

0

a2

0

a3

0

select

i0

i1

i2

i3

cout

Page 26: Signal Processing Using Digital Technologycegt201.bradley.edu/projects/proj2003/dspproj/Final Presentation.pdf · Project Description All purpose digital signal processor using FPGA/VHDL

2’s Complement Adjustment

The blocks on the previous slide will be cascaded to make the adjustment block for the output adjustment circuitry.The select bit for the input will be the sign bit anded with the carry-out bit.The select bit for the output will be the same, where the sign bit will be the two input sign bits xored together.

Page 27: Signal Processing Using Digital Technologycegt201.bradley.edu/projects/proj2003/dspproj/Final Presentation.pdf · Project Description All purpose digital signal processor using FPGA/VHDL

Signed Multiplier Simulation –Multiplied by -1

Page 28: Signal Processing Using Digital Technologycegt201.bradley.edu/projects/proj2003/dspproj/Final Presentation.pdf · Project Description All purpose digital signal processor using FPGA/VHDL

Clock Cycle for Data Management

11 different stages that the VLSI processor must go thourgh to complete the required multiplication and addition.Used 12 D-type flip-flops to created the clock cycles required.

Page 29: Signal Processing Using Digital Technologycegt201.bradley.edu/projects/proj2003/dspproj/Final Presentation.pdf · Project Description All purpose digital signal processor using FPGA/VHDL

Clock Cycle for Data Management- Logical Design

Page 30: Signal Processing Using Digital Technologycegt201.bradley.edu/projects/proj2003/dspproj/Final Presentation.pdf · Project Description All purpose digital signal processor using FPGA/VHDL

Clock Cycle for Data Management- VLSI Design

Page 31: Signal Processing Using Digital Technologycegt201.bradley.edu/projects/proj2003/dspproj/Final Presentation.pdf · Project Description All purpose digital signal processor using FPGA/VHDL

Inputs to the Clock Controller

Page 32: Signal Processing Using Digital Technologycegt201.bradley.edu/projects/proj2003/dspproj/Final Presentation.pdf · Project Description All purpose digital signal processor using FPGA/VHDL

Outputs C1-C6 from the Clock Controller

Page 33: Signal Processing Using Digital Technologycegt201.bradley.edu/projects/proj2003/dspproj/Final Presentation.pdf · Project Description All purpose digital signal processor using FPGA/VHDL

Outputs C7-C11 from theClock Controller

Page 34: Signal Processing Using Digital Technologycegt201.bradley.edu/projects/proj2003/dspproj/Final Presentation.pdf · Project Description All purpose digital signal processor using FPGA/VHDL

Cycles for the VLSI Processor

ω(n) -> ω(n-1)11

ω(n-1) -> ω(n-2)10

YoutRmultRadd9

Rmultω(n-2)b28

RaddRmultRtemp7

Rmultω(n-1)b16

Rtempω(n)b05

RmultRadd4

ω(n)ω(n-2)a23

RaddRmultx(n)2

Rmultω(n-1)a11

SumProduct Add2Add1Mul2Mul1Cycle

Page 35: Signal Processing Using Digital Technologycegt201.bradley.edu/projects/proj2003/dspproj/Final Presentation.pdf · Project Description All purpose digital signal processor using FPGA/VHDL

VLSI Digital Signal Processor

Page 36: Signal Processing Using Digital Technologycegt201.bradley.edu/projects/proj2003/dspproj/Final Presentation.pdf · Project Description All purpose digital signal processor using FPGA/VHDL

VLSI Troubleshooting

Needed to add overflow protection for the adder.Investigate the speed of the entire processor.

Page 37: Signal Processing Using Digital Technologycegt201.bradley.edu/projects/proj2003/dspproj/Final Presentation.pdf · Project Description All purpose digital signal processor using FPGA/VHDL

Investigation

Behavioral v. StructuralRipple carry adder v. Carry look ahead adder.Parallel multiplier v. Serial multiplier.

Page 38: Signal Processing Using Digital Technologycegt201.bradley.edu/projects/proj2003/dspproj/Final Presentation.pdf · Project Description All purpose digital signal processor using FPGA/VHDL

* 16-bit ripple carry adder will have 34 gate delays

Ripple Carry AdderRipple Carry Adder

Page 39: Signal Processing Using Digital Technologycegt201.bradley.edu/projects/proj2003/dspproj/Final Presentation.pdf · Project Description All purpose digital signal processor using FPGA/VHDL

CLA Adder

* 16-bit CLA adder will have 10 gate delays

Page 40: Signal Processing Using Digital Technologycegt201.bradley.edu/projects/proj2003/dspproj/Final Presentation.pdf · Project Description All purpose digital signal processor using FPGA/VHDL

Multiplier

Advantages and disadvantages of using a parallel multiplier v. a serial multiplier.Speed v. Area

Page 41: Signal Processing Using Digital Technologycegt201.bradley.edu/projects/proj2003/dspproj/Final Presentation.pdf · Project Description All purpose digital signal processor using FPGA/VHDL

Area v. Speed

Implemented serial and parallel multipliers in VHDL.

Area Delay Area Delay Area Delay

Serial Multiplier 7.14% 96.88ns 13.52% 210.8ns 24.49% 503.68ns

Parallel Multiplier 10.71% 27.41ns 28% 38.76ns 68.50% 75.12ns

Page 42: Signal Processing Using Digital Technologycegt201.bradley.edu/projects/proj2003/dspproj/Final Presentation.pdf · Project Description All purpose digital signal processor using FPGA/VHDL

Booth’s Multiplier

To increase the speed a Modified Booth’s Algorithm was usedFor (X)*(Y)

Bit OperationYi+1 Yi Y

0 0 0 add zero0 0 1 add X0 1 0 add X0 1 1 add 2X1 0 0 subtract 2X1 0 1 Subtract X1 1 0 Subtract X1 1 1 Subtract 0

Page 43: Signal Processing Using Digital Technologycegt201.bradley.edu/projects/proj2003/dspproj/Final Presentation.pdf · Project Description All purpose digital signal processor using FPGA/VHDL

Booth’s MultiplierFor example (X*Y)= 4 (0100) * -3(1101)If it isn’t an odd number of bits add a 0 to YSegment multiplier (Y): 11010

1(010)2(110)

Segment # bits Action1 010 Add X2 110 Subtract X

Page 44: Signal Processing Using Digital Technologycegt201.bradley.edu/projects/proj2003/dspproj/Final Presentation.pdf · Project Description All purpose digital signal processor using FPGA/VHDL

Booth’s Multiplier0100

x110100000100 (Add X)111100 (Sub X)11110100 =-12

A N-bit multiplier requires N/2 addsResults in a 60 ns delay for a 16 bit multiplier

Page 45: Signal Processing Using Digital Technologycegt201.bradley.edu/projects/proj2003/dspproj/Final Presentation.pdf · Project Description All purpose digital signal processor using FPGA/VHDL

Data Management

Data Management is necessary to load the appropriate data to the multiplier and adder at the appropriate time, and to store data for later use.W(n)=X(n)-a1W(n-1)-a2W(n-2)

Y(n)=b0W(n)+b1W(n-1)+b2W(n-2)

To accomplish this I used 6 cycles

Page 46: Signal Processing Using Digital Technologycegt201.bradley.edu/projects/proj2003/dspproj/Final Presentation.pdf · Project Description All purpose digital signal processor using FPGA/VHDL

Data Management

Mult

Adder

Temp Reg

-a1 W(n-1)

X(n)

Cycle 1

Mult

Adder

W(n)

-a2 W(n-2)

Cycle 2

Temp Reg

X(n)-a1W(n-1) X(n)-a1W(n-1)-a2W(n-2)=W(n)

Page 47: Signal Processing Using Digital Technologycegt201.bradley.edu/projects/proj2003/dspproj/Final Presentation.pdf · Project Description All purpose digital signal processor using FPGA/VHDL

Data Management

Mult

Adder

Temp Reg

b2 W(n-2)

0

Cycle 3

Mult

Adder

Temp Reg

b1 W(n-1)

Cycle 4

Temp Reg

b0W(n) b0W(n)+b1W(n-1)

Page 48: Signal Processing Using Digital Technologycegt201.bradley.edu/projects/proj2003/dspproj/Final Presentation.pdf · Project Description All purpose digital signal processor using FPGA/VHDL

Data Management

Mult

Adder

Y(n) (Output)

b0 W(n)

Cycle 5

Temp Reg

Cycle 5 Cycle 6

Temp Reg

W(n-1)

W(n-2)

W(n-1)

W(n)

b0W(n)+b1W(n-1)+b2W(n-2)=Y(n)

Page 49: Signal Processing Using Digital Technologycegt201.bradley.edu/projects/proj2003/dspproj/Final Presentation.pdf · Project Description All purpose digital signal processor using FPGA/VHDL

Data Management

Three 3-input multiplexers were used to accomplish this task.

Cycle Mul1 Mul2 Add000 This cycle is used to trigger the A/D convertor001 a1 W(n-1) X(n)010 a2 W(n-2) Temp Reg011 b2 W(n-2) 0100 b1 W(n-1) Temp Reg101 b0 W(n) Temp Reg W(n-1) =>W(n-2)110 W(n) => W(n-1)

Page 50: Signal Processing Using Digital Technologycegt201.bradley.edu/projects/proj2003/dspproj/Final Presentation.pdf · Project Description All purpose digital signal processor using FPGA/VHDL

Simulation

Simulated DSP on Modelsim using simple 2nd order low pass filterChecked the results with the same filter using matlab

Page 51: Signal Processing Using Digital Technologycegt201.bradley.edu/projects/proj2003/dspproj/Final Presentation.pdf · Project Description All purpose digital signal processor using FPGA/VHDL

Simulation

Matlab DSP0.905 0.905

-0.7331 -0.7330.5938 0.594-0.481 -0.4810.3896 0.3895

-0.3156 -0.31560.2556 0.2555-0.207 -0.20710.1677 0.1676

-0.1358 -0.13590.11 0.11

Page 52: Signal Processing Using Digital Technologycegt201.bradley.edu/projects/proj2003/dspproj/Final Presentation.pdf · Project Description All purpose digital signal processor using FPGA/VHDL

Problems

Multiplier was occasionally producing an extra sign bitFPGA clocksImpulse response degradation

Page 53: Signal Processing Using Digital Technologycegt201.bradley.edu/projects/proj2003/dspproj/Final Presentation.pdf · Project Description All purpose digital signal processor using FPGA/VHDL

Signal Processing Using Digital Technology

Jeremy BarstenJeremy Stockwell

May 6, 2003

Advisors:Dr. Thomas Stewart

Dr. Vinod Prasad