Abstract
Compiling hardware models to machine code poses some unusual problems. While compilers for traditional programming languages are well understood, they tend to take very long to compile the C code generated from hardware models. The code generated from hardware models, unlike in the inputs seen by traditional compilers, have too many simple routines. These routines have much simpler control flow, and the patterns of the routines are repeated several times over. This paper discusses the approaches developed at Synopsys to compile these routines as optimally as traditional compilers, but taking less time.
- Allen, R, and McNamara, M., Optimizing Compiled Verilog, Proceedings of International Verilog HDL. Conference, pp. 15--19, 1994.Google ScholarCross Ref
- Chaitin, G., Auslander, M., Chandra, A, Cocke, J., Hopkins, M., and Markstein, P., Register Allocation Via Coloring, Computer Languages, Vol. 6, No. 1, p. 47--57, 1981.Google ScholarCross Ref
- Cytron, R., Ferrante, J., Rosen, B. K., Wegman, M. N. and Zadeck, F. K., Efficiently Computing static single assignment form and the control dependence graph, ACM Transactions on Programming Languages and Systems, Vol. 13, Issue 4, pp. 451--490, 1991. Google ScholarDigital Library
- Fraser, C. W., Hanson, D. R., and Proebstring, T. A., Engineering a simple, efficient code-generator generator, ACM Letters on Programming Languages and Systems (3), 213--226, 1992. Google ScholarDigital Library
- Johnson, S. C., YACC-Yet another compiler compiler, Technical Report 32, Computing Science Research Center, AT&T Bell Laboratories, Murray Hill, NJ, 1975.Google Scholar
- Li, J., and Gupta, R. K., HDL Optimization Using Timed Decision Tables, Proceedings of 33rd Design Automation Conference, pp. 51--54, 1996. Google ScholarDigital Library
- Muchnick, S., Advanced Compiler Design Implementation, Morgan Kaufman Publishers, San Francisco, 1997. Google ScholarDigital Library
- Redondo, R., and Arias, J. J., Reuse of verification efforts and incomplete specifications in a formalization, iterative and incremental software process, Proceedings of 23rd International Conference on Software Engineering, pp. 801--802, 2001. Google ScholarDigital Library
- "VCS/VCSi & XVCS/XPOST, Version 4.2.1", Synopsys, Inc., 1998.Google Scholar
- Thomas and Moorby, The Verilog Hadware Description Language, Kluwer Academic Publishers, 1991. Google ScholarDigital Library
Index Terms
- Compilation reuse and hybrid compilation: an experiment
Recommendations
Source-to-Source Compilation via Submodules
ELS2016: Proceedings of the 9th European Lisp Symposium on European Lisp SymposiumRacket's macro system enables language extension and definition primarily for programs that are run on the Racket virtual machine, but macro facilities are also useful for implementing languages and compilers that target different platforms. Even when ...
A simple separate compilation mechanism for block-structured languages
A very simple and efficient technique for the introduction of separate compilation facilities into compilers for block-structured languages is presented. Using this technique, programs may be compiled in parts while the compile-time checking advantages ...
Comments