Also known as Life, it has the interesting property of being Turing complete, meaning that (mathematically speaking) anything that can be computed algorithmically, can be computed within the game. It was first published in a column in Scientific American in 1970. In the late 1960s, the mathematician John Conway came up with a cellular automata that he named the Game Of Life. This is a blog post about my experience with Verilator, and other things… John Conway Finally I discovered Verilator: a tool that generates C++ code from Verilog modules. While trying to simulate and debug my implementation with Icarus Verilog’s iverilog on my laptop, I quickly grew frustrated with the limitations of the behavioural part of Verilog as a language to build test-benches. Unlike most of the problems before it, I was unable to solve this one by just iterating on the Verilog using the web interface provided by HDLbits. Parallel update (specifically: “game state should advance by one time-step every clock cycle”).A 16x16 grid that wraps around at the edges to provide an infinite (toroidal) surface.One of the most interesting HDLBits problems to implement Conway’s Game Of Life. I found a few tutorials on the web, but didn’t make real progress until I signed up on HDLBits and started working through the exercises. With my confidence re-calibrated and more spare time indoors than expected (due to the COVID-19 lock-down) I decided to go back to basics and learn to build simple digital circuits with the Verilog hardware description language. I acquired some hardware and attempted to build a custom system-on-chip with LiteX, but (despite being a competent Python programmer) I struggled to make good progress because I didn’t properly understand digital design. Toward the end of last year I became interested in FPGAs, in part because it is now possible to target them with an open tool-chain.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |