FPGA Design with Chisel
Tux Theatre | Mon 25 Jan 4:40 p.m.–5:25 p.m.
Presented by
-
Josh Bassett
@nullobject
https://joshbassett.info
FPGA hacker, coder, music producer, and retrofuturist. Z80 inside.
Josh Bassett
@nullobject
https://joshbassett.info
Abstract
Hardware description languages, like Verilog and VHDL, have been used since the early 1980s to describe all types of digital circuts: everything from simple logic devices to modern microprocessors.
While these languages are still widely considered to be industry-standard, their tooling and ergonomics have fallen far behind modern software development best-practices.
Chisel is an open-source digital design tool that leverages the Scala programming language, providing designers with the power of a modern programming language to describe complex digital circuits. Importantly, it also enables the use of many modern software engineering practices (e.g unit testing, static analysis, CI, etc.).
Chisel is not a toy — it was most notably used by the Chips Alliance (Linux Foundation) to implement the open-source Rocket Chip RISC-V processor core (https://github.com/chipsalliance/rocket-chip). It was also used by Google to develop the edge tensor processing unit ASIC (https://cloud.google.com/edge-tpu).
This talk aims to give an introduction to Chisel, and showcase how it can be used to create digital designs that are expressive, well-tested, and maintainable.
Hardware description languages, like Verilog and VHDL, have been used since the early 1980s to describe all types of digital circuts: everything from simple logic devices to modern microprocessors. While these languages are still widely considered to be industry-standard, their tooling and ergonomics have fallen far behind modern software development best-practices. Chisel is an open-source digital design tool that leverages the Scala programming language, providing designers with the power of a modern programming language to describe complex digital circuits. Importantly, it also enables the use of many modern software engineering practices (e.g unit testing, static analysis, CI, etc.). Chisel is not a toy — it was most notably used by the Chips Alliance (Linux Foundation) to implement the open-source Rocket Chip RISC-V processor core (https://github.com/chipsalliance/rocket-chip). It was also used by Google to develop the edge tensor processing unit ASIC (https://cloud.google.com/edge-tpu). This talk aims to give an introduction to Chisel, and showcase how it can be used to create digital designs that are expressive, well-tested, and maintainable.