TheZoq2's Avatar

TheZoq2

@thezoq2.bsky.social

Developing http://spade-lang.org and the Surfer waveform viewer. Post doc at Hochschule München Usually at https://mastodon.social/@thezoq2

215 Followers  |  63 Following  |  110 Posts  |  Joined: 21.09.2023
Posts Following

Posts by TheZoq2 (@thezoq2.bsky.social)

Yes! Very happy to see so many HDLs represented.

That experimental language seems cool, I could essentially copy their motivation from the ReadMe verbatim for Spade :D

13.02.2026 14:21 — 👍 1    🔁 0    💬 0    📌 0
Preview
Results from the Advent of FPGA Challenge At the end of last year, we decided to try something new: achallenge that would runalongside Advent of Code, where we asked the community toshow us how they ...

Hey look, I got featured as a winner in the JaneStreet Advent of FPGA challenge :) blog.janestreet.com/advent-of-fp...

13.02.2026 09:48 — 👍 8    🔁 1    💬 0    📌 1

Yeah, that is indeed a concern. Unfortunately, it is also the easiest way to motivate the language right now, since it gives a clear an concrete example to point to as "Look, languages can improve things"

Without it, and without something like user studies, motivating the work would be much harder.

08.02.2026 11:24 — 👍 2    🔁 0    💬 0    📌 0
Post image

Our paper on Spade - A modern HDL is finally available! Not only is it a relatively complete description of the language, but I'm also very pleased with how we managed to articulate the need for a new HDL at the "RTL with abstractions on top" level

dl.acm.org/doi/10.1145/...

03.02.2026 17:31 — 👍 9    🔁 1    💬 1    📌 0

Hardware design should be SAFER!

Memory-safe software languages changed the world and allowed to us to build massively larger systems. At their heart, memory-safe languages eliminate a category of bugs that pointer-manipulating programs suffer from.

27.01.2026 21:59 — 👍 13    🔁 2    💬 1    📌 0
Post image

Apparently this is how I spell monomorphization in parts of the Spade compiler and I haven't noticed before 🤔

I get the feeling I maybe slightly dyslexic

23.01.2026 14:11 — 👍 3    🔁 0    💬 0    📌 0
Post image 20.01.2026 20:05 — 👍 5478    🔁 1364    💬 24    📌 54

Oh, and thanks @jmi2k.me for making 12/17 changelog-worthy MRs that went into this release :)

22.01.2026 13:56 — 👍 1    🔁 0    💬 1    📌 0
A youtube clickbait thumbnail-style picture with text talking about some new features in Spade 0.16.

A youtube clickbait thumbnail-style picture with text talking about some new features in Spade 0.16.

Today we are releasing Spade 0.16.0! 🎉 While it doesn't come with any major new features, it has a ton of improvements all over the language, and a hefty compiler performance improvement!

You can read about all the changes in our blog: blog.spade-lang.org/v0-16-0/

22.01.2026 13:55 — 👍 13    🔁 2    💬 1    📌 0
Getting Started - The Servo Book

While I put a TL;DR there, you should really go read either the original Servo version book.servo.org/contributing... or my cheap copy, because the motivation for this is important

14.01.2026 14:10 — 👍 0    🔁 0    💬 0    📌 0
Preview
Add an LLM contributions section to the readme (!556) · Merge requests · spade-lang / spade · GitLab Closes #385

@servo.org's AI policy was so well written that I had to adapt it to the Spade project.

gitlab.com/spade-lang/s...

TL;DR: No LLM contributions please, they
- Take maintainer time for less reward than human contributions
- Are questionable from a copyright perspective
- Have ethical concerns
- ...

14.01.2026 14:09 — 👍 1    🔁 0    💬 1    📌 0
Putting a Clash Coat of Paint on Rust Reproducing Clash's numeric types in Rust

What happens when Clash meets Rust? Interesting things that bring us to the edge of what the languages can handle! See how we approached representing Clash’s numeric types in Rust in this new blog post.

clash-lang.org/blog/0008-cl...
#rustlang #haskell #fpga

14.01.2026 13:52 — 👍 0    🔁 1    💬 0    📌 0

Yeah, it's an awful situation

04.01.2026 23:20 — 👍 1    🔁 0    💬 0    📌 0

For me the switch was as simple as it could be, I just changed the `bincode::serde::(en/de)code` to `postcard::(from/to)_vec` and everything just works

04.01.2026 21:55 — 👍 0    🔁 0    💬 1    📌 0

In this case I needed the runtime version. Most of the space was taken up by a hash map and a vector being duplicated a few hundred times inside another vector :D

04.01.2026 21:54 — 👍 1    🔁 0    💬 0    📌 0
Post image

With that function and a bit of really ugly code I was able to generate this report for my serialized size.

I wonder if I should make a proc macro for this 🤔

04.01.2026 21:36 — 👍 1    🔁 0    💬 1    📌 0
serialized_size in postcard::experimental - Rust Compute the size of the postcard serialization of `T`.

@jamesmunns.com Thanks for writing postcard! I switched over to it from bincode since that's now deprecated

I've been struggling to figure out why my serialized structs are so big, but thanks to docs.rs/postcard/lat... I was able to quickly narrow the problem down to a few fields :)

04.01.2026 21:35 — 👍 4    🔁 0    💬 3    📌 0
Post image

Yesterday we merged analog drawing in Surfer 🎉 The project also turns 3 years old on Monday so it is a fitting time to release v0.5.0

There are of course a bunch of other improvements that you can read more about in the change log

Massive thanks to Roman Popov for the analog drawing feature!

19.12.2025 16:17 — 👍 4    🔁 2    💬 0    📌 0
I Built a Processor for Advent of Code Day 8 | The Spade Blog

I built a custom processor for #adventofcode day 8 and it only took 3 minutes to solve the problem blog.spade-lang.org/processor-fo...

16.12.2025 12:42 — 👍 8    🔁 0    💬 0    📌 0

Oh yeah, worth mentioning that we're a hybrid workshop, so if you can't or don't want tot travel to the US you can attend remotely!

09.12.2025 08:41 — 👍 0    🔁 0    💬 0    📌 0
Post image

Are you working at the intersection of languages and tools for accelerator design? Then you should submit a paper to our workshop, LATTE ☕

As usual, it is co-located with ASPLOS which is in Pittsburgh this year.

CFP: capra.cs.cornell.edu/latte26/
Deadline: Jan 31
Workshop: March 22/23

09.12.2025 08:36 — 👍 1    🔁 1    💬 1    📌 0
Video thumbnail

The spade-lang.org website has looked largely the same the past 3 years, while the language itself has evolved massively. It was clearly high time for a re-design

05.12.2025 15:08 — 👍 5    🔁 0    💬 0    📌 0

I'm extremely excited for this. As far as I know, this is the biggest project anyone else has written in Spade, and certainly the biggest that has been taped out :)

04.12.2025 18:42 — 👍 7    🔁 0    💬 0    📌 0

Yep. Got frustrated with C++, wanted derive macros in a new somewhat standalone part of the project so I wrote that in Rust.

I do think I at least asked my PhD advisor if it was fine and he didn't say no.

Later I made a hobby project which was obviously in Rust into my main project

27.11.2025 08:02 — 👍 2    🔁 0    💬 0    📌 0

Wow, that first 3d simulation thing looks very cool!

Happy to see Surfer in there, After seeing the video I'm also now thinking that we should make the `+` and `-` buttons center on the cursor if one is in view 🤔

24.11.2025 13:33 — 👍 1    🔁 0    💬 1    📌 0
Video thumbnail

What open source ASIC tools am I excited by in 2025? OpenEMS, 3D viewers, Surfer, OpenROAD, and lots more!

Check this article for all the links: zerotoasiccourse.com/post/excited...

#opensource #ASIC #tools

24.11.2025 11:54 — 👍 16    🔁 4    💬 4    📌 0
Post image

Today we release Spade v0.15 🎉

This release includes
- Improvements to lambda units
- Pipeline methods
- Much improved dependency handling
- Several additions to the standard library
- Better Verilog interop
A lot more

Release blog blog.spade-lang.org/v0-15-0/
Change log gitlab.com/spade-lang/s...

20.11.2025 12:52 — 👍 8    🔁 2    💬 0    📌 0
GitHub - grayresearch/tt02-s4ga: TinyTapeout2 Super Slow Serial SRAM FPGA TinyTapeout2 Super Slow Serial SRAM FPGA. Contribute to grayresearch/tt02-s4ga development by creating an account on GitHub.

There are better examples of FPGAs on TT too, github.com/grayresearch... by @jangray.bsky.social and github.com/gatecat/tiny... come to mind.

I don't know of any on more recent shuttles though 🤔

Maybe my time multiplexed NAND gate counts asplos-conference.org/WACIs/2025/W...

15.11.2025 09:20 — 👍 1    🔁 0    💬 1    📌 0

Damn, that's cool! I'm curious where the 200k transistor count comes from. The rule of thumb for tinytapeout seems to be 1k gates, and I guess each gate is more than one transistor but 200k still seems high

11.11.2025 15:19 — 👍 1    🔁 0    💬 1    📌 0
A creenshot with a header, some code, and text at the bottom

The header is green text saying "Quickscope" with the "o" replaced by a COD Modern Warfare 2 intervention player model.

The source code is syntax highlighted Spade code that describes an integrated logic analyzer

The text at the bottom has the same style as the header and says "A logic analyzer in 4 hours"

A creenshot with a header, some code, and text at the bottom The header is green text saying "Quickscope" with the "o" replaced by a COD Modern Warfare 2 intervention player model. The source code is syntax highlighted Spade code that describes an integrated logic analyzer The text at the bottom has the same style as the header and says "A logic analyzer in 4 hours"

A few weekends ago I wrote a logic analyzer in Spade 🐠, and it took less than 4 hours

I figured I'd write a blog post to show how that was possible and how the code works: blog.spade-lang.org/quickscope/

10.11.2025 14:23 — 👍 0    🔁 1    💬 0    📌 0