top | item 25195802

Verilog to Minecraft Redstone Synthesizer

174 points| parkertomatoes | 5 years ago |github.com

12 comments

order

unsigner|5 years ago

This is so Greg Egan.

(An Australian sci-fi author who likes to layer realities computed/simulated on top of each other - give Diaspora or Permutation City if it sounds like your cup of tea.)

pampa|5 years ago

Speaking of Greg Egan. Is it just me, or is the ending of Diaspora somewhat anticlimactic? There are so many interesting ideas he touches upon without exploring them in depth and then the narrative loses steam and dies of.

cmrdporcupine|5 years ago

This is very cool, and I wonder if I could work something like this into a way to teach my (10 year old) son the basics of digital logic.

In his case I suspect the full syntax of Verilog would be overkill and just add confusion, though. A simpler subset without modules and with only continuous assignment would be ideal.

Gears turning.

imtringued|5 years ago

You can also just let him play with redstone and once he got the hang of the elementary gates then let him play nandgame.

waste_monk|5 years ago

Not sure if it would be suitable for a 10yo, but check out MHRD (on steam or itch.io), you start out with NAND gates and gradually build more complex constructs that you reuse in the following levels, where the final level is a (very simple) CPU. Sort of like the first few parts of Nand2Tetris.

It uses a very simple HDL, has a reasonable IDE built in, and each puzzle is pass/fail based on a test suite so it's easy to get into - however, you only have a certain number of lines on screen in which to write the HDL (and comments), so brute force is not an option for most of the puzzles, you do have to optimise your design to fit the constraints.

lainga|5 years ago

While it may produce the right logic tables, there's a lot of room for optimisation. I'd like to see that. For instance the two repeaters near the end of the 4th trace from bottom in the example image []: obviously they have just been placed at element boundaries to ensure signal propagation, but each one induces a 1-tick delay in that propagation. And you don't need 2 of them so close together, as it seems there's another repeater less than 16 blocks away from the first one. IMO the real art of making gates in MC is twisting them back on themselves so you get as few ticks of delay as possible.

[] https://raw.githubusercontent.com/itsFrank/MinecraftHDL/mast...