Handshaking in kansas lava using patch logic

  • Authors:
  • Andy Gill;Bowe Neuenschwander

  • Affiliations:
  • Information Technology and Telecommunication Center, Department of Electrical Engineering and Computer Science, The University of Kansas;Information Technology and Telecommunication Center, Department of Electrical Engineering and Computer Science, The University of Kansas

  • Venue:
  • PADL'12 Proceedings of the 14th international conference on Practical Aspects of Declarative Languages
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

Designing hardware is like writing music for an orchestra - lots of pieces have to come together at the correct time for everything to work. In systems design, there is a confusing array of standards for allowing cooperating components, and little type-level support in traditional design methodologies for helping connect components with pre-arranged protocols. In this paper, we explore bringing protocol-level types to communicating processes. Inside our hardware description language Kansas Lava we introduce the notation of a patch, which is a communicating component with well-understood protocols. We build a theory round the notion of patches, which we call patch logic, and then use the patch abstraction to build a small driver for an FPGA board.