I used python, pytorch, and sympy to try and make neural networks assemble and train to be effective at simple logic gate tasks. When one successfully assembles for a simple task, I "modularize" it to try and make it usable in more complex logic circuits.