Abstract
Rapid exploration of the design space with simulation models is essential for quality hardware systems research and development. Despite striking commonalities across hardware systems, designers routinely fail to achieve high levels of reuse across models constructed in existing general-purpose and domain-specific languages. This lack of reuse adversely impacts hardware system design by slowing the rate at which ideas are evaluated. This paper presents an examination of existing languages to reveal their fundamental limitations regarding reuse in hardware modeling. With this understanding, a solution is described in the context of the design and implementation of the Liberty Structural Specification Language (LSS), the input language for a publicly available high-level digital-hardware modeling tool called the Liberty Simulation Environment. LSS is the first language to enable low-overhead reuse by simultaneously supporting static inference based on hardware structure and flexibility via parameterizable structure. Through LSS, this paper also introduces a new type inference algorithm and a new programming language technique, called use-based specialization, which, in a manner analogous to type inference, customizes reusable components by statically inferring structural properties that otherwise would have had to have been specified manually.
Original language | English (US) |
---|---|
Pages (from-to) | 195-206 |
Number of pages | 12 |
Journal | SIGPLAN Notices (ACM Special Interest Group on Programming Languages) |
Volume | 39 |
Issue number | 6 |
DOIs | |
State | Published - Jun 2004 |
All Science Journal Classification (ASJC) codes
- Software
- Computer Graphics and Computer-Aided Design
Keywords
- Component reuse
- Liberty Simulation Environment (LSE)
- Liberty Structural Specification (LSS)
- Simulator construction
- Structural modeling
- Type inference
- Use-based specialization