About Me

Hi, I'm Lucas, a computer scientist who found his way into the digital design world. My interests include analyzing waveforms, (formal) hardware verification, computer architecture, open-source EDA tools, and fun stuff with SMT solvers.
You can also find me on Mastodon, GitLab, and GitHub.

WAL: Waveform Analysis Language

I started WAL during my PhD time in Linz, Austria. WAL is a programming language for the analysis of hardware waveforms. It is useful for anything from counting how often a simple condition is true to analyzing busses and caches to a lot more. WAL can be used standalone or embedded in other programming languages. You can also try the short introduction in your browser here.
More information about WAL can be found at wal-lang.org or in our open-access journal article.
(load "waveform.vcd")	  
(whenever (&& (rising clk) ready valid)
  (print INDEX ":" data))
As an example of what is possible with WAL, I built an experimental SVA to WAL compiler. For another example try SonicRv. It is a teaching tool developed at the ICS for their computer architecture class. At the core of SonicRV is a WAL program that reconstructs pipelines from RTL simulation waveforms.

Surfer

I'm one of the original maintainers of Surfer. Surfer is a modern waveform viewer written in Rust with a focus on extensibility, customization, and a snappy user interface.
Among other things, I have worked on the keyboard-driven interface, the configuration system, RISC-V support, and, of course, WAL integration. Related to Surfer, I currently maintain the WCP protocol (Waveform Control Protocol) and the FTR library used for loading TLM traces into Surfer. You can try the online version of Surfer or find more information about it at surfer-project.org.

Publications

Some of my recent publications:
Lucas Klemmer, Daniel Große
IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems (TCAD), 43(10):3198–3211, 2024
Lucas Klemmer, Daniel Große
2023 Forum on specification & Design Languages (FDL)
Lucas Klemmer, Daniel Große
2024 29th Asia and South Pacific Design Automation Conference (ASP-DAC), 692-697
Frans Skarman, Lucas Klemmer, Oscar Gustafsson, Daniel Große
2023 Forum on specification & Design Languages (FDL), 1-8
Lucas Klemmer, Daniel Große
2022 27th Asia and South Pacific Design Automation Conference (ASP-DAC), 358-364
Lucas Klemmer, Daniel Große
2022 IEEE Computer Society Annual Symposium on VLSI (ISVLSI), 38-43
Lucas Klemmer, Daniel Große
Proceedings of the 2021 Great Lakes Symposium on VLSI (GLSVLSI), 33-38
The full list of my publications can be found here.