My version ofThe Game of Life

on logisim 

on logisim

The project consists of creating a Logisim version of Conway's famous cellular automaton: "Game of Life". The Game of Life is a cellular automaton that simulates the evolution of a population through rules that establish the life, birth and death of each individual. Each cell of a population, passing from the state of life or death, conditions the evolution of the neighboring cells; these interactions cause extremely complex and interesting evolutions even starting from apparently trivial configurations. The idea is to build the world through a 15 x 15 square led matrix in which the individual cells in green through the use of buttons: there will be 15 rows consisting of 15 buttons each, and each row will have an output connected to a storage that will analyze the state of the current cell e of its neighboring cells (if the current cell will be close to the margins of the matrix, in the case there were, they will be considered as cells bordering the cells on the opposite side of the margin). Cells can be in two possible states: live or dead (1 or 0); in our case they will be colored on the green led matrix if it lives, on black vice versa. Two cells are defined as neighboring if they are connected in one of the 8 possible directions (also diagonally). Defined an initial configuration of cells, through input of the buttons by the user, the car but will simulate the evolution of the population of cells. A clock will be connected to the storage that all the cells in the world will be updated simultaneously (I would also like to connect to the clock a step button, to see the evolution with each generation, and a counter to view the total number of configurations). The cell evolution rules are the following:
• a live cell remains alive if there are 2 or 3 neighboring live cells (survival)
• a live cell dies if it borders on less than two live cells (insulation) or with more than 3 cells lives (overcrowding)
• a dead cell with exactly 3 neighboring living cells is born and becomes alive (reproduction)
For these checks I will use adder to analyze the state of the neighboring cells and a sub-circuit (2 or 3) to change the next state of the current cell. There are a huge number of possible configurations (some stable, others oscillating indefinitely).

My Project

Components