Java as a specification language for hardware-software systems

Helaihel, Olukotun
1997 Proceedings of IEEE International Conference on Computer Aided Design (ICCAD) ICCAD-97  
The specification language is a critical component of the hardware-software co-design process since it is used for functional validation and as a starting point for hardwaresoftware partitioning and co-synthesis. This paper proposes the Java programming language as a specification language for hardware-software systems. Java has several characteristics that make it suitable for system specification. However, static control and dataflow analysis of Java programs is problematic because Java
more » ... s are dynamically linked. This paper provides a general solution to the problem of statically analyzing Java programs using a technique that pre-allocates most class instances and aggressively resolves memory aliasing using global analysis. The output of our analysis is a control dataflow graph for the input specification. Our results for sample designs show that the analysis can extract fine to coarse-grained concurrency for subsequent hardware-software partitioning and co-synthesis steps of the hardware-software codesign process to exploit. 0-89791-993-9/97 $10.00
doi:10.1109/iccad.1997.643613 dblp:conf/iccad/HelaihelO97 fatcat:z2r4ykqrlfeuho5ozvgdsmgcya