huffman encoder project. howd - zur hung eric lai wei jie lee yu - chiang lee design manager:...

38
Huffman Encoder Project

Post on 20-Dec-2015

220 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Huffman Encoder Project. Howd - Zur Hung Eric Lai Wei Jie Lee Yu - Chiang Lee Design Manager: Jonathan P. Lee Huffman Encoder Project Final Presentation

Huffman Encoder Project

Page 2: Huffman Encoder Project. Howd - Zur Hung Eric Lai Wei Jie Lee Yu - Chiang Lee Design Manager: Jonathan P. Lee Huffman Encoder Project Final Presentation

Howd - Zur HungEric Lai

Wei Jie LeeYu - Chiang Lee

Design Manager: Jonathan P. Lee

Huffman Encoder Project

Final PresentationApril 30th, 2007

Overall Project Objective:Design a Low Power Huffman Encoder

Page 3: Huffman Encoder Project. Howd - Zur Hung Eric Lai Wei Jie Lee Yu - Chiang Lee Design Manager: Jonathan P. Lee Huffman Encoder Project Final Presentation

• About Huffman Compression (Wei Jie)• Marketing (Wei Jie)• Project Description (Wei Jie)• Design Methodology (Randal)• Original Huffman Recipe (Randal)• Our Huffman Encoder (Randal)• Design Decisions (Randal)• Behavioral/Algorithmic Description (Eric)• Floorplan Evolution (Eric)• Layout (John)• Verification (Eric)• Issues Encountered (John)• Specifications (John)• Conclusions (John)

Agenda of Presentation

Page 4: Huffman Encoder Project. Howd - Zur Hung Eric Lai Wei Jie Lee Yu - Chiang Lee Design Manager: Jonathan P. Lee Huffman Encoder Project Final Presentation

About Huffman

• Huffman is a compression algorithm

• Often used as a back-end to other compressions

• Greedy algorithm

Page 5: Huffman Encoder Project. Howd - Zur Hung Eric Lai Wei Jie Lee Yu - Chiang Lee Design Manager: Jonathan P. Lee Huffman Encoder Project Final Presentation

The Need for Compression

• It is becoming a wireless world

• Wireless bandwidth limited

• Power is limited

• COMPRESSION!

• Reduce data size = Save power + time + bandwidth

Page 6: Huffman Encoder Project. Howd - Zur Hung Eric Lai Wei Jie Lee Yu - Chiang Lee Design Manager: Jonathan P. Lee Huffman Encoder Project Final Presentation

Why Huffman?

• Lossless

• Statistical

• David Huffman is the man!

• Outdid Shannon-Fano coding

Page 7: Huffman Encoder Project. Howd - Zur Hung Eric Lai Wei Jie Lee Yu - Chiang Lee Design Manager: Jonathan P. Lee Huffman Encoder Project Final Presentation

Project Description

Our Huffman Encoder is a fast and power efficient solution to data compression with on-chip cache

Page 8: Huffman Encoder Project. Howd - Zur Hung Eric Lai Wei Jie Lee Yu - Chiang Lee Design Manager: Jonathan P. Lee Huffman Encoder Project Final Presentation

• Hardware compression out performs software based solution

• Small, affordable, and power efficient chip is perfect for portable devices

Why Hardware?

Page 9: Huffman Encoder Project. Howd - Zur Hung Eric Lai Wei Jie Lee Yu - Chiang Lee Design Manager: Jonathan P. Lee Huffman Encoder Project Final Presentation

Hardware Huffman Solution

• Low power, compact, full-custom ASIC

• Saves power, time, and system resources

• Compress data packets on network cards

• Cell phones, PDA, Laptop

Page 10: Huffman Encoder Project. Howd - Zur Hung Eric Lai Wei Jie Lee Yu - Chiang Lee Design Manager: Jonathan P. Lee Huffman Encoder Project Final Presentation

Design Methodology

1.Understand the algorithm

2.Design functional blocks

3.Behavioral Verilog

4.Structural Verilog

5.Schematic

6.Layout

7.Simulations

Page 11: Huffman Encoder Project. Howd - Zur Hung Eric Lai Wei Jie Lee Yu - Chiang Lee Design Manager: Jonathan P. Lee Huffman Encoder Project Final Presentation

Specifics of Huffman

Procedure

• pre-scan data and count frequency

• iteratively find least two frequent word and build a tree

• encode word according to

the final tree structure

4 7 2 1 15a b c d e

3

d c

7

a

14

b

29

e

0

0

0

0

1

1

1

1

001 01 0001 0000 1a b c d e

Page 12: Huffman Encoder Project. Howd - Zur Hung Eric Lai Wei Jie Lee Yu - Chiang Lee Design Manager: Jonathan P. Lee Huffman Encoder Project Final Presentation

Our Huffman

Procedure

• pre-scan data, count frequency, and assign unique group number

• iteratively find least two frequent word to update group number and encoding

• finish encoding look up table

4 7 2 1 15

a b c d e

0 1 2 3 4

4 7 3 3 15

a b c d e

0 1 2 2 4

1 0

7 7 7 7 15

a b c d e

0 1 0 0 4

1 01 00

14 14 14 14 15

a b c d e

0 0 0 0 4

01 1 001 000

29 29 29 29 29

a b c d e

0 0 0 0 0

001 01 0000 0000 1

Page 13: Huffman Encoder Project. Howd - Zur Hung Eric Lai Wei Jie Lee Yu - Chiang Lee Design Manager: Jonathan P. Lee Huffman Encoder Project Final Presentation

1. 5-bit input word size

2. 16-bit frequency

3. Two SRAMs

4. Adders: 16-bit Carry Select Adders

5. Serial output

6. Control logic to shut down modules

Design Decisions

Page 14: Huffman Encoder Project. Howd - Zur Hung Eric Lai Wei Jie Lee Yu - Chiang Lee Design Manager: Jonathan P. Lee Huffman Encoder Project Final Presentation

SRAMFrequency /

Group

Find2Freq

Combine Groups

Output Tree

SRAMCode / Length

Serial Output

Control Logic

Count Frequency

Dat

aIn

TreeOutput

Com

pres

sed

Out

put

DataIn

Behavioral / Algorithm Description

turns off unused blocks to reduce power

Page 15: Huffman Encoder Project. Howd - Zur Hung Eric Lai Wei Jie Lee Yu - Chiang Lee Design Manager: Jonathan P. Lee Huffman Encoder Project Final Presentation

Schematic Diagram

Page 16: Huffman Encoder Project. Howd - Zur Hung Eric Lai Wei Jie Lee Yu - Chiang Lee Design Manager: Jonathan P. Lee Huffman Encoder Project Final Presentation

Floorplan Prelayout

Page 17: Huffman Encoder Project. Howd - Zur Hung Eric Lai Wei Jie Lee Yu - Chiang Lee Design Manager: Jonathan P. Lee Huffman Encoder Project Final Presentation

Floorplan Midlayout

Page 18: Huffman Encoder Project. Howd - Zur Hung Eric Lai Wei Jie Lee Yu - Chiang Lee Design Manager: Jonathan P. Lee Huffman Encoder Project Final Presentation

Final Chip Layout

Page 19: Huffman Encoder Project. Howd - Zur Hung Eric Lai Wei Jie Lee Yu - Chiang Lee Design Manager: Jonathan P. Lee Huffman Encoder Project Final Presentation

Top

Find2Freq

Combine

SR

AM

freq

Gro

up

SRAMcodeLength

countFreq

serial output

control

Page 20: Huffman Encoder Project. Howd - Zur Hung Eric Lai Wei Jie Lee Yu - Chiang Lee Design Manager: Jonathan P. Lee Huffman Encoder Project Final Presentation

CountFrequency

Page 21: Huffman Encoder Project. Howd - Zur Hung Eric Lai Wei Jie Lee Yu - Chiang Lee Design Manager: Jonathan P. Lee Huffman Encoder Project Final Presentation

Find2Freq

Page 22: Huffman Encoder Project. Howd - Zur Hung Eric Lai Wei Jie Lee Yu - Chiang Lee Design Manager: Jonathan P. Lee Huffman Encoder Project Final Presentation

Combine

Page 23: Huffman Encoder Project. Howd - Zur Hung Eric Lai Wei Jie Lee Yu - Chiang Lee Design Manager: Jonathan P. Lee Huffman Encoder Project Final Presentation

SerialOutput

Page 24: Huffman Encoder Project. Howd - Zur Hung Eric Lai Wei Jie Lee Yu - Chiang Lee Design Manager: Jonathan P. Lee Huffman Encoder Project Final Presentation

SRAM(FreqGroup)

Page 25: Huffman Encoder Project. Howd - Zur Hung Eric Lai Wei Jie Lee Yu - Chiang Lee Design Manager: Jonathan P. Lee Huffman Encoder Project Final Presentation

Poly

Page 26: Huffman Encoder Project. Howd - Zur Hung Eric Lai Wei Jie Lee Yu - Chiang Lee Design Manager: Jonathan P. Lee Huffman Encoder Project Final Presentation

Metal 1

Page 27: Huffman Encoder Project. Howd - Zur Hung Eric Lai Wei Jie Lee Yu - Chiang Lee Design Manager: Jonathan P. Lee Huffman Encoder Project Final Presentation

Metal 2

Page 28: Huffman Encoder Project. Howd - Zur Hung Eric Lai Wei Jie Lee Yu - Chiang Lee Design Manager: Jonathan P. Lee Huffman Encoder Project Final Presentation

Metal 3

Page 29: Huffman Encoder Project. Howd - Zur Hung Eric Lai Wei Jie Lee Yu - Chiang Lee Design Manager: Jonathan P. Lee Huffman Encoder Project Final Presentation

Metal 4

Page 30: Huffman Encoder Project. Howd - Zur Hung Eric Lai Wei Jie Lee Yu - Chiang Lee Design Manager: Jonathan P. Lee Huffman Encoder Project Final Presentation

• Matched Verilog results with MATLAB results

• Verified the successful compression of several test cases including parts of an image file:

Verification: Verilog

Page 31: Huffman Encoder Project. Howd - Zur Hung Eric Lai Wei Jie Lee Yu - Chiang Lee Design Manager: Jonathan P. Lee Huffman Encoder Project Final Presentation

• Vigorously tested each block

• Combined them and encoded several words

Verification: Schematic

Page 32: Huffman Encoder Project. Howd - Zur Hung Eric Lai Wei Jie Lee Yu - Chiang Lee Design Manager: Jonathan P. Lee Huffman Encoder Project Final Presentation

• Verified strong signal integrity

• Buffered high fan-outs and long wires

• Critical Path: 4.88 ns

• All outputs of modules go through registers

Verification: Layout

Page 33: Huffman Encoder Project. Howd - Zur Hung Eric Lai Wei Jie Lee Yu - Chiang Lee Design Manager: Jonathan P. Lee Huffman Encoder Project Final Presentation

Component Specifications

countFreq find2freq combine Serial

Output

SRAM

(combined)

Transistor

Count718 2810 2702 1404 13764

Area

(in μm2)2656 9844 9750 4380 39041

Density 0.270 0.285 0.277 0.321 0.353

Power

(mWatt)0.405 0.615 0.665 0.241 9.19

Page 34: Huffman Encoder Project. Howd - Zur Hung Eric Lai Wei Jie Lee Yu - Chiang Lee Design Manager: Jonathan P. Lee Huffman Encoder Project Final Presentation

Final Specifications

Number of Transistors : 23,322

Area : 288.18 x 273.645 = 78859 μm2

Density : 0.296 (transistors/μm2)

Aspect Ratio = 1:1.05

Pin Count = 52 pins• Input : 5-bit data input, start, done, finish

• Output : 36-bit treeOutput, treeReady, out, request, error

• vdd!, gnd!, clk, reset

Final Clock Speed = 200 MHz

Page 35: Huffman Encoder Project. Howd - Zur Hung Eric Lai Wei Jie Lee Yu - Chiang Lee Design Manager: Jonathan P. Lee Huffman Encoder Project Final Presentation

Final Specifications

• Final result is up to 1800 times faster than Java! (probably because it’s Java)

• Compressed 640 bits of an image

• Java results – 10 ms

• Centrino 1.5 GHz

• 512 RAM

• Our hardware Huffman – 5.4 us

• 1071 cycles

Page 36: Huffman Encoder Project. Howd - Zur Hung Eric Lai Wei Jie Lee Yu - Chiang Lee Design Manager: Jonathan P. Lee Huffman Encoder Project Final Presentation

1. Bad estimate for original floorplan

2. Long SRAM simulation time

3. SRAM sense amp issue

4. Too much poly!

5. Cannot route through SRAM

Issues Encountered

Page 37: Huffman Encoder Project. Howd - Zur Hung Eric Lai Wei Jie Lee Yu - Chiang Lee Design Manager: Jonathan P. Lee Huffman Encoder Project Final Presentation

Conclusions

• Next Steps:

• Scale up design

• Better compression ratio

• Higher throughput

• Meeting of the Minds

• HUFFMAN DECODER!!

Page 38: Huffman Encoder Project. Howd - Zur Hung Eric Lai Wei Jie Lee Yu - Chiang Lee Design Manager: Jonathan P. Lee Huffman Encoder Project Final Presentation

Questions?