Signal Processing Using Digital Technology Jeremy Barsten Jeremy - - PowerPoint PPT Presentation

signal processing using digital technology
SMART_READER_LITE
LIVE PREVIEW

Signal Processing Using Digital Technology Jeremy Barsten Jeremy - - PowerPoint PPT Presentation

Signal Processing Using Digital Technology Jeremy Barsten Jeremy Stockwell May 6, 2003 Advisors: Dr. Thomas Stewart Dr. Vinod Prasad Digital Signal Processor Project Description Design and Simulation of VLSI Processor Design and


slide-1
SLIDE 1

Signal Processing Using Digital Technology

Jeremy Barsten Jeremy Stockwell May 6, 2003 Advisors:

  • Dr. Thomas Stewart
  • Dr. Vinod Prasad
slide-2
SLIDE 2

Digital Signal Processor

Project Description Design and Simulation of VLSI

Processor

Design and Simulation of the VHDL

Processor Implemented on the Xilinx FPGA Board

FPGA Problems.

slide-3
SLIDE 3

Project Description

All purpose digital signal processor

using FPGA/VHDL and ASIC/VLSI technology.

Useable for a variety of applications:

Audio and Video Cellular Technology

Adapted depending on the application.

slide-4
SLIDE 4

Project Description

High-level Block Diagram:

Input Processed Signal Signal

DIGITAL SIGNAL PROCESSOR

slide-5
SLIDE 5

Filter Design

Manipulating 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)

slide-6
SLIDE 6

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.

slide-7
SLIDE 7

Adder and Multiplier

Any 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).

slide-8
SLIDE 8

Adder Cell

slide-9
SLIDE 9

Adder Cell

slide-10
SLIDE 10

5-Bit Ripple-Carry Adder - Logical Design

slide-11
SLIDE 11

5-Bit Ripple Carry Adder - VLSI Design

slide-12
SLIDE 12

5-Bit Adder Simulation – Added to 0

slide-13
SLIDE 13

5-Bit Adder Simulation – Added to -1

slide-14
SLIDE 14

Cellular Multiplication

Cellular Multiplication:

a3 a2 a1 a0 b0 b1 b2 b3 p7 p6 p5 p4 p3 p2 p1 p0

slide-15
SLIDE 15

Multiplier Cell - Logical Design

slide-16
SLIDE 16

Multiplier Cell - VLSI Design

slide-17
SLIDE 17

Multiplier Cell Simulation - Inputs

slide-18
SLIDE 18

Multiplier Cell Simulation - Outputs

slide-19
SLIDE 19

4-bit x 4-bit Multiplier

slide-20
SLIDE 20

4-bit x 4-bit Multiplier

slide-21
SLIDE 21

Multiplier Simulation – Multiplied by 1

slide-22
SLIDE 22

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

slide-23
SLIDE 23

2’s Complement Adjustment

Need 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.

slide-24
SLIDE 24

2’s Compliment Adjustment

Basic cell for the adjustment 2’s

compliment circuit.

Cin Ai Sout Bi Cout SELECT D1 Q D0

ai '1'

slide-25
SLIDE 25

2’s Compliment Adjustment

Cell 1 Cell 2 Cell 3 Cell 4

a0 1 a1 a2 a3 select i0 i1 i2 i3 cout

slide-26
SLIDE 26

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.

slide-27
SLIDE 27

Signed Multiplier Simulation – Multiplied by -1

slide-28
SLIDE 28

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.

slide-29
SLIDE 29

Clock Cycle for Data Management- Logical Design

slide-30
SLIDE 30

Clock Cycle for Data Management- VLSI Design

slide-31
SLIDE 31

Inputs to the Clock Controller

slide-32
SLIDE 32

Outputs C1-C6 from the Clock Controller

slide-33
SLIDE 33

Outputs C7-C11 from the Clock Controller

slide-34
SLIDE 34

Cycles for the VLSI Processor

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

11

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

10 Yout Rmult Radd 9 Rmult

ω(n-2)

b2 8 Radd Rmult Rtemp 7 Rmult

ω(n-1)

b1 6 Rtemp

ω(n)

b0 5 Rmult Radd 4

ω(n) ω(n-2)

a2 3 Radd Rmult x(n) 2 Rmult

ω(n-1)

a1 1 Sum Product Add2 Add1 Mul2 Mul1 Cycle

slide-35
SLIDE 35

VLSI Digital Signal Processor

slide-36
SLIDE 36

VLSI Troubleshooting

Needed to add overflow protection for

the adder.

Investigate the speed of the entire

processor.

slide-37
SLIDE 37

Investigation

Behavioral v. Structural Ripple carry adder v. Carry look

ahead adder.

Parallel multiplier v. Serial

multiplier.

slide-38
SLIDE 38

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

Ripple Carry Adder Ripple Carry Adder

slide-39
SLIDE 39

CLA Adder

* 16-bit CLA adder will have 10 gate delays

slide-40
SLIDE 40

Multiplier

Advantages and disadvantages of

using a parallel multiplier v. a serial multiplier.

Speed v. Area

slide-41
SLIDE 41

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

slide-42
SLIDE 42

Booth’s Multiplier

To increase the speed a Modified

Booth’s Algorithm was used

For (X)*(Y)

Bit Operation Yi+1 Yi Y add zero 1 add X 1 add X 1 1 add 2X 1 subtract 2X 1 1 Subtract X 1 1 Subtract X 1 1 1 Subtract 0

slide-43
SLIDE 43

Booth’s Multiplier

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

1(010) 2(110)

Segment # bits Action 1 010 Add X 2 110 Subtract X

slide-44
SLIDE 44

Booth’s Multiplier

0100 x1101 00000100 (Add X) 111100 (Sub X) 11110100 =-12

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

multiplier

slide-45
SLIDE 45

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

slide-46
SLIDE 46

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)

slide-47
SLIDE 47

Data Management

Mult Adder Temp Reg b2 W(n-2)

Cycle 3

Mult Adder Temp Reg b1 W(n-1)

Cycle 4

Temp Reg

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

slide-48
SLIDE 48

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)

slide-49
SLIDE 49

Data Management

Three 3-input multiplexers were used to

accomplish this task.

Cycle Mul1 Mul2 Add 000 This cycle is used to trigger the A/D convertor 001 a1 W(n-1) X(n) 010 a2 W(n-2) Temp Reg 011 b2 W(n-2) 100 b1 W(n-1) Temp Reg 101 b0 W(n) Temp Reg W(n-1) =>W(n-2) 110 W(n) => W(n-1)

slide-50
SLIDE 50

Simulation

Simulated DSP on Modelsim using

simple 2nd order low pass filter

Checked the results with the same filter

using matlab

slide-51
SLIDE 51

Simulation

Matlab DSP 0.905 0.905

  • 0.7331
  • 0.733

0.5938 0.594

  • 0.481
  • 0.481

0.3896 0.3895

  • 0.3156
  • 0.3156

0.2556 0.2555

  • 0.207
  • 0.2071

0.1677 0.1676

  • 0.1358
  • 0.1359

0.11 0.11

slide-52
SLIDE 52

Problems

Multiplier was occasionally producing an

extra sign bit

FPGA clocks Impulse response degradation

slide-53
SLIDE 53

Signal Processing Using Digital Technology

Jeremy Barsten Jeremy Stockwell May 6, 2003 Advisors:

  • Dr. Thomas Stewart
  • Dr. Vinod Prasad