CS-263
Course Project:
Bit-Level Binding Time Analysis
Eylon Caspi
. . .
Prof. Alex Aiken
Abstract
Using a high level language (HLL) to specify a computation for
synthesis in ASIC or FPGA hardware requires aggressive compiler
analysis to capture bit-level program characteristics that cannot
normally be expressed in a HLL but which are important to specializing
and optimizing logic for size and speed. It is useful, for instance,
to identify unchanging bits of a variable and subsequently remove
using partial evaluation any logic which depends on them. We describe
a binding-time analysis for bits which can identify static and dynamic
bits of computed expressions. The analysis proves to be expensive,
possibly taking logarithmically as many steps as the actual binary
computation.
Presentation Foils
Report
People
The Course
This report describes a course project for
Alex Aiken's
graduate course,
"CS-263: Design and Analysis of Programming Languages,"
at U.C.Berkeley's
Computer Science department,
spring 1998 semester. The course dealt primarily with the formal
semantics of programming languages. Language analysis included the
study of operational/denotational/axiomatic semantics, lattices,
abstract interpretation, data-flow, and set constraints. Language
case studies included Lambda Calculus, Standard ML, C++, Java, RLL,
and CLU.
Last updated: 5/25/98
Comments to:
eylon@cs.berkeley.edu