Massive thanks to @omixann.me for contributing 19/22 MRs with a changelog entry in this release 👀
Massive thanks to @omixann.me for contributing 19/22 MRs with a changelog entry in this release 👀
A release image for Spade 0.17. Apart from a celebrating spadefish, it contains a code example that showcases operator overloading, wrapping operators, and type aliases.
It is Spade release day once again, and 0.17.0 is packed with new features 🎉
It was pretty hard to pick which features to show in this "teaser image", so you should head to the blog to see what other exciting stuff got added 😉 blog.spade-lang.org/v0-17-0/
SIGBOVIK has a Bluesky now! Follow to learn more cutting-edge research from the world’s most comedic and occasionally scientific academic conference
What if you could design your own microchip - and actually have it manufactured? Free if you live in switzerland! 🇨🇭
Get started with this 1 hour online workshop.
Go to tinytapeout.com/swisschips2026 to sign up!
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
Hey look, I got featured as a winner in the JaneStreet Advent of FPGA challenge :) blog.janestreet.com/advent-of-fp...
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.
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/...
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.
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
Oh, and thanks @jmi2k.me for making 12/17 changelog-worthy MRs that went into this release :)
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/
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
@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
- ...
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
Yeah, it's an awful situation
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
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
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 🤔
@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 :)
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!
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...
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!
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
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
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 :)
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
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 🤔
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