ACM Home Page
Please provide us with feedback. Feedback
Bit-level partial evaluation of synchronous circuits
Full text PdfPdf (665 KB)
Source ACM/SIGPLAN Workshop Partial Evaluation and Semantics-Based Program Manipulation archive
Proceedings of the 2006 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation table of contents
Charleston, South Carolina
SESSION: Applications table of contents
Pages: 29 - 37  
Year of Publication: 2006
ISBN:1-59593-196-1
Authors
Sarah Thompson  University of Cambridge
Alan Mycroft  University of Cambridge
Sponsor
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 2,   Downloads (12 Months): 14,   Citation Count: 0
Additional Information:

abstract   references   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/1111542.1111548
What is a DOI?

ABSTRACT

Partial evaluation has been known for some time to be very effective when applied to software; in this paper we demonstrate that it can also be usefully applied to hardware. We present a bit-level algorithm that supports the offline partial evaluation of synchronous digital circuits. Full PE of combinational logic is noted to be equivalent to Boolean minimisation. A loop unrolling technique, supporting both partial and full unrolling, is described. Experimental results are given, showing that partial evaluation of a simple micro-processor against a ROM image is equivalent to compiling the ROM program directly into low level hardware.


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
Excalibur Device Overview Data Sheet, V2.0. Altera, 2002. DS-EXCARM-2.0.
 
2
Quartus II Development Software Handbook, V4.0. Altera, 2004.
 
3
4
 
5
Celoxica. Handel-C language reference manual. Available from http://www.celoxica.com/.
6
7
8
9
 
10
Futamura, Y. Partial evaluation of computation process -- an approach to a compiler-compiler. In Systems, Computers, Control (1971), vol. 2 issue 5, pp. 45--50.
 
11
 
12
 
13
Lombardi, L. Incremental computation. In Advances in Computers, vol. 8, F. Alt and M. Rubinoff, Eds. New York: Academic Press, 1967, pp. 247--333.
 
14
Lombardi, L., and Raphael, B. Lisp as the language for an incremental computer. In The Programming Language Lisp: Its Operation and Applications (1964), E. Berkeley and D. Bobrow, Eds., Cambridge, MA: MIT Press, pp. 204--219.
 
15
 
16
 
17
Mealy, G. H. A method for synthesizing sequential circuits. In Bell System Technical Journal (1955), vol. 34, pp. 1045--1079.
 
18
Mycroft, A., and Jones, N. D. A relational framework for abstract interpretation. In Lecture Notes in Computer Science: Proc. Copenhagen workshop on programs as data objects (1984), vol. 215, Springer-Verlag.
 
19
 
20
Page, I., and Luk, W. Compiling Occam into FPGAs. In FPGAs, W. Moore and W. Luk, Eds. Abingdon EE&CS Books, 1991, pp. 271--283.
 
21
 
22
Thompson, S. Hardware web site. http://harpe.findatlantis.com/.
 
23
Thompson, S. Hardware compilation as an alternative computation architecture. Master's thesis, University of Teesside, 1991.
 
24
Thompson, S., and Mycroft, A. Abstract interpretation of combinational asynchronous circuits. In 11th International Static Analysis Symposium (SAS'04) (2004), R. Giacobazzi, Ed., vol. 3148 of Lecture Notes in Computer Science, Springer-Verlag, pp. 181--196.
 
25
Thompson, S., and Mycroft, A. Sliding window logic simulation. In 15th UK Asynchronous Forum (2004), Cambridge. Available from http://findatlantis.com/.
 
26
Thompson, S., Mycroft, A., Brat, G., and Venet, A. Automatic in-flight repair of FPGA cosmic ray damage. In Proc. 1st Disruption in Space Symposium (July 2005).
 
27
Veldhuizen, T. Using C++ template metaprograms. C++ Report 7, 4 (May 1995), 36--43. Reprinted in C++ Gems, ed. Stanley Lippman.
 
28
Veldhuizen, T. L. C++ templates as partial evaluation. In Proceedings of PEPM'99. The ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation, ed. O. Danvy, San Antonio (Jan. 1999), University of Aarhus, Dept. of Computer Science, pp. 13--18.

Collaborative Colleagues:
Sarah Thompson: colleagues
Alan Mycroft: colleagues