Feature-Oriented FSMs for FPGAs

  • Justin Deters
  • , Peyton Gozon
  • , Max Camp-Oberhauser
  • , Ron K. Cytron

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

In this paper we consider a feature-oriented approach for specifying finite-state machines, which form the basis of cache controllers (and other components) for RISC-V implementations, and which are commonly found in hardware designs. Using a library we constructed for Chisel, developers can apply features at will, with the resulting machine containing only the circuitry needed to support the desired features. Our library offers two constructs for building features. The first, inspired by aspect-oriented programming, applies incremental changes to the states and edges of a finite-state machine to alter and customize its behavior in response to features of interest. The second construct couples the behavior of separate finite machines into a single machine that processes its inputs simultaneously. We illustrate each construct separately using a vending machine and the game of Nim, respectively. Our approach offers significant leverage in supporting both the number and size of the generated designs. We present results from synthesis that show the size of the design endpoints compared with the much smaller size of their specification.

Original languageEnglish
Title of host publication2023 IEEE High Performance Extreme Computing Conference, HPEC 2023
PublisherInstitute of Electrical and Electronics Engineers Inc.
ISBN (Electronic)9798350308600
DOIs
StatePublished - 2023
Event2023 IEEE High Performance Extreme Computing Conference, HPEC 2023 - Virtual, Online, United States
Duration: Sep 25 2023Sep 29 2023

Publication series

Name2023 IEEE High Performance Extreme Computing Conference, HPEC 2023

Conference

Conference2023 IEEE High Performance Extreme Computing Conference, HPEC 2023
Country/TerritoryUnited States
CityVirtual, Online
Period09/25/2309/29/23

Fingerprint

Dive into the research topics of 'Feature-Oriented FSMs for FPGAs'. Together they form a unique fingerprint.

Cite this