Silicon at the Speed of Software: From Circuits to Systems
As we stare down the end of Moore’s law, an open-source ecosystem of Scala-based tools for designing processor chips is paving the way for a hardware customization revolution. Scala’s strengths lie in its ability to create extensible, type-safe abstractions through a blend of object-oriented and functional programming. These features turn out to be just as beneficial for succinctly encapsulating the complexity of processor chip designs as they are for developing software applications. We will examine some case studies from the front lines of high-level processor chip design: circuits as functional compositions, type parameterization of wires and interconnects, design parameter negotiations expressed as graph traversals, design transformations expressed as compiler passes. These topics will illustrate the applicability of abstractions built both into and out of Scala to a wide range of problems in the rapidly-diversifying hardware design space.
Henry Cook is a Principal Engineer at SiFive Inc., where he builds software tools to make hardware designers more productive. He holds a PhD from the University of California, Berkeley, where he was co-advised by Dave Patterson and Krste Asanovic. He is one of the main contributors to the Rocket Chip Generator, an open-source collection of tools for building extensible RISC-V multicore processors, and has also contributed to Chisel, an embedded DSL for constructing hardware circuits in Scala.
Wed 17 JulDisplayed time zone: Belfast change
09:00 - 10:00 | |||
09:00 60mTalk | Silicon at the Speed of Software: From Circuits to Systems Scala Henry Cook SiFive |