Skip to main content
Log in

Tokens vs. Signals: On Conformance between Formal Models of Dataflow and Hardware

  • Published:
Journal of Signal Processing Systems Aims and scope Submit manuscript

Abstract

Designing hardware often involves several types of modeling and analysis, e.g., in order to check system correctness, to derive performance properties such as throughput, to optimize resource usages (e.g., buffer sizes), and to synthesize parts of a circuit (e.g., control logic). Working directly with low-level hardware models such as finite-state machines (FSMs) to answer such questions is often infeasible, e.g., due to state explosion. Instead, designers often use dataflow models such as SDF and CSDF, which are more abstract than FSMs, and less expensive to use since they come with more efficient analysis algorithms. However, dataflow models are only abstractions of the real hardware, and often omit critical information. This raises the question, when can one say that a certain dataflow model faithfully captures a given piece of hardware? The question is of more than simply academic interest. Indeed, as illustrated in this paper, dataflow-based analysis outcomes may sometimes be defensive (e.g., buffers that are too big) or even incorrect (e.g., buffers that are too small). To answer the question of faithfully capturing hardware using dataflow models, we develop a formal conformance relation between the heterogeneous formalisms of (1) finite-state machines with synchronous semantics, typically used to model synchronous hardware, and (2) asynchronous processes communicating via queues, used as a formal model for dataflow. The conformance relation preserves performance properties such as worst-case throughput and latency.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12
Figure 13
Figure 14
Figure 15
Figure 16
Figure 17
Figure 18
Figure 19
Figure 20
Figure 21

Similar content being viewed by others

Notes

  1. Our formal dataflow model is similar to standard timed dataflow models such as timed SDF [7]. Original works on dataflow models such as SDF consider their untimed versions, e.g., [3, 8]. Timed properties such as throughput cannot be evaluated on untimed models. For this reason, we work with timed dataflow models.

  2. For simplicity, we use deterministic FSMs. However, the results, and in particular the definition of conformance, directly extend to non-deterministic FSMs as well.

  3. For simplicity, in our examples we assume no auto-concurrency, that is, no overlapping of firings of the same process. Auto-concurrency can be captured in our model using more elaborate and potentially infinite-state processes.

  4. Examples of CSDF processes can be found in Fig. 21.

  5. An alternative could be to attempt to discover consumptions and productions automatically by observing the behavior of the FSM. This problem is much more difficult, and is the topic of future work.

References

  1. Tripakis, S., Limaye, R., Ravindran, K., Wang, G. (2014). On tokens and signals: Bridging the semantic gap between dataflow models and hardware implementations. In International conference on embedded computer systems: architectures, modeling and simulation – SAMOS XIV.

  2. Tripakis, S., Andrade, H., Ghosal, A., Limaye, R., Ravindran, K., Wang, G., Yang, G., Kormerup, J., Wong, I. (2011). Correct and non-defensive glue design using abstract models. In 7th IEEE/ACM/IFIP international conference on hardware/software codesign and system synthesis, ser. CODES+ISSS ’11 (pp. 59–68). ACM.

  3. Lee, E., & Messerschmitt, D. (1987). Synchronous data flow. Proceedings of the IEEE, 75 (9), 1235–1245.

    Article  Google Scholar 

  4. Bilsen, G., Engels, M., Lauwereins, R., Peperstraete, J. (1995). Cyclo-static data flow. In IEEE international conference acoustics, speech, and signal processing.

  5. Stuijk, S., Geilen, M., Theelen, B., Basten, T. (2011). Scenario-aware dataflow: modeling, analysis and implementation of dynamic applications. In International conference on embedded computer systems (SAMOS), 2011 (pp. 404–411).

  6. Murata, T. (1989). Petri nets: Properties, analysis and applications. Proceedings of the IEEE, 77 (4), 541–580.

    Article  Google Scholar 

  7. Ghamarian, A.H., Geilen, M., Stuijk, S., Basten, T., Theelen, B.D., Mousavi, M.R., Moonen, A.J.M., Bekooij, M. (2006). Throughput analysis of synchronous data flow graphs. In 6th international conference on application of concurrency to system design, 2006. ACSD 2006. (pp. 25–36).

  8. Janneck, J. (2011). A machine model for dataflow actors and its applications. In Conference record of the 45th asilomar conference on signals, systems and computers (ASILOMAR), 2011.

  9. Kohavi, Z. (1978). Switching and finite automata theory, 2nd edn. Cambridge University Press.

  10. Xilinx Inc. (2010). Xilinx core generator, ISE Design Suite 12.1 ed., Xilinx Inc.

  11. Pnueli, A., & Rosner, R. (1989). On the synthesis of a reactive module. In Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on principles of programming languages, ser. POPL ’89 (pp. 179–190).

  12. Ramadge, P., & Wonham, W. (1989). The control of discrete event systems. Proceedings of the IEEE.

  13. Pnueli, A., & Rosner, R. (1990). Distributed reactive systems are hard to synthesize. In Proceedings of the 31th IEEE symposium on foundations of computer science (pp. 746–757).

  14. Lamouchi, H., & Thistle, J. (2000). Effective control synthesis for DES under partial observations. In 39th IEEE conference on decision and control (pp. 22–28).

  15. Tripakis, S. (2004). Undecidable problems of decentralized observation and control on regular languages. Information Processing Letters, 90 (1), 21–28.

    Article  MathSciNet  MATH  Google Scholar 

  16. Lustig, Y., & Vardi, M. (2009). Synthesis from component libraries. In 12th international conference on foundations of software science and computational structures, ser. FOSSACS ’09 (pp. 395–409). Springer.

  17. Bhattacharyya, S., Murthy, P., Lee, E. (1996). Software synthesis from dataflow graphs. Kluwer.

  18. Stuijk, S., Geilen, M., Basten, T. Throughput-buffering trade-off exploration for cyclo-static and synchronous dataflow graphs. IEEE Transactions on Computers, 57 (10), 2008.

  19. Wiggers, M.H., Bekooij, M.J., Smit, G.J. (2008). Buffer capacity computation for throughput constrained streaming applications with data-dependent inter-task communication. In RTAS’08 (pp. 183–194). IEEE Computer Society.

  20. Wiggers, M.H., Bekooij, M.J.G., Smit, G.J.M. (2007). Efficient computation of buffer capacities for cyclo-static dataflow graphs. In Proceedings of the 44th annual design automation conference, ser. DAC ’07 (pp. 658–663).

  21. Kahn, G. (1974). The semantics of a simple language for parallel programming. In Information processing 74, proceedings of IFIP congress 74. North-Holland.

  22. Faustini, A. (1982). An operational semantics for pure dataflow. In M. Nielsen & E. Schmidt (Eds.), Automata, languages and programming, ser. LNCS (vol. 140, pp. 212–224). Springer.

  23. Jonsson, B. (1994). A fully abstract trace model for dataflow and asynchronous networks. Distributed Computing, 7 (4), 197–212.

    Article  MATH  Google Scholar 

  24. Geilen, M., & Basten, T. (2010). Kahn process networks and a reactive extension. In Handbook of signal processing systems.

  25. Geilen, M., Tripakis, S., Wiggers, M. (2011). The earlier the better: A theory of timed actor interfaces. In 14th international conference hybrid systems: computation and control (HSCC’11). ACM.

  26. Sriram, S., & Bhattacharyya, S.S. (2009). Embedded multiprocessors: scheduling and synchronization, 2nd ed. CRC Press.

  27. Milner, R. (1982). A calculus of communicating systems. Springer.

  28. Hoare, C. (1985). Communicating sequential processes. Prentice Hall.

  29. Moreira, O.M., & Bekooij, M.J.G. (2007). Self-timed scheduling analysis for real-time applications. EURASIP Journal on Advances in Signal Processing, 2007 (83710), 1–15.

    MATH  Google Scholar 

  30. Wiggers, M.H., Bekooij, M.J.G., Smit, G.J.M. (2007). Modelling run-time arbitration by latency-rate servers in dataflow graphs. In Proceedingsof the 10th international workshop on software & compilers for embedded systems, ser. SCOPES ’07 (pp. 11–22).

  31. Kwok, Y.-K., & Ahmad, I. (1999). Static scheduling algorithms for allocating directed task graphs to multiprocessors. ACM Computing Surveys, 31 (4), 406–471.

    Article  Google Scholar 

  32. Ghosal, A., Limaye, R., Ravindran, K., Tripakis, S., Prasad, A., Wang, G., Tran, T., Andrade, H. (2012). Static dataflow with access patterns: semantics and analysis. In Design automation conference (DAC).

  33. Lauwereins, R., Engels, M., Adé, M., Peperstraete, J.A. (1995). Grape-II: a system-level prototyping environment for DSP applications. Computer, 28 (2), 35–43.

    Article  Google Scholar 

  34. Williamson, M., & Lee, E. (1996). Synthesis of parallel hardware implementations from synchronous dataflow graph specifications. In ASILOMAR.

  35. Horstmannshoff, J., & Meyr, H. (1999). Optimized system synthesis of complex RT level building blocks from multirate dataflow graphs. In 12th international symposium on system synthesis. IEEE.

  36. Jung, H., Yang, H., Ha, S. (2008). Optimized RTL code generation from coarse-grain dataflow specification for fast HW/SW cosynthesis. Journal of Signal Processing System, 52 (1), 13–34.

    Article  Google Scholar 

  37. Janneck, J., Miller, I., Parlour, D., Roquier, G., Wipliez, M., Raulet, M. (2008). Synthesizing hardware from dataflow programs: An MPEG-4 simple profile decoder case study. In Signal processing systems.

  38. Thavot, R., Mosqueron, R., Alisafaee, M., Lucarz, C., Mattavelli, M., Dubois, J., Noel, V. (2008). Dataflow design of a co-processor architecture for image processing. In DASIP.

  39. Dubois, J., Thavot, R., Mosqueron, R., Miteran, J., Lucarz, C. (2009). Motion estimation accelerator with user search strategy in an RVC context. In IEEE ICIP’09.

  40. Olsson, T., Carlsson, A., Wilhelmsson, L., Eker, J., von Platen, C., Diaz, I. (2010). A reconfigurable OFDM inner receiver implemented in the CAL dataflow language. In Circuits and systems (ISCAS).

  41. Hansson, A., Wiggers, M., Moonen, A., Goossens, K., Bekooij, M. (2009). Enabling application-level performance guarantees in network-based systems on chip by applying dataflow analysis. Computers Digital Techniques, IET, 3 (5), 398–412.

    Article  Google Scholar 

  42. Ghenassia, F. (Ed.) (2005). Transaction-level modeling with systemC. Springer.

  43. Pixley, C. (2009). Practical considerations concerning HL-to -RT equivalence checking. In Hardware and software: verification and testing, ser. LNCS (vol. 5394). Springer.

  44. Clarke, E., Kroening, D., Yorav, K. (2003). Behavioral consistency of C and verilog programs using bounded model checking. In DAC.

  45. van Glabbeek, R.J. (1990). The linear time-branching time spectrum. In CONCUR’90 (pp. 278–297). Springer.

  46. van Glabbeek, R., & Goltz, U. (2000). Refinement of actions and equivalence notions for concurrent systems. Acta Informatica, 37 (4–5), 229–327.

    MathSciNet  MATH  Google Scholar 

  47. Ehlers, R., Lafortune, S., Tripakis, S., Vardi, M. (2014). Bridging the gap between supervisory control and reactive synthesis: case of full observation and centralized control. In 12th IFAC international workshop on discrete event systems (WODES).

  48. Bhaduri, P., & Ramesh, S. (2006). Synthesis of synchronous interfaces. In Proceedings of the 6th international conference on application of concurrency to system design.

  49. Passerone, R., de Alfaro, L., Henzinger, T.A., Sangiovanni-Vincentelli, A.L. (2002). Convertibility verification and converter synthesis: two faces of the same coin. In Proceedings of the international conference on computer-aided design.

  50. Henzinger, T., Qadeer, S., Rajamani, S. (1998). You assume, we guarantee: Methodology and case studies. In CAV’98, ser. LNCS (vol. 1427). Springer-Verlag.

  51. McMillan, K. (1997). A compositional rule for hardware design refinement. In Computer aided verification (CAV’97), ser. LNCS (vol. 1254). Springer-Verlag.

  52. Meyer, B. (1992). Applying design by contract. Computer, 25 (10), 40–51.

    Article  Google Scholar 

  53. Barnett, M., Leino, K.R.M., Schulte, W. (2005). The spec# programming system: an overview. In International conference on construction and analysis of safe, secure, and interoperable smart devices, ser. CASSIS’04 (pp. 49–69). Springer.

Download references

Acknowledgments

This work was partially supported by the Academy of Finland and by the NSF via projects COSMOI: Compositional System Modeling with Interfaces and ExCAPE: Expeditions in Computer Augmented Program Engineering. This work was also partially supported by IBM and United Technologies Corporation (UTC) via the iCyPhy consortium, and by Denso, National Instruments, and Toyota, via the UC Berkeley Center for Hybrid and Embedded Software Systems (CHESS).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Stavros Tripakis.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Tripakis, S., Limaye, R., Ravindran, K. et al. Tokens vs. Signals: On Conformance between Formal Models of Dataflow and Hardware. J Sign Process Syst 85, 23–43 (2016). https://doi.org/10.1007/s11265-015-0971-y

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11265-015-0971-y

Keywords

Navigation