@thezoq2@mastodon.social avatar

thezoq2

@thezoq2@mastodon.social

Developing http://spade-lang.org and other fun stuff in Rust. PhD student at Linköping University

This profile is from a federated server and may be incomplete. Browse more on the original instance.

thezoq2, to random
@thezoq2@mastodon.social avatar

Today we finally released 🏄 Surfer 0.2.0 🎉

This release contains months of improvements, both big and small. Some highlights:

  • A remote server
  • A more powerful Risc-V decoder that now supports RV32IMAFDZicsr
  • Lots of interface improvements including
  • Edge stepping
  • Multiple view ports
  • Undo/Redo
  • Variable drag and drop
  • Selectable themes
  • Experimental support for GHW
  • Lots of bug fixes

Release blog post: https://blog.surfer-project.org/v0-2-0/
Changelog: https://gitlab.com/surfer-project/surfer/-/blob/main/CHANGELOG.md?ref_type=heads

thezoq2, to random
@thezoq2@mastodon.social avatar

Another excellent OSS EDA workshop: https://woset-workshop.github.io/

The WOSET workshop aims to galvanize the open-source EDA movement. The workshop will (virtually) bring together EDA researchers who are committed to open-source principles to share their experiences and coordinate efforts towards developing a reliable, fully open-source EDA flow.

The workshop is fully virtual so attendance is a no-brainer! Deadline for submissions is September 23

thezoq2,
@thezoq2@mastodon.social avatar

@whitequark Yeah, that's fair. I know there have been non-academic projects presented there, for example @pipelinec and ROHD but those may be outliers.

I guess since i'm on the PC, this could be considered outreach now :D I imagine they'd be more than happy to have presentations from more non-academic projects!

thezoq2,
@thezoq2@mastodon.social avatar

@cnx Hmm not sure, it sounds like they are planning on using zoom but perhaps they could be convinced to change that. I have had good experiences with jitsi at least

thezoq2,
@thezoq2@mastodon.social avatar

@whitequark Assuming you mean the "academic format in general", I'd say it's not as strict as people may think, especially for workshops like this.

Overall for EDA papers, try to write something that can be read independently and which motivates the idea, provides whatever background is needed, and then describes the thing you've made. Reviewers probably expect some related work too, though in some cases, that might just be "there isn't much"

thezoq2, to random
@thezoq2@mastodon.social avatar

On todays episode of Frans' excuses for not actually writing his thesis:

I should write a parser for Spade in @typst so I can use non-context free grammar to highlight code blocks

I really want to highlight the parameter lists here

thezoq2, to random
@thezoq2@mastodon.social avatar

What if I build a wasm core in Spade, then I could self host the language without having to run linux 🤔

thezoq2, to random
@thezoq2@mastodon.social avatar
thezoq2, to random
@thezoq2@mastodon.social avatar

libgit seems super annoying to compile to wasm, so I'm attempting to use http(s) to download the libraries instead.

Unfortunately, https especially seems hard to do in wasi. There seems to be wasix which supports it, but I'm not quite sure how that works.

wasi seems to support http, which is fine, but reqwest seems to automatically "upgrade" me to https for some reason.

Also, doing http requests from a https page causes issues IIRC so that might not be a good option anyway

thezoq2,
@thezoq2@mastodon.social avatar

@whitequark Makes sense, good to know I shouldn't go down that route

thezoq2,
@thezoq2@mastodon.social avatar

@whitequark I'm again out of my comfort zone. I presume as a hostcall means writing that part in JS and calling it from rust?

And adding http support to runtime-js being adding an implementation of that somewhere in yowasp?

whitequark, to random
@whitequark@mastodon.social avatar

OH: "I've built LLVM too many times for it to feel painful. now I have to build Chromium to feel something"

thezoq2,
@thezoq2@mastodon.social avatar

@whitequark yowasp-chromium when?

whitequark, to random
@whitequark@mastodon.social avatar

i think i have five copies of clang right now in ~/Projects/yowasp, not counting the LLVM tree that i'm building

thezoq2,
@thezoq2@mastodon.social avatar

@whitequark flashback to building clang for a course during the pandemic and only being able to do -j1 to not overflow my 16 gigs

thezoq2, to VHDL
@thezoq2@mastodon.social avatar

It is now possible to go from a clean linux laptop with nothing but chromium installed to running Spade on an #fpga in less than one minute!

All the magic is done by @whitequark's http://yowasp.org/ which I just ported Spade to.

Give it a try! https://vscode.dev/github/TheZoq2/spade-vscode-toolchain-demo

video/mp4

thezoq2,
@thezoq2@mastodon.social avatar

The one missing thing for now is Swim, the Spade build system so you can't use dependencies

@whitequark I presume yowasp programs can't run other programs using std::process or similar? Spade relies on that to do most of its work right now

thezoq2,
@thezoq2@mastodon.social avatar

@whitequark Hmm, probably not easily. Maybe via https://nlnet.nl/ who seem to be happy to hand out grants for all kinds of stuf

thezoq2,
@thezoq2@mastodon.social avatar

@whitequark broadly, swim.toml contains a list of dependencies as either paths or git repos. It shells out to git to fetch the git dependencies, and then it shells out to the spade compiler to build the project with all the files in the correct namespace.

It also shells out to backend tools which would be nice but is less important here since the vscode plugin does that too.

thezoq2,
@thezoq2@mastodon.social avatar

@whitequark Yeah, in typing that out I realized we should probably do libgit, I should probably give that a try

Then I'd only need a way for it to specify the flags for Spade to use for its build to get the namespacing, but that should be pretty easy

whitequark, to random
@whitequark@mastodon.social avatar

check this out

thanks to VS Code, YoWASP Toolchain Extension, and WebUSB, you can now program FPGAs with nothing but your cellphone o:3

https://marketplace.visualstudio.com/items?itemName=yowasp.toolchain
https://vscode.dev/github/YoWASP/toolchain-demo

thezoq2,
@thezoq2@mastodon.social avatar

@whitequark Wow! It really is as easy as just adding @spade-lang/spade 👀

https://github.com/TheZoq2/spade-vscode-toolchain-demo

thezoq2,
@thezoq2@mastodon.social avatar

@whitequark The fact that this whole process was easier than compiling a single project in many languages is incredible, nice job!

thezoq2,
@thezoq2@mastodon.social avatar

@whitequark Oh yeah, that's a good point. I guess I should copy what you did with yosys and add a -N 🤔

thezoq2,
@thezoq2@mastodon.social avatar

@whitequark Alright, updated to include both the yowasp and spade commit numbers

thezoq2,
@thezoq2@mastodon.social avatar

@whitequark that would be nice!

thezoq2,
@thezoq2@mastodon.social avatar

@whitequark Good point, didn't even know you could do recommended extensions like that!

mcc, to random
@mcc@mastodon.social avatar

GtkWave feels in a whole bunch of ways like a fossil of some earlier era of UI design, which partially means a bunch of minor frustrations but on the bright side means every time I boot it I get to look at this intro box

thezoq2,
@thezoq2@mastodon.social avatar

@mcc I need to find an excuse to put that image in surfer somehow. Too bad it loads fast enough to not need a splash screen 😭

  • All
  • Subscribed
  • Moderated
  • Favorites
  • megavids
  • thenastyranch
  • rosin
  • GTA5RPClips
  • osvaldo12
  • love
  • Youngstown
  • slotface
  • khanakhh
  • everett
  • kavyap
  • mdbf
  • DreamBathrooms
  • ngwrru68w68
  • provamag3
  • magazineikmin
  • InstantRegret
  • normalnudes
  • tacticalgear
  • cubers
  • ethstaker
  • modclub
  • cisconetworking
  • Durango
  • anitta
  • Leos
  • tester
  • JUstTest
  • All magazines