Formalization of data flow computing and a coinductive approach to verifying flowware synthesis

  • Authors:
  • Phan Cong Vinh;Jonathan P. Bowen

  • Affiliations:
  • London South Bank University, Centre for Applied Formal Methods, Institute for Computing Research, Faculty of BCIM, London, UK;London South Bank University, Centre for Applied Formal Methods, Institute for Computing Research, Faculty of BCIM, London, UK

  • Venue:
  • Transactions on computational science I
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

Reconfigurable computing refers to the notions of configware and flowware. Configware means structural programming, or programming in space to execute computation in space. Flowware means dataflow programming that schedules the data flow for output from or input to the configware architecture. In this paper, data flows of a synthesized computation are formalized. This means that data flow is specified as a behavioral stream function in stream calculus, which is used to underpin the semantics for Register Transfer Level (RTL) synthesis. A stream representation allows the use of coinductive principles in stream calculus. In particular, using the coinductive proof principle, we show that behavioral stream functions in the three-stage synthesis process (scheduling, register allocation and binding, allocation and binding of functional units) are always bisimilar regardless of changes in a scheduling, allocation or binding procedure. Our formalization makes pipelining possible, in which all functional units as well as registers of hardware resources are reused during different control steps (C-steps). Moreover, a coinductive approach to verifying flowware synthesis, which is independent of the heuristic during register allocating and binding step, is proposed as a practical technique.