Como exercício, estou tentando projetar uma implementação do Jogo da Vida de Conway na lógica digital simples. Eu poderia fazer tudo minimizando uma função com 9 variáveis, mas imagino que ainda será bastante grande. Um dos elementos principais do algoritmo é determinar quantos de seus 8 vizinhos estão 'vivos'.
Dadas 8 entradas, qual é a maneira mais fácil de determinar quantas estão definidas? Particularmente, preciso de uma saída alta quando 2 forem definidas e uma saída alta quando 3 forem definidas.
Minha idéia principal agora consiste em um registrador de deslocamento PISO, um contador e um decodificador 3: 8, mas eu praticamente preciso de um microcontrolador para conduzir tudo isso. Não parece tão complicado de uma função. Talvez uma ROM de 256x2 também funcione, mas minhas pesquisas não apareceram nesse tipo de parte.
Eu sei que qualquer foto com 10 IO poderia fazer isso trivialmente, mas eu quero implementá-la da maneira mais mínima possível.