Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
The ESTEREL synchronous programming language: design, semantics, implementation
Science of Computer Programming
Specification and design of embedded systems
Specification and design of embedded systems
Efficient context-sensitive pointer analysis for C programs
PLDI '95 Proceedings of the ACM SIGPLAN 1995 conference on Programming language design and implementation
Multiple-process behavioral synthesis for mixed hardware-software systems
ISSS '95 Proceedings of the 8th international symposium on System synthesis
An efficient implementation of reactivity for modeling hardware in the scenic design environment
DAC '97 Proceedings of the 34th annual Design Automation Conference
The Verilog hardware description language (4th ed.)
The Verilog hardware description language (4th ed.)
Java Virtual Machine Specification
Java Virtual Machine Specification
The Java Language Specification
The Java Language Specification
Specification and Design of Embedded Hardware-Software Systems
IEEE Design & Test
IEEE Micro
Design and specification of embedded systems in Java using successive, formal refinement
DAC '98 Proceedings of the 35th annual Design Automation Conference
A hardware/software prototyping environment for dynamically reconfigurable embedded systems
Proceedings of the 6th international workshop on Hardware/software codesign
OpenJ: an extensible system level design language
DATE '99 Proceedings of the conference on Design, automation and test in Europe
Data type analysis for hardware synthesis from object-oriented models
DATE '99 Proceedings of the conference on Design, automation and test in Europe
Specification and validation of disstributed IP-based designs with JavaCAD
DATE '99 Proceedings of the conference on Design, automation and test in Europe
Virtual simulation of distributed IP-based designs
Proceedings of the 36th annual ACM/IEEE Design Automation Conference
Description and simulation of hardware/software systems with Java
Proceedings of the 36th annual ACM/IEEE Design Automation Conference
Java driven codesign and prototyping of networked embedded systems
Proceedings of the 36th annual ACM/IEEE Design Automation Conference
A Web-CAD methodology for IP-core analysis and simulation
Proceedings of the 37th Annual Design Automation Conference
ICCAD '99 Proceedings of the 1999 IEEE/ACM international conference on Computer-aided design
DATE '00 Proceedings of the conference on Design, automation and test in Europe
Composite signal flow: a computational model combining events, sampled streams, and vectors
DATE '00 Proceedings of the conference on Design, automation and test in Europe
System design based on single language and single-chip Java ASIP microcontroller
DATE '00 Proceedings of the conference on Design, automation and test in Europe
Precision and error analysis of MATLAB applications during automated hardware synthesis for FPGAs
Proceedings of the conference on Design, automation and test in Europe
Static memory allocation by pointer analysis and coloring
Proceedings of the conference on Design, automation and test in Europe
Java based object oriented hardware specification and synthesis
ASP-DAC '00 Proceedings of the 2000 Asia and South Pacific Design Automation Conference
Superlog, a unified design language for system-on-chip
ASP-DAC '00 Proceedings of the 2000 Asia and South Pacific Design Automation Conference
A framework for object oriented hardware specification, verification, and synthesis
Proceedings of the 38th annual Design Automation Conference
Object oriented hardware synthesis and verification
Proceedings of the 14th international symposium on Systems synthesis
Protected IP-core test generation
Proceedings of the 12th ACM Great Lakes symposium on VLSI
A system for synthesizing optimized FPGA hardware from MATLAB
Proceedings of the 2001 IEEE/ACM international conference on Computer-aided design
Virtual Simulation of Distributed IP-Based Designs
IEEE Design & Test
Hardware/Software Embedded System Specifiaction and Design Using Ada and VHDL
Ada-Europe '99 Proceedings of the 1999 Ada-Europe International Conference on Reliable Software Technologies
Codesign-extended applications
Proceedings of the tenth international symposium on Hardware/software codesign
Formal hardware specification languages for protocol compliance verification
ACM Transactions on Design Automation of Electronic Systems (TODAES)
Object-oriented modeling and synthesis of SystemC specifications
Proceedings of the 2004 Asia and South Pacific Design Automation Conference
ACM Transactions on Design Automation of Electronic Systems (TODAES)
Artificial Intelligence for Engineering Design, Analysis and Manufacturing
Strategies for dynamic memory allocation in hybrid architectures
Proceedings of the 6th ACM conference on Computing frontiers
Efficient memory management for hardware accelerated Java Virtual Machines
ACM Transactions on Design Automation of Electronic Systems (TODAES)
Java bytecode to hardware made easy with bluespec system verilog
Proceedings of the 10th International Workshop on Java Technologies for Real-time and Embedded Systems
Hi-index | 0.00 |
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 hardware- software partitioning and co-synthesis. This paper pro poses 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 classes 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 resolve 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 co- design process to exploit.