ACM Home Page
Please provide us with feedback. Feedback
FPGA-friendly code compression for horizontal microcoded custom IPs
Full text PdfPdf (347 KB)
Source International Symposium on Field Programmable Gate Arrays archive
Proceedings of the 2007 ACM/SIGDA 15th international symposium on Field programmable gate arrays table of contents
Monterey, California, USA
SESSION: FPGA-based computing table of contents
Pages: 108 - 115  
Year of Publication: 2007
ISBN:978-1-59593-600-4
Authors
Bita Gorjiara  University of California, Irvine, CA
Daniel Gajski  University of California, Irvine, CA
Sponsors
SIGDA: ACM Special Interest Group on Design Automation
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 2,   Downloads (12 Months): 33,   Citation Count: 4
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1216919.1216935
What is a DOI?

ABSTRACT

Shrinking time-to-market and high demand for productivity has driven traditional hardware designers to use design methodologies that start from high-level languages. However, meeting timing constraints of automatically generated IPs is often a challenging and time-consuming task that must be repeated every time the specification is modified. To address this issue, a new generation of IP-design technologies that is capable of generating custom datapaths as well as programming an existing one is developed. These technologies are often based on Horizontal Microcoded Architectures. Large code size is a well-know problem in HMAs, and is referred to as "code bloating" problem.In this paper, we study the code size of one of the new HMA-based technologies called NISC. We show that NISC code size can be several times larger than a typical RISC processor, and we propose several low-overhead dictionary-based code compression techniques to reduce the code size. Our compression algorithm leverages the knowledge of "don't care" values in the control words to better compress the content of dictionary memories. Our experiments show that by selecting proper memory architectures the code size of NISC can be reduced by 70% (i.e. 3.3 times) at cost of only 9% performance degradation. We also show that some code compression techniques may increase number of utilized block RAMs in FPGA-based implementations. To address this issue, we propose combining dictionaries and implementing them using embedded dual-port memories.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
M. Byatt, "Data plane processing with configurable architectures", ARM white paper, 2003.
 
2
N. Clark, H. Zhong, K. Fan, S. Mahlke, K. Flautner, K. Van Nieuwenhove, "OptimoDE: Programmable Accelerator Engines Through Retargetable Customization", Hot Chips, 2004.
 
3
S. Bashford, U. Bieker, B. Harking, R. Leupers, P. Marwedel, A. Neumann, D. Voggenauer, "The MIMOLA Language - Version 4.1. Technical Report." Computer Science Dept., University of Dortmund, 1994.
 
4
5
 
6
7
 
8
A. Agrawala, T. Rauscher, Foundations of Microprogramming: Architecture, Software, and Applications, Academic Press, ISBN: 0120451506, 1976.
 
9
 
10
MiBench benchmark: http://www.eecs.umich.edu/mibench/
 
11
MAD: MPEG Audio Decoder: http://www.underbit.com/products/mad/
12
 
13
14
 
15
 
16
 
17
 
18
R. Grehan, "16-bit: The good, the bad, your options," Embedded Systems Programming, 1997 {Online}. Available: http://www.embedded.com/1999/9908/9908sr.htm
19
 
20
IBM, CodePack PowerPC code Compression Utility User's Manual Version 3.0, IBM, 1998.
 
21
 
22
 
23
G. Pechanek, S. Larin, T. Conte, "Any-size instruction abbreviation technique for embedded DSPs", ASIC/SoC Conference, 2002.
24
 
25
C. Fraser. "An instruction for direct interpretation of LZ77-compressed programs." Technical Report MSR-TR-2002-90, Microsoft Research, Microsoft Corporation, 2002.
 
26
 
27
T. Jensen, B. Toft, Graph coloring problems. Wiley-Interscience, New York, 1995, ISBN 0-471-02865-7.
 
28
Xilinx Product Specification, "Block memory generator", version 1.1, 2006.
29


Collaborative Colleagues:
Bita Gorjiara: colleagues
Daniel Gajski: colleagues