Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

lzss Decompression verilog synthesizeable RTL

Status
Not open for further replies.

sham1810

Newbie level 3
Joined
Nov 29, 2011
Messages
4
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,315
Hi,

I am currently writing a decompression engine for lzss in verilog. I need it be fast and need a minimum throughput of 4bytes/cycle. I am currently reading in 4bytes of input data every cycle and then decode the input data to figure out if its a pointer or a literal. If a literal i write it into output FIFO and if its a pointer i push the length and offset in another FIFO(this one is simple synchronous FIFO). I am also designing the output FIFO to have dual reading and writing ports. However i am still not able to meet minimum throughput. Any suggestions on how can i achieve minimum throughput?
 

Pipeline the design.
 

Pipeline the design.

My initial thoughts were to pipeline the design but since decompression does not perform any operation on the data it doesn't make sense to pipeline it. It you go through through the decompression algorithm you'll know that it involves a lot of copy pasting data already being written in the output memory. I am planning to use 4 banks for the memory so that i have a way of writing 4bytes/cycle. Any better way you can think of?
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top