Live data from Hacker News

From ASCII to ASIC: Porting donut.c to a tiny slice of silicon

a1k0n.net

1–10 of 26 posts

Re: From ASCII to ASIC: Porting donut.c to a tiny slice of silicon

#3
The thing about donut.c is that its source code is shaped like a donut, that’s a huge part of its charm.

While altering it to use shifts and adds is a fun exercise, since its source code is no longer shaped like the donut it renders, I would argue that a large part of its charm has disappeared and it’s no longer a donut.c

Re: From ASCII to ASIC: Porting donut.c to a tiny slice of silicon

#4
post #3

The thing about donut.c is that its source code is shaped like a donut, that’s a huge part of its charm. While altering it to use shifts and adds is a fun exercise, since its source code is no longer shaped like the donut it renders, I would argue that a large part of its charm has disappeared and it’s no longer a donut.c

It’s trivial to reformat the source code into a donut shape.

Re: From ASCII to ASIC: Porting donut.c to a tiny slice of silicon

#5
post #3

The thing about donut.c is that its source code is shaped like a donut, that’s a huge part of its charm. While altering it to use shifts and adds is a fun exercise, since its source code is no longer shaped like the donut it renders, I would argue that a large part of its charm has disappeared and it’s no longer a donut.c

It’s trivial to reformat the source code into a donut shape.

Sometimes it's those trivial changes which add a lot of the overall charm.

Re: From ASCII to ASIC: Porting donut.c to a tiny slice of silicon

#6
Going slightly off topic, I was interested to learn from this blog about Tiny Tapeout, the service they've used to order their custom chip design. The concept for anyone as unfamiliar with it as me is that lots of people pay a few hundred dollars each to get a small part of a chip being made, and once it's made they receive the chip ready to use with their section everyone else's, too, with a way to choose which bit gets run.

I know basically nothing about chip design, and I'm wondering if anyone could tell me: is this only useful for education purposes, for example learning how to make a chip that creates a donut on a screen, or are there people using Tiny Tapeout for useful projects, too?

For each of their chip runs, they publish a list of the different people's projects that got included - https://tinytapeout.com/runs/ - but it's not easy to spot which ones might be more than somebody just learning how to play with chip design.

Essentially, if someone were to pick this up as a hobby, what is the most interesting thing they could make using this?

Re: From ASCII to ASIC: Porting donut.c to a tiny slice of silicon

#7
I've been deeply curious about the sort of speedup you get from doing what was in software, on hardware:

I know the chips hasn't been delivered yet, but, the statements at the beginning re: we can expect a new frame every N nanoseconds, give me hope there's a rough heuristic for what speedup we'd expect in this particular case.

Do we have a rough* understanding of what the speedup will be?

* Within 2 OOMs

Re: From ASCII to ASIC: Porting donut.c to a tiny slice of silicon

#8
post #3

The thing about donut.c is that its source code is shaped like a donut, that’s a huge part of its charm. While altering it to use shifts and adds is a fun exercise, since its source code is no longer shaped like the donut it renders, I would argue that a large part of its charm has disappeared and it’s no longer a donut.c

It’s trivial to reformat the source code into a donut shape.

Non-trivial, IMHO - automating it sounds non trivial, and doing by hand is quite non-trivial, right? We gotta go make hand edits line by line?

Re: From ASCII to ASIC: Porting donut.c to a tiny slice of silicon

#9

Earlier quoted context omitted.

It’s trivial to reformat the source code into a donut shape.

Non-trivial, IMHO - automating it sounds non trivial, and doing by hand is quite non-trivial, right? We gotta go make hand edits line by line?

Considering the language, C and the size of the file, I would not argue it is not trivial. The key feature of donut.c is how small the file actually is.

For something larger or in other languages, or having text strings, certainly not trivial.

Re: From ASCII to ASIC: Porting donut.c to a tiny slice of silicon

#10

I've been deeply curious about the sort of speedup you get from doing what was in software, on hardware: I know the chips hasn't been delivered yet, but, the statements at the beginning re: we can expect a new frame every N nanoseconds, give me hope there's a rough heuristic for what speedup we'd expect in this particular case. Do we have a rough* understanding of what the speedup will be? * Within 2 OOMs

New pixel. Not new frame.
Post reply on HN