Open this publication in new window or tab >>2025 (English)Doctoral thesis, comprehensive summary (Other academic)
Abstract [en]
Hardware complexity is ever-growing but the front-end tools used to design hardware are not keeping up, especially when compared with software tooling. While software and hardware have fundamental differences, there is enough overlap between the domains to warrant taking ideas and inspiration from software tooling to build better hardware tooling. This dissertation is made up of three parts, each focused around a tool that was built in part based on this idea.
The first tool is Spade, a hardware description language built with the explicit goal of improving developer productivity by taking inspiration from software programming languages. Some features are carried over outright: the type system, a build system with easy dependency management, and a compiler that produces helpful error messages. Most features however, are built specifically for hardware based on design philosophy from software, these include an abstraction for correct by construction pipelining, linear types for modeling memory ports, and the ability to define new custom hardware-centric abstractions such as ready valid interfaces.
The second tool is Surfer, a waveform viewer built from the ground up to accommodate new hardware design workflows. One example of this is integration with modern HDLs like Spade to allow full use of their complex type systems. Other examples include the ability to embed the waveform viewer in bigger project, to control it externally, and to use it in web technologies. The viewer has already seen widespread adoption, has integration with Chisel, Clash, and RHDL in addition to Spade, and is used as a component of several proprietary and open source tools.
The final part of the thesis is centered around Cinnabar, a new high level synthesis tool. It lays the groundwork for a way for domain experts to work with hardware engineers to build accelerators for model based control applications. To do this efficiently, it is helpful if the domain experts can work on the modeling largely independently of the hardware engineers working on the hardware architecture. This is achieved by a high level synthesis tool that compiles a simulation model to efficient hardware without requiring any domain expertise. In parallel, a hardware engineer can develop the hardware which executes the simulation, a task which requires less domain expertise and where high level synthesis typically performs worse than a handwritten solution.
In order to tie these works together, a simulation model of a hybrid electric vehicle synthesized with high level synthesis was combined with hardware written in Spade for performing dynamic programming. Together, this allows real time use of an algorithm for optimizing fuel efficiency, which has traditionally only been possible off-line when executing on CPUs.
Place, publisher, year, edition, pages
Linköping: Linköping University Electronic Press, 2025. p. 55
Series
Linköping Studies in Science and Technology. Dissertations, ISSN 0345-7524 ; 2460
National Category
Embedded Systems
Identifiers
urn:nbn:se:liu:diva-214272 (URN)10.3384/9789181181777 (DOI)9789181181760 (ISBN)9789181181777 (ISBN)
Public defence
2025-08-29, Planck, F-building, Campus Valla, Linköping, 09:15 (English)
Opponent
Supervisors
2025-06-032025-06-032025-06-03Bibliographically approved