TY - GEN
T1 - Feature-Oriented FSMs for FPGAs
AU - Deters, Justin
AU - Gozon, Peyton
AU - Camp-Oberhauser, Max
AU - Cytron, Ron K.
N1 - Publisher Copyright:
© 2023 IEEE.
PY - 2023
Y1 - 2023
N2 - 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.
AB - 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.
UR - https://www.scopus.com/pages/publications/85182588705
U2 - 10.1109/HPEC58863.2023.10363511
DO - 10.1109/HPEC58863.2023.10363511
M3 - Conference contribution
AN - SCOPUS:85182588705
T3 - 2023 IEEE High Performance Extreme Computing Conference, HPEC 2023
BT - 2023 IEEE High Performance Extreme Computing Conference, HPEC 2023
PB - Institute of Electrical and Electronics Engineers Inc.
T2 - 2023 IEEE High Performance Extreme Computing Conference, HPEC 2023
Y2 - 25 September 2023 through 29 September 2023
ER -