Okay, so Wordle took the net by storm and was ported to a myriad of platforms including retro computers and microcontrollers with tight constraints. But have you played it on raw silicon yet?
After tapeout using the OpenLane flow and the Caravel harness, put the manufactured chip on a board with 6 push buttons, a VGA connector through resistor ladders as well as the usual Caravel requirements (voltage regulator, clock source, flash memory & passives) and start playing.
Sources live in verilog/rtl:
display.vis responsible for showing the game screen. It builds onvga.vfor interfacing with VGA hardware,frame.vfor the screen layout andsquare.vfor rendering individual squares with letters.control.vcontains code for the game logic and its inputs. It useswordlist.vto generate solutions and to check whether words are valid,eval.vto calculate the square colors anddebounce.vto separate real button presses from fake ones.top.vintegrates the two aforementioned parts whileuser_project.vanduser_project_wrapper.vprovide connections to the Caravel harnessfont.memcontains the Apache licensed font Roboto Bold rendered at 38 ptswordlist.memcontains a public domain word listpicks.memcontains indices of a selection of 1000 words to be used as solutions, filtered by removing plurals, past participles, proper nouns and a few obscure words and then sorting by their frequency on the English Wikipedia
